# ApiChain **Repository Path**: onlinetool/apichain ## Basic Information - **Project Name**: ApiChain - **Description**: 以迭代为核心的微服务接口管理与测试平台,Postman/Apifox的开源替代品。支持数据库级深度断言、全链路接口串联与文档智能归并。 - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: main - **Homepage**: http://apichain.fanghailiang.cn - **GVP Project**: No ## Statistics - **Stars**: 128 - **Forks**: 26 - **Created**: 2024-06-19 - **Last Updated**: 2026-05-07 ## Categories & Tags **Categories**: api-gateway **Tags**: api管理, 接口测试, REST客户端, Postman替代工具, Apifox替代工具 ## README # 🚀 ApiChain:以「版本迭代」为核心的微服务接口全链路管理利器 在日常研发与测试中,你是否常被以下痛点折磨:文档割裂全靠手动合并、测试用例跑一次就作废、断言只看返回码忽略底层数据、回归测试全靠猜? ApiChain 直击痛点,为你提供**“定义-测试-回归”**的一体化闭环体验,不仅是发请求的工具,更是保障上线零风险的全链路精细化管理利器! ## 💡 核心亮点:降维打击竞品的壁垒 | 能力维度 | 传统工具常态 | ApiChain 方案 | | :---------------------- | :---------------------------- | :----------------------------------------------------------- | | **迭代与项目双轨制** | 只有项目维度,接口散乱 | 迭代内聚合调试,关闭后按接口地址智能合并至项目,告别文档割裂 | | **数据库深度断言** | 仅支持校验 HTTP 状态码/返回码 | 直连数据库执行 SQL,查询结果与接口参数/返回值交叉比对,并自动清理脏数据 | | **大模型 RAG 智能检索** | 依赖人工翻阅历史文档 | 引入 AI 大模型 RAG 技术,针对迭代文档进行语义级知识检索与精准问答 | ## 🎯 四大痛点终结者 1. **迭代文档自动归并**:迭代内独立维护文档,上线关闭后一键按微服务合并至项目,彻底解决一致性难题。 2. **用例随心反复执行**:内置随机字符串、时间戳等丰富函数,无需手动改数据,迭代用例想跑多少次就跑多少次。 3. **接口与数据库双重断言**:不仅校验返回值,更直连数据库校验实际数据变更,自动清理脏数据,把隐患扼杀在摇篮。 4. **精准拦截回归风险**:迭代用例一键导出至项目,执行项目级回归测试,改动影响范围一目了然,为线上安全兜底。 ## 🛠️ 极速体验:四步玩转 ApiChain ### 第一步:搭建数据底座(准备 MySQL) 需准备 MySQL 8.x 数据库(账号需具备建表、改表及增删改查权限)。通过 Docker 极速启动: ```undefined docker pull mysql:8.0 docker run --name mysql-container -p 33088:3306 -e MYSQL_ROOT_PASSWORD=112233 -d mysql:8.0 ``` 启动后,创建数据库并导入测试数据: 1. 执行 SQL:`create database apichain;` 2. 下载并导入测试数据脚本:[点此下载 SQL 文件](https://raw.giteeusercontent.com/onlinetool/apichain/raw/main/db/dump-apichain-zh.sql) > 💡 提示:如遇连接报错 `Public Key Retrieval is not allowed`,请将驱动属性中的 `allowPublicKeyRetrieval` 修改为 `true`。 ### 第二步:启动核心引擎 修改以下命令中的数据库连接参数,一键启动本地 Runner 服务: ```bash docker volume create apichain_cache_data; docker pull registry.cn-shanghai.aliyuncs.com/apichain/runner:1.2.4; docker run -d \ -p 6588:6588 \ -e DB_HOST=192.168.1.5 \ -e DB_PORT=33088 \ -e DB_USER=root \ -e DB_PASS=112233 \ -e DB_NAME=apichain \ -e DEPLOY_COUNTRY=CN \ -e APICHAIN_SUPER_UID=44470bb9b4f8d601f812945fe275e139 \ -v apichain_cache_data:/opt/cache \ --name apichain-runner \ registry.cn-shanghai.aliyuncs.com/apichain/runner:1.2.4 ``` ### 第三步:客户端连接 Runner 1. 打开 ApiChain 客户端,右上角切换语言,选择**联网版**。 2. 填写服务器地址(如 `http://127.0.0.1:6588`),点击**检测**。 3. 选择**加入团队** -> **runner开发者** -> **加入**(超管 UID 启动,无需审批直接入团),重启客户端即可。 ### 第四步:实战漫游 1. **修正项目数据库连接**:前往 `项目菜单 - runner运行器 - 设置`,选择本地环境,填入 Runner 地址及数据库信息并保存。 2. **运行项目单测**:进入 `项目菜单 - runner运行器 - 单测`,执行用例(如入团流程),体验涵盖多重断言的完整生命周期闭环。 3. **执行迭代单测**:在迭代菜单体验接口文档自动归并、随机数据反复执行与数据库深度校验。 ------ ## 🌟 进阶利器:深度与效率的极致打磨 ### 🔄 四级环境变量体系 精准控制不同范围的数据配置,作用域由大到小:**全局 ➔ 项目 ➔ 迭代 ➔ 单测** - **全局/项目变量**:跨微服务或微服务专属的共享数据。 - **迭代变量**:版本迭代期间的临时高权限配置,上线后自动失效。 - **单测变量**:用例内部对前置步骤数据的动态引用。 *特色:支持变量批量拷贝;敏感信息展现脱敏、落盘加密、内存解密,保障安全。* ### 📦 全局参数与智能入参 - **全局参数**:支持 Param、Header、Body、路径变量全位置统一配置,支持灵活覆盖与动态变量注入 `{{}}`,一次配置全局生效。 - **智能入参**:路径变量模板化、枚举选择器提示规范输入;JSON 字符串结构化编辑,内部支持引用变量与随机函数。 ### 🕵️ 数据提取与全维出参 - **提取神器**:内置 `*first()`、`*last()`、`*random()`(同一种子绑定防串台)、`*length()` 及 JS 自定义切割 `*eval()`,专治花式 JSON 与长串报文。 - **全维出参**:不仅沉淀 Response Body,更将 Response Header 与 Cookie 智能解析归档,拒绝信息遗漏。 ### 🎲 动态数据注入 告别写死数据,内置丰富随机函数: - **基础数值**:`$randomString` (可拼接语义)、`$randomInt`、`$randomLong`、`$randomAge` - **时间日期**:`$currentDateTimeYmdHis`、`$currentTimestampMicrosecond` 等 - **业务场景**:`$randomAppVersion` (递增版本号)、`$randomEmail` (防冲突邮箱) ------ ## 🤖 AI 赋能:重塑接口管理体验 1. **聚合多模型智库**:接入云雾 AI 中转平台,随时切换 DeepSeek、Grok、Gemini 等不同大模型。 2. **智能上下文感知**:AI 自动参考项目配置的语言、框架、依赖与目录结构,无需重复补充前置说明。 3. **辅助生成与转换**:AI 辅助生成接口含义与字段说明;JSON 一键生成适配当前项目的模型代码。 4. **语义级 RAG 检索**:基于向量数据库,实现接口语义搜索与迭代知识库精准问答,历史经验随时赋能。 5. **安全与共享**:AI 令牌团队共享,用量透明;API 地址适配海内外网络加速,令牌数据加密存储与脱敏展示。 ## 🛠️ 从源码编译 ### 依赖 - Node.js:v20.12.2 - Electron:v26.2.4 ### 编译步骤 1. 安装并配置 Yarn: ```bash npm install -g yarn yarn config set ELECTRON_MIRROR https://registry.npmmirror.com/-/binary/electron/ yarn config set registry https://registry.npmmirror.com/ ``` 2. 安装依赖: ```bash yarn ``` 3. 生成可执行文件: ```bash yarn package ``` --- ## 📬 反馈与建议 如果您对软件有任何建议或问题,欢迎加入**微信**群组: --- ## 🌟 支持我们 如果你喜欢这个项目,请点击 [给个 Star](https://gitee.com/onlinetool/apichain) 支持我们!你的支持是我们持续改进的动力 💖