# apiflow **Repository Path**: wildsell/apiflow ## Basic Information - **Project Name**: apiflow - **Description**: 企业级开源接口文档管理工具 - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: main - **Homepage**: https://apiflow.cn - **GVP Project**: No ## Statistics - **Stars**: 244 - **Forks**: 77 - **Created**: 2020-12-30 - **Last Updated**: 2026-03-11 ## Categories & Tags **Categories**: api-gateway **Tags**: MongoDB, 接口工具, midwayjs, API工具 ## README
![logo](./docs/logo.jpg) # Apiflow Postman / Apifox 开源替代方案 [English](./README.md) | 中文 [![GitHub Release](https://img.shields.io/github/v/release/trueleaf/apiflow?style=flat-square)](https://github.com/trueleaf/apiflow/releases/latest) [![License](https://img.shields.io/github/license/trueleaf/apiflow)](https://github.com/trueleaf/apiflow/blob/master/LICENSE) [![Downloads](https://img.shields.io/github/downloads/trueleaf/apiflow/total)](https://github.com/trueleaf/apiflow/releases/latest) [下载](https://github.com/trueleaf/apiflow/releases) | [在线演Demo](https://apiflow.cn/)
--- # 界面预览 ## Agent展示 ![AI 代理](./docs/zh/agent_zh.gif) ## SSE与MOCK展示 ![SSE](./docs/zh/sse_zh.gif) --- # Apiflow 是什么? **Apiflow** 是一个 **完全免费**、**内置 AI 能力** 的 API 接口工具,致力于成为**Postman、Apifox 的现代化开源替代方案**。 它集成了 **API 测试、Mock、WebSocket、AI Agent、团队协作、离线使用、本地部署** 等能力,并全面拥抱 **OpenAPI 3.0 生态体系**。 --- # 核心特性 ## 完全免费 - 所有功能永久免费 - 无付费计划 - 无功能限制 - 一键导出到postman、apifox等工具 ## 内置 AI Agent - 内置 AI Agent,辅助 API 设计、测试与调试 - 支持配置你自己的大语言模型(LLM) - 支持 **离线 / 内网环境** 使用 ## 团队协作 - 内置团队与工作区管理 - **团队数量、成员数量不限** - 细粒度权限控制: - 项目级权限 - 基于角色的权限管理(RBAC) - 只读 / 编辑 / 管理员角色 - 操作记录与变更历史追踪 - 适用于任何规模的团队 ## 离线 & 在线 - Local-First 设计理念 - 完整离线能力,本地数据持久化 - 离线 / 在线数据双向转换 - 从个人使用平滑过渡到团队协作 - 非常适合内网或受限网络环境 ## 自托管 & 本地部署 - Docker 一键部署 - 数据完全由自己掌控 - 适用于企业私有化部署场景 ## OpenAPI 友好 - 支持 **OpenAPI 3.x** 导入 / 导出 - 可无缝迁移到: - Postman - Insomnia - Hoppscotch - 任意 OpenAPI 兼容工具 --- # 核心能力一览 - HTTP API 测试(RESTful) - WebSocket 测试 - Mock Server(HTTP / WebSocket / SSE) - 环境变量与变量系统 - 请求前 / 请求后脚本 - 项目与文件夹管理 - 导入 / 导出(Postman / OpenAPI / JSON) - 国际化支持(英文 / 中文 / 日文) --- # 下载 获取适用于你平台的最新版本: | 平台 | 下载地址 | |------|----------| | Windows | https://github.com/trueleaf/apiflow/releases | | macOS | https://github.com/trueleaf/apiflow/releases | | Linux | https://github.com/trueleaf/apiflow/releases | --- # 本地部署 ## 服务端部署 ### Docker 部署 #### 环境要求 - Docker - Docker Compose #### 首次部署 ```bash git clone https://gitee.com/wildsell/apiflow cd apiflow cp .env.example .env # 编辑 .env,配置 MongoDB 等参数 docker compose -f docker-compose.yml -f docker-compose.cn.yml pull docker compose -f docker-compose.yml -f docker-compose.cn.yml up -d # 验证部署 curl http://localhost curl http://localhost/api/health ``` #### 部署后添加用户 部署成功后,按照以下步骤添加用户: 1. **切换到互联网模式** - 点击应用中的网络模式切换按钮(通常在右上角) - 选择"互联网模式"以启用在线功能 2. **登录管理员账号** - 账号: `admin` - 默认密码: `111111` - **重要提示**: 首次登录后请立即修改默认密码以确保安全 3. **添加新用户** - 进入后台管理系统 - 找到用户管理模块 - 点击"添加用户"为团队成员创建新账号 #### 代码更新 如果你是通过 Docker 运行 Apiflow,更新代码时无需在本地重新构建。 **方式一:使用更新脚本(推荐)** ```bash # 添加执行权限(首次) chmod +x update.sh rollback.sh # 执行更新 ./update.sh --cn ``` **方式二:手动更新** ```bash docker compose -f docker-compose.yml -f docker-compose.cn.yml down docker compose -f docker-compose.yml -f docker-compose.cn.yml pull docker compose -f docker-compose.yml -f docker-compose.cn.yml up -d ``` **回滚(推荐使用快照精确回滚)** ```bash # 方式一:回滚到最近一次 update.sh 备份的快照(推荐) ./rollback.sh --previous # 方式二:回滚到指定快照文件(推荐) ./rollback.sh --file current_versions_20260122_120000.txt # 方式三:兼容模式,按 tag/sha 回滚(不保证精确,适合紧急) ./rollback.sh v1.2.3 # ./rollback.sh 7f3a2b1c4d5e # 中国镜像源配置(如需) ./rollback.sh --previous --cn ``` ### 阿里云部署(2026-01-22更新) #### 购买服务器 ![阿里云购买](./docs/aliyun/aliyun_buy.gif) 直接在服务器运行以下命令,完成后浏览器通过ip直接访问。注意:mongodb密码需要你自行修改 ```bash #添加Docker软件包源 sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo #Alibaba Cloud Linux3专用的dnf源兼容插件 sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus #安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件 sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #启动Docker sudo systemctl start docker #设置Docker守护进程在系统启动时自动启动 sudo systemctl enable docker yum install -y git git clone https://gitee.com/wildsell/apiflow.git cd apiflow cat > .env << 'EOF' MONGO_ROOT_USERNAME=admin MONGO_ROOT_PASSWORD=9sf9383jm8dpqbxxaaxs MONGO_DATABASE=apiflow EOF docker compose -f docker-compose.yml -f docker-compose.cn.yml pull docker compose -f docker-compose.yml -f docker-compose.cn.yml up -d curl -i localhost ``` ![阿里云部署](./docs/aliyun/aliyun_linux.gif) #### 环境要求 - 2核心2G内存 ## 客户端构建 通过docker部署后你可以直接通过浏览器访问系统,如果你希望使用完整功能,可以按照以下步骤进行构建: ### 环境要求 - **Node.js**: >= 22.0.0 - **macOS**:需安装 Xcode Command Line Tools(`xcode-select --install`) - **Linux**:如需构建 `.deb` 包需安装 `fakeroot`、`dpkg`;构建 `.rpm` 需安装 `rpm` - Windows / macOS / Linux 安装包只能在对应平台上构建(不支持跨平台交叉编译) #### 第一步:切换下载源(可选) 编辑项目根目录的 `.npmrc` 文件,取消以下三行的注释(删除行首的 `#` 符号): ```properties ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ ELECTRON_BUILDER_BINARIES_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/ registry=https://registry.npmmirror.com ``` #### 第二步:克隆代码仓库并安装依赖 ```bash git clone https://gitee.com/wildsell/apiflow.git cd apiflow npm install ``` #### 第三步:修改配置(按需调整) 编辑 `packages/web/src/config/config.ts`,根据实际情况修改以下配置项: ```typescript // 修改后端服务地址(默认指向官方服务器,自部署时改为自己的服务器地址) httpRequest: { url: isDev ? 'http://127.0.0.1:7001' : 'https://your-server.example.com', // ... }, ``` > **说明:** 打包完成后,上述配置也可在应用内的 **设置 → 应用配置 → 接口调用地址** 中随时修改,无需重新打包。 #### 第四步:执行打包命令 根据目标平台选择对应命令: ```bash # Windows npm run web:build:local:win # macOS npm run web:build:local:mac # Linux npm run web:build:local:linux # 仅解压验证(不生成安装包,速度最快) npm run web:build:local:pack ``` > **提示(Windows)**:如果在 Windows 上执行打包命令失败,可尝试使用管理员权限打开终端后再次执行。 ### 打包命令 | 命令 | 说明 | |------|------| | `npm run web:build:local:pack` | 快速验证:仅解压到目录,不生成安装包,速度最快 | | `npm run web:build:local:win` | 构建 Windows 安装包(`.exe` NSIS 安装程序) | | `npm run web:build:local:mac` | 构建 macOS 安装包(`.dmg` + `.zip`,支持 x64/arm64) | | `npm run web:build:local:linux` | 构建 Linux 安装包(`.AppImage` + `.deb`,支持 x64/arm64) | ### 输出目录 打包产物位于 `packages/web/release/` 目录下。 --- # 本地开发 ## 环境要求 - **Node.js**: >= 22.0.0 - **MongoDB**: 本地运行或远程可访问 - **Git**: 用于克隆代码仓库 ## 快速开始 1. **将下载源切换为国内镜像(可选)** 编辑项目根目录的 `.npmrc` 文件,取消以下三行的注释(删除行首的 `#` 符号): ```properties ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ ELECTRON_BUILDER_BINARIES_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/ registry=https://registry.npmmirror.com ``` 2. **克隆代码仓库并安装依赖** ```bash git clone https://gitee.com/wildsell/apiflow.git cd apiflow npm install ``` 2. **启动开发服务器** ```bash npm run dev ``` 此命令会同时启动前端和后端开发服务器: - **前端 (Web)**: http://localhost:4000 - **后端 (Server)**: http://localhost:7001 ## 可用命令 | 命令 | 说明 | |------|------| | `npm run dev` | 同时启动前端和后端开发服务器 | | `npm run dev:web` | 仅启动前端开发服务器 | | `npm run web:dev` | 仅启动前端开发服务器(备用) | | `npm run server:dev` | 仅启动后端开发服务器 | | `npm run web:build` | 构建 Web 应用 | | `npm run server:build` | 构建 Server 应用 | | `npm run server:test` | 运行后端单元测试 | | `npm run bootstrap` | 安装所有依赖 | ## 项目结构 这是一个多包项目(monorepo): - `packages/web` - 前端应用(Vite + Vue 3 + Electron) - `packages/server` - 后端应用(Midway.js + MongoDB) - `packages/website` - 官网(Next.js) ## 开发提示 - 启动 Server 前请确保 MongoDB 已运行 - 前端支持热模块替换(HMR),可快速开发调试 - 后端文件变更时会自动重启 - 可以通过运行特定命令独立开发各个包 --- # 许可证 本项目采用 **MIT** 许可证进行许可 详情请参阅 [LICENSE](./LICENSE)