Studio OpenAPI berbasis AI yang mengutamakan kerja lokal

API Anda, dari pengembangan lokal
hingga dokumentasi dan AI.

Bantu Codex, Claude Code, dan Cursor menulis kode sesuai definisi API Anda. Di aplikasi desktop Powerduck yang mengutamakan kerja lokal, buat dokumentasi dari kode dan susun pengujian dengan AI. Hosting dokumentasi OpenAPI dan server MCP gratis di Hub.

commerce-api/openapi.yaml OpenAPI 3.1 · berkas lokal
Satu kontrak OpenAPI
/orders
  post  createOrder
  get   listOrders
/products
  get   listProducts
/customers
  get   listCustomers
Dikompilasi menjadi server MCP yang dapat dijalankan · 12 alat yang dapat dipanggil
Agen pemrograman Anda Cursor · Claude Code · Codex
powerduck · MCP server
powerduck.read_spec() 12 operasi ditemukan
powerduck.start_mock("POST /orders") Server mock aktif di port 4010
powerduck.generate_tests("POST /orders") orders.test.js dibuat
powerduck.call_api("POST /orders", {total:49}) 200 OK · terverifikasi sesuai kontrak
powerduck.publish_docs() Dokumentasi referensi diperbarui
Satu berkas OpenAPI dikompilasi menjadi alat yang dipanggil agen Anda: mock, pengujian, panggilan API, dan dokumentasi, semuanya diverifikasi dengan kontrak yang sama.

Pekerjaan lokal tidak memerlukan akun. AI jarak jauh menggunakan layanan model pilihan Anda; hosting online memerlukan akun Cloud.

Editor spesifikasi · Debug API · Uji · Mock · Dokumentasi API · Server MCP

POWERDUCK HUB

Satu spesifikasi OpenAPI. Kembangkan secara lokal. Bagikan secara online.

Kerjakan API di aplikasi desktop. Gunakan Hub untuk berbagi dokumentasi dan menghubungkan alat AI ke API Anda.

  1. 01

    Bangun dan verifikasi

    Desain, debug, dan uji API di Powerduck.

  2. 02

    Publikasikan dari OpenAPI

    Ubah spesifikasi menjadi dokumentasi yang dihosting dan endpoint MCP.

  3. 03

    Bagikan dan hubungkan

    Bagikan tautan dokumentasi, hubungkan klien MCP, dan pilih apakah proyek akan ditampilkan di daftar publik.

Hosting gratis sesuai batas paket. API bisnis Anda tetap berjalan di backend Anda sendiri.

Mengapa Powerduck

Satu berkas lokal menggantikan tumpukan alat API.

Satu YAML OpenAPI di repositori menggerakkan desain, debug, pengujian, mock, dokumentasi, dan MCP. Agen pemrograman juga memakai berkas yang sama.

Satu berkas untuk semua kemampuan

Desain, debug, uji, buat mock, dokumentasikan, dan sediakan MCP dari spesifikasi OpenAPI yang sama agar semuanya tetap selaras.

Cara lain Berkas koleksi, dokumentasi, mock, dan pengujian terpisah
Powerduck Satu YAML menggerakkan semua alat dan agen

Setiap respons diverifikasi berdasarkan kontrak

Respons tidak hanya ditampilkan, tetapi juga diperiksa berdasarkan spesifikasi OpenAPI agar tipe atau jalur yang salah langsung terdeteksi.

Cara lain Mengirim permintaan dan menampilkan respons 200
Powerduck Penyimpangan dari spesifikasi ditandai saat respons diterima

Lokal, tanpa akun, siap untuk agen

Berkas tetap di komputer Anda dan digunakan tanpa akun atau unggahan. Codex, Claude Code, dan Cursor membaca spesifikasi yang sama dengan Anda.

Cara lain Akun cloud dan unggahan diperlukan sebelum mulai
Powerduck Berjalan secara lokal; agen membaca berkas yang sama
~/commerce-api/openapi.yaml OpenAPI 3.1.0 3 masalah belum disimpan
142 /users/{id}:
143 get:
144 operationId: getUser
145 summary: Retrieve a user
146 tags: [Users]
147 parameters:
148 - $ref: '#/components/parameters/UserId'
149 responses:
150 '200':
151 description: The requested user
152 content:
153 application/json:
154 schema:
155 $ref: '#/components/schemas/User'
156 '404': # description is required
157 contents:
158 application/json:
159 schema:
160 $ref: '#/components/schemas/Erorr'
161 delete:
162 summary: Delete a user
Masalah 2 kesalahan · 1 peringatan Divalidasi dengan dialek 3.1
156:9 contents is not a valid Response Object key. Did you mean content? oas3-schema
160:24 Unresolved $ref — schemas/Erorr does not exist. ref-resolution
162:7 Operation has no operationId. It will be skipped when generating MCP tools. operation-operationId
Baris 156, kolom 9 YAML UTF-8 Spasi: 2 3.1.0
Koleksi dari openapi.yaml Impor Postman Pemeriksaan kontrak aktif
GET ▾
{{baseUrl}}/users/{{userId}}?include=profile
Staging ▾
Parameter1 Autentikasibearer Header3 Body Skrip Pengaturan
# GET has no requestBody in the specification — body disabled
# Path parameter id resolved from environment → userId = usr_8Kd2Xa
200 OK 148 ms 1.2 KB Kontrak: 1 ketidakcocokan
Body Header9 Cookie Kontrak1 Linimasa
{
  "id": "usr_8Kd2Xa",
  "email": "ada@example.com",
  "created": 1757030400,
  "profile": {
    "name": "Ada L.",
    "locale": "en-GB"
  },
  "scope": "users:read orders:read"
}
Contract mismatch — response differs from the specification scope is present in the response but is not declared on components/schemas/User. Add the property to the schema or remove it from the handler.
mcp://localhost:7433 berjalan stdio + HTTP

Dihasilkan dari openapi.yaml

6 alat 7 sumber daya 1 menurun Dibuat ulang saat disimpan

Every operation with an operationId becomes a tool. Arguments come from parameters and requestBody. Nothing is hand-written.

POST /auth/login → operationId → loginUser
loginUser

Exchange credentials for a bearer token.

email : string password : string
GET /users/{id} → operationId → getUser
getUser

Retrieve a single user by identifier.

id : string include? : string
POST /orders → operationId → createOrder
createOrder

Create an order for the authenticated customer.

items : array currency : string
POST /orders/{id}/refund → operationId → refundOrder
refundOrder

Refund an order in full or in part.

id : string amount? : integer
14:02:11 watch openapi.yaml changed (line 144)
14:02:11 build parsed 3.1.0 · 11 operations · 14 schemas
14:02:11 build 6 alat, 7 resources · 1 skipped (no operationId)
14:02:12 serve listening on stdio and http://localhost:7433
14:02:31 call getUser { id: "usr_8Kd2Xa" } → 200 in 148 ms
docs.example.dev/reference/users/get Ekspor statis Sinkron dengan spesifikasi

Retrieve a user

GET /v1/users/{id}

Returns the user object for a valid identifier. If the user has been deleted, an Error object is returned with status 404.

Parameter path
id string Wajib
The identifier of the user, prefixed with usr_.
Parameter kueri
include string
Expand a related object.

LIHAT DALAM ALUR KERJA

Ubah pekerjaan rutin menjadi alur berbasis kontrak.

Pilih tugas di bawah. Powerduck menjalankannya dari berkas OpenAPI di komputer Anda, lengkap dengan lingkungan, pengujian, dan mock, tanpa akun atau unggahan.

Bekerja lokal bukan berarti kehilangan fitur.

Ruang kerja API lokal dimulai tanpa akun atau unggahan. Gunakan permintaan, autentikasi, lingkungan, dan asersi Anda. Pilih Cloud saat ingin memublikasikan secara online.

  • Impor cURL / Postman / OpenAPI
  • Autentikasi dan lingkungan
  • Skrip dan asersi
  • Koleksi dan pengujian skenario
  • Server mock lokal
  • Debug 7 protokol

Pekerjaan lokal tidak memerlukan akun. AI jarak jauh menggunakan layanan model pilihan Anda; hosting online memerlukan akun Cloud.

Masih membaca kode sumber untuk memastikan dokumentasi API sudah benar?

Buat dokumentasi dari proyek.

Definisi API yang dapat ditinjau dan tautan dokumentasi lokal.

Lihat pengaturan dan persyaratan

Sudah memberi spesifikasi ke AI, tetapi hasilnya memakai kolom dan jalur yang berbeda?

Implementasikan berdasarkan kontrak API yang sebenarnya.

Implementasi berpanduan kontrak, diperiksa menggunakan respons nyata.

Lihat pengaturan dan persyaratan

Mengulang alur bisnis yang sama secara manual setelah setiap perubahan API?

Jalankan seluruh skenario bisnis.

Hasil per langkah dan asersi yang gagal, bukan sekadar skrip pengujian yang dihasilkan.

Lihat pengaturan dan persyaratan

Berganti alat hanya karena endpoint berikutnya memakai protokol berbeda?

Periksa tujuh protokol di satu tempat.

Kendali manual saat Anda perlu memeriksa apa yang sebenarnya terjadi.

Lihat pengaturan dan persyaratan

Menyalin permintaan dan respons ke chat setiap kali membutuhkan bantuan AI?

Selidiki dengan konteks permintaan nyata.

Diagnosis berdasarkan hasil permintaan, dengan perubahan yang dapat Anda tinjau.

Lihat pengaturan dan persyaratan

Mengelola hosting terpisah hanya untuk berbagi dokumentasi API dan MCP?

Publikasikan dokumentasi dan MCP dari satu API.

Dokumentasi yang dihosting dan URL MCP tanpa mengoperasikan infrastruktur hosting sendiri.

Lihat pengaturan dan persyaratan

MULAI DI KOMPUTER ANDA

Unduh. Bekerja di lingkungan Anda sendiri.

Powerduck adalah ruang kerja API desktop. Buka berkas lokal, kirim permintaan pertama, dan hubungkan agen pemrograman saat Anda siap. Tidak perlu akun untuk memulai.

RUANG KERJA UTAMA

Jadikan ini meja kerja API Anda.

Berkas lokal, pemindaian kode, dan debug protokol native tersedia di sini. Hubungkan model AI pilihan Anda saat membutuhkan bantuan desain, investigasi, atau pengujian.

  1. 1 Unduh aplikasi dan coba contoh lokal — tanpa akun atau kunci model.
  2. 2 Buka berkas OpenAPI atau pindai basis kode yang sudah ada.
  3. 3 Hubungkan agen pemrograman, ubah kode, lalu verifikasi backend nyata berdasarkan kontrak.
Unduh aplikasi desktop

macOS 12+ · Windows 10+ · Linux

INGIN MELIHAT DULU?

Jelajahi sebentar lewat browser.

Demo web menggunakan model cloud bersama dan memerlukan login. Untuk bekerja secara lokal tanpa akun, unduh aplikasi desktop.

Buka aplikasi web

Verifikasi kontrak

Kesalahan kontrak nyata, lalu perbaikan yang terverifikasi

Klien API biasa mengirim permintaan dan menampilkan respons. Powerduck juga memeriksa setiap respons berdasarkan kontrak OpenAPI, sehingga penyimpangan langsung terdeteksi.

Lihat contoh yang dapat dijalankan
~/commerce-api — response check OpenAPI 3.1
Kontrak mengharuskan
total:
  type: number
Backend mengembalikan string
{
  "total": "49.00"
}
/total harus berupa angka — respons tidak memenuhi kontrak
Kembalikan angka
{
  "total": 49
}
Respons sesuai kontrak

Editor spesifikasi OpenAPI

Editor Spesifikasi OpenAPI

Struktur mengikuti spesifikasi yang sebenarnya, bukan menebak dari indentasi. Telusuri jalur dan komponen dalam pohon, lalu perbaiki kesalahan langsung di tempatnya.

  • Validasi sesuai skema. Validasi menggunakan dialek 3.0, 3.1, atau 3.2 yang dinyatakan dalam berkas Anda.
  • Navigasi referensi $ref. Buka definisi, periksa penggunaannya, dan dapatkan saran untuk referensi yang salah ketik.
  • Edit langsung pada berkas. Repositori Anda tetap menjadi sumber acuan.
  • Diagnostik dengan nama aturan. Kegagalan CI dan diagnostik editor menggunakan istilah yang sama.
openapi.yaml 3 masalah
▾ info
▾ paths
 /users
 /users/{id}
 /orders
▾ components
 schemas
 responses
142 /users/{id}:
143 get:
144 operationId: getUser
145 responses:
156 contents:
160 $ref: Erorr
Masalah · 2 kesalahan · 1 peringatan
156:9 contents is not a valid Response Object key
160:24 Unresolved $ref. Closest match: Error
Debug API Pemeriksaan kontrak aktif
▾ Users
 GET listUsers
 GET getUser
▾ Orders
 POST createOrder
GET {{baseUrl}}/users/{{userId}} Kirim
Parameter Autentikasi Body Header
{
  "id": "usr_8Kd2Xa",
  "email": "ada@example.com",
  "scope": "users:read"
}
Contract mismatch — "scope" is not declared on User.

Debug API

Debug API Berdasarkan Spesifikasi

Penyusun permintaan yang familier bagi pengembang, dengan tambahan verifikasi respons berdasarkan kontrak.

  • Koleksi dari jalur dan tag. Tanpa proses impor atau sinkronisasi ulang manual.
  • Pemeriksaan kontrak pada setiap respons. Temukan properti yang tidak dideklarasikan, kolom yang hilang, dan perbedaan tipe langsung pada respons.
  • Lingkungan dan variabel. Gunakan kembali konfigurasi pengembangan dan staging yang sudah ada.
  • Autentikasi dari securitySchemes. Konfigurasi Bearer, kunci API, dan OAuth dimulai dari spesifikasi.

Generator server MCP

Buat Server MCP dari OpenAPI

Spesifikasi Anda sudah memuat definisi alat. Powerduck mengompilasinya menjadi server MCP yang dapat dijalankan dan menunjukkan kolom OpenAPI asal setiap alat.

  • Asal yang jelas. Setiap alat dapat ditelusuri ke operasi, operationId, dan skemanya.
  • Status terbatas dan dilewati terlihat. Metadata yang kurang ditampilkan, bukan diam-diam menghasilkan alat yang tidak lengkap.
  • Dibuat ulang saat disimpan. Ubah spesifikasi dan alat diperbarui tanpa proses build terpisah.
  • Transport lokal. Jalankan melalui stdio atau HTTP untuk agen dan alur kerja lokal.
mcp://localhost:7433 berjalan
Dihasilkan dari openapi.yaml 6 alat 7 sumber daya
GET /users/{id} → operationId
getUser
id: string
POST /orders → operationId
createOrder
items: array
POST /auth/login
loginUser
email, password
DELETE /users/{id}
dilewati
operationId tidak ada
14:02 build 6 tools, 7 resources
14:02 serve listening on :7433
14:03 call getUser → 200
Referensi API Ekspor statis
Users
Ringkasan
Retrieve a user
List users
Update user

Retrieve a user

GET /v1/users/{id}
Returns the user object for a valid identifier.
Parameter path
id · string · required
Nilai kembalian
User · object
curl /users/{id}

{
  "id": "usr_...",
  "email": "ada@..."
}

Generator dokumentasi API

Dokumentasi API dari Kontrak yang Sama

Dokumentasi referensi dibuat langsung dari model OpenAPI. Ekspor sebagai berkas statis dan hosting di mana saja.

  • Tabel parameter dari skema. Penanda wajib, enum, dan deskripsi tetap selaras.
  • Contoh dalam berbagai bahasa. Buat contoh cURL, Node, Python, dan Go dari operasi.
  • Respons dari kontrak nyata. Respons sukses dan kesalahan berasal dari objek yang sama dengan yang divalidasi debugger.
  • Ekspor statis. Tanpa dependensi runtime atau keterikatan pada platform dokumentasi.

Satu sumber acuan

Satu berkas OpenAPI lokal.
Semua kemampuan, bersama AI.

Buka openapi.yaml atau openapi.json secara lokal. Powerduck mengubah kontrak milik Anda menjadi ruang kerja API lengkap. Tanpa impor, konversi, koleksi duplikat, atau salinan cloud. Jelaskan hasil yang diinginkan dengan bahasa sehari-hari, lalu asisten bawaan mengerjakannya melalui langkah yang dapat ditinjau. Berkas yang sama juga terhubung lewat MCP ke agen pemrograman AI.

BUKA SECARA LOKAL
{ }
openapi.yaml
atau openapi.json

Berkas tetap berada di repositori Anda.

01 Editor spesifikasi

Edit, telusuri, dan validasi kontrak yang sebenarnya.

02 Debugger API

Kirim permintaan yang dibuat dari operasi yang sama.

03 Server MCP

Ubah operasi menjadi alat yang siap digunakan agen.

04 Dokumentasi API

Publikasikan dokumentasi dari sumber yang sama.

Powerduck

Lebih dari klien API.
Lebih dari penampil spesifikasi.
Bangun API bersama AI.

Ruang kerja lokal berbantuan AI yang dibangun di seputar berkas OpenAPI itu sendiri.

TANPA CLOUDAnda tidak perlu mengunggah spesifikasi untuk bekerja secara lokal.
TANPA SINKRONISASI MANUALTidak ada materi terpisah yang harus diselaraskan dengan kontrak.
TANPA SALINAN TAMBAHANYAML atau JSON Anda adalah ruang kerjanya.

Pekerjaan lokal, layanan jarak jauh, dan pilihan Anda

Berkas lokal tidak memerlukan akun. AI jarak jauh mengirim konteks terkait ke penyedia yang Anda konfigurasi; publikasi Cloud mengunggah konten yang Anda pilih. Statistik penggunaan opsional dinonaktifkan secara default. Lihat Kebijakan Privasi untuk rincian data dan kontrolnya.

Kebijakan Privasi

Penggunaan lokal tidak memerlukan pembelian Cloud. Versi gratis menyediakan dua slot spesifikasi; hadiah berbagi yang disetujui dapat menambah slot. Lisensi desktop menghapus batas slot. Penyedia model menagih penggunaan kunci Anda sendiri; kredit model yang dihosting dan hosting Cloud terpisah.

Pilih langkah berikutnya.

Bandingkan produk dan harga →

Tanya jawab

Pertanyaan pertama para pengembang

Informasi praktis tentang berkas lokal, versi OpenAPI, pembuatan MCP, dan lisensi.

Apakah Powerduck mengunggah spesifikasi OpenAPI saya?

Berkas lokal tidak memerlukan akun. AI jarak jauh mengirim konteks terkait ke penyedia yang Anda konfigurasi; publikasi Cloud mengunggah konten yang Anda pilih. Statistik penggunaan opsional dinonaktifkan secara default. Lihat Kebijakan Privasi untuk rincian data dan kontrolnya.

Versi OpenAPI apa saja yang didukung?

OpenAPI 3.0, 3.1, dan 3.2. Powerduck mendeteksi versi yang dideklarasikan dan memvalidasi dengan dialek yang sesuai, bukan hanya sekumpulan aturan minimum yang sama.

Bagaimana server MCP dibuat?

Operasi dengan operationId menjadi alat MCP. Argumen berasal dari parameter dan skema requestBody. Skema komponen dapat disediakan sebagai sumber daya. Server yang dihasilkan diperbarui setiap kali spesifikasi berubah.

Apakah lisensi desktop berupa langganan?

Tidak. Powerduck Desktop adalah lisensi permanen yang dibeli sekali. Pembaruan dalam versi mayor yang sama sudah termasuk. Peningkatan ke versi mayor berikutnya tetap opsional.

Bisakah saya tetap menggunakan koleksi Postman?

Ya. Koleksi dan lingkungan yang sudah ada tetap dapat digunakan. Powerduck menjadikan spesifikasi OpenAPI sebagai kontrak acuan dan membantu menemukan permintaan yang menyimpang darinya.

Apakah dapat digunakan di CI?

Ya. Mesin validasi dan pembuatan yang sama tersedia melalui @powerduck/openapi-cli — alat baris perintah siap CI yang berjalan saat pull request dan dalam pipeline otomatis. Mendukung pengujian batch untuk 6 protokol (HTTP, SSE, WebSocket, gRPC, MCP, GraphQL), konkurensi yang dapat diatur, serta laporan kompatibel JUnit untuk integrasi CI.

Jelajahi openapi-cli →