English ยท ็ฎไฝไธญๆ ยท ็น้ซไธญๆ
API Manager is an API documentation, testing, and Mock workbench built with Tauri 2 (Rust + React) and a Postman-inspired layout. Directories are collections and every API is a single JSON file, so your interface definitions can be reviewed, versioned and shared with Git right next to your code.
๐ Trilingual UI (็ฎไฝไธญๆ / ็น้ซไธญๆ / English) ยท ๐ฅ๏ธ Windows / macOS / Linux ยท ๐ฆ Open source (MIT)
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- ๐ Directories as collections โ pick a working directory when launching the app; the folder tree is your API collection, one group per directory
- ๐ One API per JSON file โ API definition, request parameters, Mock data and examples are all plain JSON files, Git-friendly by nature
- ๐ Versioning โ save multiple snapshots per API, diff two versions side by side, and roll back to any historical version
- ๐ VCS aware โ detects
.git/.svnin the workspace and offers one-click sync / commit & push from the title bar (remotes are configured in Settings โ Remote Sync) - ๐ Search & advanced search โ find APIs by name or path, or narrow down by protocol type and HTTP method
- โญ Favorites โ right-click an API โ Favorite to collect it in the Favorites view (drag-and-drop ordering, dedicated editor pane)
- ๐งช Send requests โ GET / POST / PUT / DELETE / PATCH / HEAD / OPTIONS; inspect status code, latency, size, headers and body, with JSON syntax highlighting and one-click JSON / XML formatting
- ๐ path params / Query / Headers / Body fully supported (Body modes: raw / JSON / XML / form / binary file)
- ๐งฉ Template variables โ
{param}path templates plus{{path.id}},{{query.page}},{{method}},{{path}}and{{variable}}globals, resolved in URL / Headers / Query / Body / Mock response - ๐ Request history โ every request is recorded automatically; re-run it or refill it into the editor with one click
- ๐ Request examples โ save a request + response snapshot as a named example, apply it back onto the API, or export all examples of one API as a single
.httpfile - โ๏ธ Batch edit โ Query / Headers / Body(form) tabs accept
key: valuelines, one per line, and preserve the enabled state of matching rows
- ๐ Create APIs over HTTP / WebSocket / Socket.IO / GraphQL / WebDAV / MCP / TCP / UDP / MQ โ one workspace, one tree, one history for every protocol
- ๐ WebSocket / Socket.IO โ connect, send messages and watch the incoming frame/event log in real time
- ๐งฎ GraphQL โ query document plus variables editor
- ๐๏ธ WebDAV โ the WebDAV methods
PROPFIND/PROPPATCH/MKCOL/COPY/MOVE/LOCK/UNLOCK/REPORTare available next to the standard HTTP methods - ๐ค MCP โ call an MCP endpoint over HTTP with the same request builder and response viewer
- ๐ฆ TCP / UDP โ packet editor with field definitions (name / type / length / value) and a built-in packet inspector
- ๐จ MQ โ Kafka / RabbitMQ / RocketMQ / ActiveMQ / ZeroMQ / Pulsar / NATS plus MQTT / MQTT brokers (MQTT / EMQX / HiveMQ / Mosquitto / NanoMQ / VerneMQ): keep the connection config and topic, then generate producer / consumer code (10+ languages); the tree shows the icon of the selected message broker
- ๐ญ One-click local Mock server (default port 5050) โ automatically scans every API with Mock enabled and serves it locally
- โ๏ธ Per-API Mock config โ status code, response headers, delay, and a template body
- ๐งฉ Template support โ
{{path.id}}/{{query.page}}/{{method}}/{{path}}and global{{variable}}placeholders are resolved per request - ๐ No backend needed โ front-end work can start before the real API exists
- ๐ API docs โ a built-in documentation view that derives parameters (types, nested fields, descriptions) from the request config and Mock body, supports manual overrides, and can be exported as Markdown
- โ๏ธ Markdown description editor (Vditor) โ the API Description tab is a full Markdown editor with instant preview and a highlighted read mode; all Vditor assets are bundled locally, so it works completely offline
- ๐ท๏ธ apiDoc comments โ inspect the apiDoc annotations of an API, and preview Markdown documents inside the workspace
- ๐ค One-click export (28 formats) โ Postman Collection, OpenAPI 3.0 (JSON and YAML โ YAML is the default format), Apifox, Apipost, Apizza, Bruno, Insomnia, Hoppscotch, YApi, Eolink, NEI, Doclever, EasyDoc, Docway, io-docs, MeterSphere, Rap2, JMeter, apiDoc, Apidog, RAML, WADL, HAR, and documentation sites (Docsify / MkDocs / Markdown / HTML)
- ๐ฅ Multi-format import (26 formats) โ Postman Collection, OpenAPI / Swagger (JSON & YAML), Markdown, Apifox, Apipost, cURL and many more; which entries appear in the import menu is configurable in Settings โ Import
- ๐ Collection variables migrate automatically โ importing a Postman Collection merges its top-level
variablearray into an environment set with the same name
- ๐ฆ Object manager โ manage data structures as groups + objects; properties support type, referenced object, Mock value and description; import from JSON or SQL
CREATE TABLE; generate code in multiple languages and MySQL DDL in one click - ๐ฒ Data generation โ batch-generate test data from an object's properties (JSON / SQL / CSV) with a custom table name, record count and export directory
- ๐งพ Generation logs โ every run records elapsed time and file size, and can be re-generated with one click
- ๐งฌ Code generation โ request code for 20+ languages / frameworks (curl, JavaScript, Python, Java, Go, Rust, โฆ)
- ๐ Global environment variables โ switch dev / test / prod with one click;
{{variable}}placeholders are replaced in URL / Headers / Query / Body / Mock responses (see Global Environment Variables) - โจ๏ธ Global shortcuts โ 9 fully rebindable shortcuts for view switching, import/export, settings and environments (see Keyboard Shortcuts); record a new key combination in Settings โ Shortcuts
- ๐๏ธ Postman-style layout โ API tree on the left (search, groups, CRUD, duplicate), request editor in the middle, response panel below, all panels resizable
- ๐ Statistics โ API counts, Mock usage and request-method distribution per group / workspace
- ๐ฅ๏ธ System tray โ closing the window minimizes to tray; the tray menu can show/hide the window, start/stop Mock, switch the display mode and language, check for updates, or quit
- ๐ Update check โ checks GitHub Releases on startup and offers a one-click jump to the download page
- โน๏ธ About tab โ Settings โ About renders the whole tech stack (Tauri / Rust / React / TypeScript / Vite โฆ) as shields.io badges plus the full open-source component list (name, version, jump link); badges degrade to text labels when offline
- ๐จ Themes โ dark / light / follow system, applied instantly
- ๐ Trilingual UI โ ็ฎไฝไธญๆ / ็น้ซไธญๆ / English, switchable at any time
All packages are built by GitHub Actions for every release and published on the Releases page.
| Platform | Packages |
|---|---|
| Windows | API.Manager_1.0.0_x64-setup.exe (NSIS) ยท API.Manager_1.0.0_x64_en-US.msi ยท API.Manager_1.0.0_x64_portable.exe (standalone, no install) |
| macOS | API.Manager_1.0.0_x64.dmg (Intel) ยท API.Manager_1.0.0_aarch64.dmg (Apple Silicon) |
| Linux | API.Manager_1.0.0_amd64.AppImage ยท API.Manager_1.0.0_amd64.deb ยท API.Manager-1.0.0-1.x86_64.rpm |
On Windows you can also build a single portable
api-manager.exeyourself โ see Development & Build.
Defaults (all of them can be rebound in Settings โ Shortcuts; on macOS use Cmd instead of Ctrl):
| Shortcut | Action |
|---|---|
| Ctrl+A | Switch to the API management view |
| Ctrl+O | Switch to the Object management view |
| Ctrl+H | Switch to the Request history view |
| Ctrl+G | Switch to the Data generation logs view |
| Ctrl+F | Switch to the Favorites view |
| Ctrl+E | Open the Export dialog (switches to the API view first) |
| Ctrl+I | Open the Import menu (switches to the API view first) |
| Ctrl+S | Open the Settings dialog (press again to close) |
| Ctrl+M | Open the Environment management dialog (press again to close) |
- Shortcuts are ignored while typing in an input / textarea / contenteditable element, and never switch the view behind an open dialog
- Recording a new shortcut: open Settings โ Shortcuts, click the key button of a row and press the combination; Esc cancels, Backspace / Delete clears the binding,
โบrestores the default of one row, and Restore all defaults resets everything - Conflicting bindings are flagged with a โ badge; the first matching action wins
workspace/
โโโ __info.json # root description (collection info)
โ # fields: name, description, baseUrl, mockPort
โโโ __envs.json # global environment variables (optional)
โ # fields: active, environments[{name, variables[]}]
โโโ user-management/ # group = directory
โ โโโ __info.json # group description: name, description, order
โ โโโ get-user.json # one API = one JSON file
โ โโโ create-user.json
โโโ order-management/
โโโ __info.json
โโโ list-orders.json
{
"name": "่ทๅ็จๆทไฟกๆฏ",
"method": "GET",
"path": "/api/users/{id}",
"url": "",
"description": "ๆ นๆฎ็จๆท ID ่ทๅ็จๆทไฟกๆฏ",
"headers": [{ "key": "Authorization", "value": "Bearer xxx", "enabled": true, "description": "" }],
"query": [{ "key": "page", "value": "1", "enabled": true, "description": "" }],
"params": [{ "key": "id", "value": "1001", "enabled": true, "description": "็จๆท ID" }],
"body": { "mode": "json", "raw": "{ ... }", "form": [] },
"mock": {
"enabled": true,
"status": 200,
"headers": [],
"delay": 200,
"body": "{ \"code\": 0, \"data\": { \"id\": \"{{path.id}}\" } }"
},
"examples": []
}When
urlis empty, the request URL = root__info.jsonbaseUrl+path; whenurlis set, it takes priority.
{{path.id}}โ path parameter (matches{id}in path){{query.page}}โ Query parameter{{method}}โ request method{{path}}โ full path{{variable}}โ global environment variable (from the active environment;path/method/path.*/query.*are reserved for system variables)
The environment dropdown in the toolbar switches the active environment; click ๐ to open environment management, split into two dialogs:
โ Environment set management: create full variable sets, reorder by drag-and-drop; right-click a set name to edit (rename) / duplicate / delete โ multiple sets (e.g. dev / test / prod) can coexist. โก Variable value management: select a set, click "โ ็ฎก็ๅ้ๅผ" to add / edit / delete variables within it. Each variable has a current value, a default value (used automatically when the current value is empty), and a description.
- When sending requests,
{{variable}}in URL / Headers / Query / Body is replaced with the active environment's value - Mock response bodies support
{{variable}}too (applied after starting/refreshing the Mock server) - Configuration is stored in
__envs.jsonat the workspace root and can be version-controlled with Git
Example: set baseUrl in __info.json to {{baseUrl}} and the request target changes when you switch environments.
Postman import: when importing a Collection, the top-level
variablearray is merged by key into the environment set with the same name (created if missing, named after the collection; auto-activated if no environment is active) โ no manual entry needed.
Settings (Ctrl+S) is organized into 12 tabs:
| Tab | What it configures |
|---|---|
| ๐ Workspace | Workspace name and path |
| ๐ Language | ็ฎไฝไธญๆ / ็น้ซไธญๆ / English |
| ๐จ Appearance | Dark / light / follow system, panel preview |
| ๐ฆ Versions | Version snapshot toggle |
| ๐ก๏ธ Mock Server | Local Mock switch and port |
| ๐ป Code Generation | Default language for generated request code |
| ๐ค Export | Default export format + which formats show up in the export dialog |
| ๐ฅ Import | Which formats show up in the import menu |
| ๐งพ Default Headers | Headers automatically attached to new APIs |
| โจ๏ธ Shortcuts | Record / reset the global shortcuts |
| ๐ Remote Sync | Git / SVN remote sync options |
| โน๏ธ About | App version, project links, tech-stack badges and the open-source component list |
- Clicking the window close button hides the app to the tray (the app keeps running)
- Left-click the tray icon: show the window; right-click: menu
- Tray menu: show window / hide window / startยทstop Mock server / check for updates / display mode / language (single submenu, check to switch) / quit
- The Mock menu item text updates with the Mock server status
- Node.js โฅ 18
- Rust (Windows MSVC toolchain)
- WebView2 (bundled with Windows 10/11)
- just (command runner)
Common Commands (justfile)
just init # install dev prerequisites (Rust toolchain + Node.js)
just dev # run in dev mode (frontend HMR + Rust dev)
just test # run all tests (Rust unit tests + frontend type check + frontend build)
just build # full package: exe + NSIS / MSI installer (optional)
just release # build the standalone executable and collect it into ./release/ (no install needed)
just exe # build only the release executable (fast)
just tsc # frontend type check
just check # Rust compile check
just icon # regenerate app icons (ultramarine theme)
just clean # clean build artifacts
just push "msg" # commit and push to remote
just # list all commandsThe justfile supports both Windows (cmd) and WSL (bash). If Chinese arguments look garbled on a Windows console, run
chcp 65001first to switch to UTF-8.
just releaseoutput:release/api-manager.exeโ a standalone executable; no installation needed, copy it to any Windows machine and run (Win10/11 ships the WebView2 runtime)just build(optional) output:src-tauri/target/release/bundle/nsis/API Manager_1.0.0_x64-setup.exeโ NSIS installer;bundle/msi/API Manager_1.0.0_x64_en-US.msiโ MSI
just testOpen the app, pick an empty directory as the workspace, and the "Generate demo cases" prompt can create the sample groups (user management, order management, ...) with built-in Mock enabled.
| Layer | Stack |
|---|---|
| Desktop shell | |
| Frontend | |
| Backend (Rust) | |
| Data & protocols | |
| Editor & highlighting | |
| Tooling |
- Theme color: Ultramarine
#2E59A7 - Every dependency and its declared version is also listed inside the app: Settings โ About
MIT ยฉ bluefrog
















