Skip to content
trueleafPublic

About

A modern API workspace that works both online and offline — combining API documentation, testing, mock, and AI-powered automation in one lightweight tool

Topics

Resources

Stars

641 stars

Watchers

11 watching

Forks

Repository files navigation

logo

Apiflow

A Free, AI-Powered API Tool like Postman

中文 | English

GitHub Release License Downloads

Download | Online Demo


Preview

AI Agent

AI Agent

Server-Sent Events (SSE)

SSE


What is Apiflow?

Apiflow is a completely free, AI-powered API development platform designed as a modern alternative to Postman, Hoppscotch, and Insomnia.

It supports API testing, mocking, WebSocket, AI agents, team collaboration, offline usage, and local deployment — while fully embracing the OpenAPI 3.0 ecosystem.


Key Features

100% Free

  • All features are free to use
  • No paid plans, no feature limits

AI Agent Built-In

  • Built-in AI Agent for API design, testing and debugging
  • Configure your own Large Language Model
  • Works in offline or intranet environments

Team Collaboration

  • Built-in team and workspace management
  • Unlimited teams and members
  • Fine-grained permission control:
    • Project-level permissions
    • Role-based access control (RBAC)
    • Read / write / admin roles
  • Operation history and change tracking
  • Designed for teams of any size

Offline & Online

  • Local-first by design, online when you need it
  • Full offline capability with local persistence
  • Bidirectional conversion between offline and online data
  • Smooth transition from personal usage to team collaboration
  • Ideal for private networks and restricted environments

Self-Hosted & Local Deployment

  • One-click Docker deployment
  • Data fully controlled by yourself
  • Suitable for enterprises and private networks

OpenAPI Friendly

  • Import & export OpenAPI 3.x
  • Save completed JSON, text, and empty HTTP responses as named examples, including their status codes and content types
  • Include multiple examples for the same status code in offline OpenAPI exports
  • Preserve folder grouping and URL prefixes when importing OpenAPI documents
  • Seamlessly migrate data to:
    • Postman
    • Insomnia
    • Hoppscotch
    • Any OpenAPI-compatible tool

Core Capabilities

  • HTTP API testing (RESTful) with connection pooling and keep-alive reuse
  • WebSocket testing
  • Mock Server (HTTP / WebSocket / SSE)
  • Environment & variable system
  • Pre-request & post-request scripts
  • Project & folder management
  • Import / Export (Postman, OpenAPI, JSON)
  • Internationalization (EN / ZH / JA)

Download

Download the latest version for your platform:

Platform Download
Windows https://github.com/trueleaf/apiflow/releases
macOS https://github.com/trueleaf/apiflow/releases
Linux https://github.com/trueleaf/apiflow/releases

Desktop releases from v0.9.82 use Tauri and Rust. When upgrading from an Electron-based release, back up your local data using Settings → Local Data → Data Backup / Export, then install the new package and restore the backup in the new client. Download the installer directly for this transition; the new client uses a signed Tauri update feed.


Local Deployment

Server Deployment

Docker Deployment

Requirements

  • Docker
  • Docker Compose

First Deployment

git clone https://github.com/trueleaf/apiflow
cd apiflow

cp .env.example .env
# edit .env to configure MongoDB credentials

docker compose pull
docker compose up -d

# Verify deployment
curl http://localhost
curl http://localhost/api/health

Adding Users After Deployment

After successfully deploying Apiflow, follow these steps to add users:

  1. Switch to Internet Mode

    • Click the network mode toggle in the application (usually in the top-right corner)
    • Select "Internet Mode" to enable online features
  2. Login with Default Admin Account

    • Username: admin
    • Default Password: 111111
    • Important: Change the default password after first login for security
  3. Add New Users

    • Navigate to the admin panel/backend management
    • Find the user management section
    • Click "Add User" to create new accounts for your team members

Code Update

If you are running Apiflow with Docker, updating the code does not require rebuilding locally.

Option 1: Using Update Script (Recommended)

# Make scripts executable (first time only)
chmod +x update.sh rollback.sh

# Run update
./update.sh

Option 2: Manual Update

docker compose down
docker compose pull
docker compose up -d

Rollback (recommended: snapshot-based rollback)

# Option 1: rollback to the latest snapshot created by update.sh (recommended)
./rollback.sh --previous

# Option 2: rollback to a specified snapshot file (recommended)
./rollback.sh --file current_versions_20260122_120000.txt

# Option 3: compatibility mode, rollback by tag/sha (not guaranteed to be exact, for emergencies)
./rollback.sh v1.2.3
# ./rollback.sh 7f3a2b1c4d5e

Client Build

After 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.

Prerequisites

  • Node.js: >= 22.12.0
  • Rust: >= 1.85 with the native toolchain for your target platform
  • macOS: Xcode Command Line Tools required (xcode-select --install)
  • Linux: WebKitGTK 4.1, AppIndicator, OpenSSL development packages, patchelf, fakeroot and dpkg
  • Each platform's installer can only be built on its native OS (no cross-platform compilation)

Step 1: Speed up downloads (optional)

If npm downloads are slow, uncomment the registry line in the root .npmrc:

registry=https://registry.npmmirror.com

Step 2: Clone the repository and install dependencies

git clone https://github.com/trueleaf/apiflow.git
cd apiflow
npm install

Step 3: Modify configuration (as needed)

Edit packages/web/src/config/config.ts and adjust the following settings as required:

// Change the backend server URL
// Default points to the official server; replace with your own when self-hosting
httpRequest: {
  url: isDev ? 'http://127.0.0.1:7001' : 'https://your-server.example.com',
  // ...
},

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.

Step 4: Run the build command for your platform

# Windows
npm run web:build:local:win

# macOS
npm run web:build:local:mac

# Linux
npm run web:build:local:linux

# Quick verification only (build the native binary without an installer)
npm run web:build:local:pack

# Microsoft Store MSIX (requires Windows SDK)
npm run web:build:local:win:store

Tip (Windows): Install the Windows SDK to build MSIX packages. The Store package includes the official WebView2 fixed runtime.

Build Commands

Command Description
npm run web:build:local:pack Build the Tauri binary without an installer
npm run web:build:local:win Build Windows NSIS .exe and MSI .msi installers
npm run web:build:local:win:store Build a Microsoft Store .msix package
npm run web:build:local:mac Build macOS bundles on macOS
npm run web:build:local:linux Build Linux packages on Linux

Output Directory

Tauri installers are located in packages/web/src-tauri/target/release/bundle/. Microsoft Store packages are written to packages/web/release/.

For tagged releases, configure the repository secret TAURI_SIGNING_PRIVATE_KEY and variable TAURI_UPDATER_PUBLIC_KEY before running .github/workflows/build-tauri.yml. Set TAURI_SIGNING_PRIVATE_KEY_PASSWORD if the key is encrypted. The tag must match v plus packages/web/package.json's version. The workflow uploads signed installers and MSIX packages as Actions artifacts. After verification, upload the installers and their signatures to a draft GitHub Release, generate latest.json from the signed artifacts, then publish the release. Submit MSIX packages to Partner Center separately.

To rebuild an existing release tag after a workflow fix, run Build Tauri from the main branch and set release_tag to that tag (for example, v0.9.82). All verification and packaging jobs check out the selected tag.


Local Development

Prerequisites

  • Node.js: >= 22.12.0
  • MongoDB: Running locally or accessible remotely
  • Git: For cloning the repository

Getting Started

  1. Clone the repository
git clone https://github.com/trueleaf/apiflow.git
cd apiflow
npm install
  1. Start development servers
npm run dev

This command will start both the frontend and backend servers concurrently:

Available Commands

Command Description
npm run dev Start both frontend and backend in development mode
npm run dev:web Start the browser-only frontend
npm run web:dev Start the Tauri desktop frontend
npm run server:dev Start only the backend
npm run web:build Build the web application
npm run server:build Build the server application
npm run server:test Run server unit tests
npm run bootstrap Install all dependencies

Project Structure

This is a multi-package monorepo:

  • packages/web - Web and Tauri desktop application (Vite + Vue 3 + Rust)
  • packages/server - Backend application (Midway.js + MongoDB)
  • packages/website - Marketing website (Next.js)

Development Tips

  • Ensure MongoDB is running before starting the server
  • The frontend supports hot module replacement (HMR) for fast development
  • Backend auto-restarts when files change
  • You can develop packages independently by running their specific dev commands

License

This project is licensed under the MIT License.
See the LICENSE file for details.

About

A modern API workspace that works both online and offline — combining API documentation, testing, mock, and AI-powered automation in one lightweight tool

Topics

Resources

Stars

641 stars

Watchers

11 watching

Forks

Releases

Packages

Contributors

Languages