本地网关 API
网关默认监听 0.0.0.0:9400,提供三类接口:
| 类型 | 前缀 | 用途 |
|---|---|---|
| CDP | /json/*、/devtools/* | Chrome DevTools 协议 |
| REST | /v1/* | 小程序、插件、网络、日志、配置 |
| 插件总线 | /v1/plugins/bus | 插件三上下文 RPC |
通用约定
- 成功:
{"ok":true, ...} - 失败:
{"ok":false,"error":"<code>","message":"<可读>"} error取值:bad_request/not_found/internal/logic_unavailable/not_implemented- 请求与响应均为 UTF-8 JSON
CDP
bash
curl http://127.0.0.1:9400/json/version
curl http://127.0.0.1:9400/json/list| 路径 | 说明 |
|---|---|
GET /json/version | 协议版本与浏览器信息 |
GET /json/list | 当前 target(逻辑层 + 渲染层) |
WS /devtools/appservice | 逻辑层 CDP |
WS /devtools/page/<id> | 渲染层 CDP |
直接打开逻辑层调试器:
text
devtools://devtools/bundled/js_app.html?ws=127.0.0.1:9400/devtools/appservice小程序
| Method | Path | 说明 |
|---|---|---|
| GET | /v1/status | 运行状态 |
| GET | /v1/apps | 当前进程内的小程序列表 |
| POST | /v1/apps/open | 打开 {appId, username?, path?} |
| POST | /v1/apps/{id}:close | 关闭 |
| POST | /v1/apps/{id}:restart | 重启 |
| GET | /v1/recent | 最近使用 |
bash
curl -X POST http://127.0.0.1:9400/v1/apps/open \
-H 'content-type: application/json' \
-d '{"appId":"wx91d27dbf599dff74"}'插件
| Method | Path | 说明 |
|---|---|---|
| GET | /v1/plugins | 插件列表 |
| POST | /v1/plugins | 安装(文件 / URL / zip) |
| GET | /v1/plugins/{id} | 详情 |
| POST | /v1/plugins/{id} | 启停 / 更新 / 配置 |
| DELETE | /v1/plugins/{id} | 卸载 |
| GET/POST | /v1/plugins/global | 全局开关 |
| GET | /v1/plugins/market | 市场目录 |
| WS | /v1/plugins/bus | 插件运行总线 |
网络
| Method | Path | 说明 |
|---|---|---|
| GET | /v1/apps/{id}/network | 按小程序取记录 |
| GET | /v1/net/store | 逻辑层请求记录 |
| POST | /v1/net/event | 网络事件上报 |
| GET | /v1/hook/store | native 请求记录 |
| POST | /v1/hook/body | 取响应体 |
| POST | /v1/hook/clear | 清空 |
| GET/POST/DELETE | /v1/rewrite/* | 重写规则 / 脚本 |
Native 捕获与云网关
| Method | Path | 说明 |
|---|---|---|
| GET | /v1/native/store | Native 记录(tail=1..400,可 api= 过滤) |
| POST | /v1/native/clear | 清空 |
| GET/POST | /v1/native/capture | 捕获开关 |
| GET | /v1/gateway/keys | 已捕获的 key |
| POST | /v1/gateway/scan | 运行时恢复 key |
| POST | /v1/gateway/decode | 密文包解码 |
日志与配置
| Method | Path | 说明 |
|---|---|---|
| GET | /v1/logs?tail=N | 全局 / 插件日志 |
| POST | /v1/logs/clear | 清空 |
| GET/POST | /v1/config | 端口 / 绑定地址 / 捕获开关 |
| POST | /v1/config/bypass | 域名与 TLS 校验绕过 |
插件资源与范围
| Method | Path | 说明 |
|---|---|---|
| GET | /v1/plugins/{id}/file/{path} | 读取 zip 内的插件资产 |
| GET | /v1/plugins/{id}/file | 列出资产 |
| POST | /v1/plugins/{id}/appids | 限定插件生效的 appid |
bash
curl -X POST http://127.0.0.1:9400/v1/plugins/text-editor/appids \
-H 'content-type: application/json' \
-d '{"appids":"wx1234567890abcdef"}'错误示例
json
{
"ok": false,
"error": "logic_unavailable",
"message": "no appservice target; open a mini program first"
}