下载

两种方式,任选一种

只想用:下那个单文件 exe,双击就是应用窗口,不用装任何运行时。 想改代码:拉源码,node server.js 跑起来,改一行刷新即生效。

单文件 exe

Windows 10 / 11 · x64

一个文件,内含 Node 运行时,目标机器不装 Node 也能跑。 双击就是一个应用窗口:没有黑窗口、没有地址栏、没有标签页,关掉窗口就退出程序。

55.3 MB 免安装 v1.0.3
下载 APITools.exe

放到一个普通文件夹里再双击(别放 C:\Program Files): 数据目录建在 exe 自己旁边,需要写权限。

源码运行

Node ≥ 18 · 无依赖

没有 npm install、没有构建步骤:拿到目录直接跑。 调前端样式不必重新打包,刷新即生效。

# 起服务 + 弹出应用窗口(和双击 exe 一样)
node server.js

# 只起服务,自己用浏览器开 http://127.0.0.1:8721
node server.js --no-window

# 打包成单文件 exe(Windows 上双击 build.bat 就行)
build.bat
本页的下载链接是可配置的。如果你想把它挂到网上,把 exe 放进本站的 download/ 目录、或换成网盘 / CDN 地址, 改 assets/js/config.js 里的 exeUrl 一行即可,页面不用动。
快速上手

四步,不用配任何东西

拿到文件

下 exe,或者把源码目录放到任意普通文件夹。exe 是单文件,直接发给同事也可以。

双击运行

双击后会自动打开应用窗口。第一次启动会把示例集合与环境写进 data/,里面「APITools 内置回声」集合全部指向本机接口,不连外网也能试。

用内置回声把流程跑通

打开 GET /api/echo 直接发送,看着响应、断言、耗时都对上;然后切到「压测」标签跑一轮,再点「文档生成」导出一次。

换成你自己的接口

新建集合、把 {{baseUrl}} 指到你的服务,之后所有请求都用变量,环境一换全站跟着换。

环境要求

需要什么,不需要什么

项目要求
单文件版Windows 10 / 11(x64)。不需要安装 Node,也不需要任何附属目录
应用窗口本机有 Edge 或 Chrome(Win10/11 自带 Edge,正常都能命中)。两个都没有时会退回系统默认浏览器
源码版Node ≥ 18(打包目标为 Node 22)
浏览器任意现代浏览器,用于打开管理界面
磁盘单文件版约 55.3 MB;数据目录大小取决于你自己的集合与历史
网络不需要联网。只有你主动发请求时才会连到目标服务
账号没有账号系统,也没有云端同步
启动参数

想要别的行为,加个参数

参数行为
(不带参数)打开应用窗口 —— 推荐,双击就是这个
--window --port 8899应用窗口 + 换端口
--console不开应用窗口,改用系统默认浏览器(开发时用,控制台里能看到日志)
--no-window只起服务,一个窗口都不开(当后台服务用)
--port <n>换监听端口,默认 8721
--host 0.0.0.0让同网段的其他机器也能访问
--check只读自检:验证内嵌资源是否完整、数据目录会落在哪。不监听端口、不写任何文件
--out <file>把 --check 的报告写到指定文件

打包后的 exe 是窗口程序、没有控制台,所以 --check 的报告会写到它旁边的 check-report.txt;想在命令行直接看,用重定向: APITools.exe --check > report.txt。

常见问题

第一次用最容易问的几件事

双击被 Windows 拦下来,说"未知发布者"

exe 没有代码签名,SmartScreen 会拦一次。点「更多信息」→「仍要运行」即可,之后不再提示。

双击两次,会不会起两个服务?

不会。第二次双击会发现端口已被占用,直接把窗口接到已经在跑的那个实例上;开完窗口它自己就退出,不在任务管理器里留一个什么也不干的进程。

关掉窗口之后,程序真的退出了吗?

关窗后服务最多约 7 秒退出。判定方式是页面每 2 秒打一次心跳,心跳断了 6 秒才算关窗。

为什么不直接盯着浏览器进程:Edge 的"启动器进程"和真正画窗口的进程不是同一个,可能秒退也可能一直活着,拿它当判据会出现"窗口关了、exe 还在"。刷新页面只断几百毫秒,不会被误判。

数据存在哪?能删吗?

在 exe(或源码目录)自己旁边的 data/:把 exe 拖到别的文件夹,数据就跟着走。不写 AppData、不写注册表。

这个目录随时可以删——浏览器的那堆缓存不在里面,所以不会有"文件被占用、删不掉"(早期版本恰恰踩过这个坑)。

双击之后没反应,去哪看原因?

看 exe 旁边的 data/app.log。窗口程序没有控制台,日志统一落在这个文件里(超过 2 MB 自动清空重来),它会写清启动到哪一步。

端口 8721 被别的程序占了

换个端口启动即可:APITools.exe --window --port 8899。

为什么不能放在 C:\Program Files?

因为数据目录建在 exe 旁边,而那个位置需要管理员权限,普通权限下建不出 data/。放桌面、D 盘之类的普通文件夹就行。

它会把我发出去的请求或者 token 传走吗?

不会。程序只监听本机 127.0.0.1,没有遥测、没有云端、没有账号。数据是明文存在本机 json 里的——所以别把 data/ 目录提交到公开仓库(里面的 token 也是明文)。

准备好了就下吧

不确定要不要用,可以先看看「已知边界」——那里把做不到的事也写清楚了。