{"id":34933363,"url":"https://github.com/trueleaf/apiflow","last_synced_at":"2026-04-01T19:21:58.735Z","repository":{"id":37289706,"uuid":"301140782","full_name":"trueleaf/apiflow","owner":"trueleaf","description":"A modern API workspace that works both online and offline — combining API documentation, testing, mock, and AI-powered automation in one lightweight tool","archived":false,"fork":false,"pushed_at":"2026-03-20T04:23:57.000Z","size":101774,"stargazers_count":576,"open_issues_count":5,"forks_count":91,"subscribers_count":12,"default_branch":"main","last_synced_at":"2026-03-20T20:55:03.412Z","etag":null,"topics":["api","api-management","api-manager","api-test","apiflow","restful","vue-electron"],"latest_commit_sha":null,"homepage":"https://apiflow.cn","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trueleaf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-10-04T13:48:53.000Z","updated_at":"2026-03-19T13:41:52.000Z","dependencies_parsed_at":"2024-10-18T00:25:07.047Z","dependency_job_id":"33b07a51-00b6-4fec-b110-3327627fb5e8","html_url":"https://github.com/trueleaf/apiflow","commit_stats":null,"previous_names":["trueleaf/moyu"],"tags_count":61,"template":false,"template_full_name":null,"purl":"pkg:github/trueleaf/apiflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trueleaf%2Fapiflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trueleaf%2Fapiflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trueleaf%2Fapiflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trueleaf%2Fapiflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trueleaf","download_url":"https://codeload.github.com/trueleaf/apiflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trueleaf%2Fapiflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-management","api-manager","api-test","apiflow","restful","vue-electron"],"created_at":"2025-12-26T17:33:26.754Z","updated_at":"2026-04-01T19:21:58.719Z","avatar_url":"https://github.com/trueleaf.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![logo](./docs/logo.jpg)\n\n# Apiflow\n\n## A Free, AI-Powered API Tool like Postman\n\n[中文](./README_CN.md) | English\n\n[![GitHub Release](https://img.shields.io/github/v/release/trueleaf/apiflow?style=flat-square)](https://github.com/trueleaf/apiflow/releases/latest)\n[![License](https://img.shields.io/github/license/trueleaf/apiflow)](https://github.com/trueleaf/apiflow/blob/master/LICENSE)\n[![Downloads](https://img.shields.io/github/downloads/trueleaf/apiflow/total)](https://github.com/trueleaf/apiflow/releases/latest)\n\n[Download](https://github.com/trueleaf/apiflow/releases)  | [Online Demo](https://apiflow.cn/)\n\n\n\u003c!-- [Download](https://github.com/trueleaf/apiflow/releases) ·\n[Online Demo](https://apiflow.cn) --\u003e\n\u003c!-- [Documentation](https://www.yuque.com/apiflow) · --\u003e\n\n\u003c/div\u003e\n\n---\n# Preview\n\n## AI Agent\n![AI Agent](./docs/en/agent.gif)\n\n## Server-Sent Events (SSE)\n![SSE](./docs/en/sse.gif)\n\n---\n# What is Apiflow?\n\n**Apiflow** is a **completely free**, **AI-powered API development platform** designed as a modern alternative to **Postman**, **Hoppscotch**, and **Insomnia**.\n\nIt supports **API testing**, **mocking**, **WebSocket**, **AI agents**, **team collaboration**, **offline usage**, and **local deployment** — while fully embracing the **OpenAPI 3.0 ecosystem**.\n\n---\n\n# Key Features\n\n## 100% Free\n- All features are free to use\n- No paid plans, no feature limits\n\n## AI Agent Built-In\n- Built-in AI Agent for API design, testing and debugging\n- Configure your own Large Language Model\n- Works in offline or intranet environments\n\n## Team Collaboration\n\n- Built-in team and workspace management\n- **Unlimited teams and members**\n- Fine-grained permission control:\n  - Project-level permissions\n  - Role-based access control (RBAC)\n  - Read / write / admin roles\n- Operation history and change tracking\n- Designed for teams of any size\n\n## Offline \u0026 Online\n\n- Local-first by design, online when you need it\n- Full offline capability with local persistence\n- Bidirectional conversion between offline and online data\n- Smooth transition from personal usage to team collaboration\n- Ideal for private networks and restricted environments\n\n\n## Self-Hosted \u0026 Local Deployment\n- One-click Docker deployment\n- Data fully controlled by yourself\n- Suitable for enterprises and private networks\n\n## OpenAPI Friendly\n- Import \u0026 export **OpenAPI 3.x**\n- Seamlessly migrate data to:\n  - Postman\n  - Insomnia\n  - Hoppscotch\n  - Any OpenAPI-compatible tool\n\n---\n\n# Core Capabilities\n\n- HTTP API testing (RESTful)\n- WebSocket testing\n- Mock Server (HTTP / WebSocket / SSE)\n- Environment \u0026 variable system\n- Pre-request \u0026 post-request scripts\n- Project \u0026 folder management\n- Import / Export (Postman, OpenAPI, JSON)\n- Internationalization (EN / ZH / JA)\n\n---\n\n\n\n# Download\n\nDownload the latest version for your platform:\n\n| Platform | Download |\n|---------|----------|\n| Windows | https://github.com/trueleaf/apiflow/releases |\n| macOS | https://github.com/trueleaf/apiflow/releases |\n| Linux | https://github.com/trueleaf/apiflow/releases |\n\n\n---\n\n# Local Deployment\n\n## Server Deployment\n\n### Docker Deployment\n\n#### Requirements\n- Docker\n- Docker Compose\n\n#### First Deployment\n\n```bash\ngit clone https://github.com/trueleaf/apiflow\ncd apiflow\n\ncp .env.example .env\n# edit .env to configure MongoDB credentials\n\ndocker compose pull\ndocker compose up -d\n\n# Verify deployment\ncurl http://localhost\ncurl http://localhost/api/health\n```\n\n#### Adding Users After Deployment\n\nAfter successfully deploying Apiflow, follow these steps to add users:\n\n1. **Switch to Internet Mode**\n   - Click the network mode toggle in the application (usually in the top-right corner)\n   - Select \"Internet Mode\" to enable online features\n\n2. **Login with Default Admin Account**\n   - Username: `admin`\n   - Default Password: `111111`\n   - **Important**: Change the default password after first login for security\n\n3. **Add New Users**\n   - Navigate to the admin panel/backend management\n   - Find the user management section\n   - Click \"Add User\" to create new accounts for your team members\n\n#### Code Update\n\nIf you are running Apiflow with Docker, updating the code does not require rebuilding locally.\n\n**Option 1: Using Update Script (Recommended)**\n\n```bash\n# Make scripts executable (first time only)\nchmod +x update.sh rollback.sh\n\n# Run update\n./update.sh\n```\n\n**Option 2: Manual Update**\n\n```bash\ndocker compose down\ndocker compose pull\ndocker compose up -d\n```\n\n**Rollback (recommended: snapshot-based rollback)**\n\n```bash\n# Option 1: rollback to the latest snapshot created by update.sh (recommended)\n./rollback.sh --previous\n\n# Option 2: rollback to a specified snapshot file (recommended)\n./rollback.sh --file current_versions_20260122_120000.txt\n\n# Option 3: compatibility mode, rollback by tag/sha (not guaranteed to be exact, for emergencies)\n./rollback.sh v1.2.3\n# ./rollback.sh 7f3a2b1c4d5e\n```\n\n## Client Build\n\nAfter deploying with Docker you can access the system directly via browser. If you want to use the full desktop experience, follow the steps below to build the client.\n\n### Prerequisites\n- **Node.js**: \u003e= 22.0.0\n- **macOS**: Xcode Command Line Tools required (`xcode-select --install`)\n- **Linux**: `fakeroot` and `dpkg` for `.deb`; `rpm` for `.rpm` packages\n- Each platform's installer can only be built on its native OS (no cross-platform compilation)\n\n#### Step 1: Speed up downloads (optional)\n\nEdit the `.npmrc` file in the project root and uncomment the following lines (remove the leading `#`):\n\n```properties\nELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/\nELECTRON_BUILDER_BINARIES_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/\n```\n\n#### Step 2: Clone the repository and install dependencies\n\n```bash\ngit clone https://github.com/trueleaf/apiflow.git\ncd apiflow\nnpm install\n```\n\n#### Step 3: Modify configuration (as needed)\n\nEdit `packages/web/src/config/config.ts` and adjust the following settings as required:\n\n```typescript\n// Change the backend server URL\n// Default points to the official server; replace with your own when self-hosting\nhttpRequest: {\n  url: isDev ? 'http://127.0.0.1:7001' : 'https://your-server.example.com',\n  // ...\n},\n```\n\n\u003e **Note:** After packaging, the server URL can also be updated at any time in the app via **Settings → App Config → API Endpoint**, without needing to repackage.\n\n#### Step 4: Run the build command for your platform\n\n```bash\n# Windows\nnpm run web:build:local:win\n\n# macOS\nnpm run web:build:local:mac\n\n# Linux\nnpm run web:build:local:linux\n\n# Quick verification only (extract to directory, no installer, fastest)\nnpm run web:build:local:pack\n```\n\n\u003e **Tip (Windows):** If the build command fails on Windows, try running the terminal as Administrator and execute the command again.\n\n### Build Commands\n\n| Command | Description |\n|---------|-------------|\n| `npm run web:build:local:pack` | Quick verification: extract to directory only, no installer, fastest option |\n| `npm run web:build:local:win` | Build Windows installer (`.exe` NSIS) |\n| `npm run web:build:local:mac` | Build macOS installer (`.dmg` + `.zip`, x64/arm64) |\n| `npm run web:build:local:linux` | Build Linux packages (`.AppImage` + `.deb`, x64/arm64) |\n\n### Output Directory\n\nBuild artifacts are located in `packages/web/release/`.\n\n---\n\n# Local Development\n\n## Prerequisites\n- **Node.js**: \u003e= 22.0.0\n- **MongoDB**: Running locally or accessible remotely\n- **Git**: For cloning the repository\n\n## Getting Started\n\n1. **Clone the repository**\n\n```bash\ngit clone https://github.com/trueleaf/apiflow.git\ncd apiflow\nnpm install\n```\n\n2. **Start development servers**\n\n```bash\nnpm run dev\n```\n\nThis command will start both the frontend and backend servers concurrently:\n- **Frontend (Web)**: http://localhost:4000\n- **Backend (Server)**: http://localhost:7001\n\n## Available Commands\n\n| Command | Description |\n|---------|-------------|\n| `npm run dev` | Start both frontend and backend in development mode |\n| `npm run dev:web` | Start only the frontend |\n| `npm run web:dev` | Start only the frontend (alternative) |\n| `npm run server:dev` | Start only the backend |\n| `npm run web:build` | Build the web application |\n| `npm run server:build` | Build the server application |\n| `npm run server:test` | Run server unit tests |\n| `npm run bootstrap` | Install all dependencies |\n\n## Project Structure\n\nThis is a multi-package monorepo:\n\n- `packages/web` - Frontend application (Vite + Vue 3 + Electron)\n- `packages/server` - Backend application (Midway.js + MongoDB)\n- `packages/website` - Marketing website (Next.js)\n\n## Development Tips\n\n- Ensure MongoDB is running before starting the server\n- The frontend supports hot module replacement (HMR) for fast development\n- Backend auto-restarts when files change\n- You can develop packages independently by running their specific dev commands\n\n---\n\n# License\n\nThis project is licensed under the **MIT License**.  \nSee the [LICENSE](./LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrueleaf%2Fapiflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrueleaf%2Fapiflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrueleaf%2Fapiflow/lists"}