mirror of
https://wget.la/https://github.com/Wxw-Gu/WechatExplorer
synced 2026-08-17 03:27:00 +08:00
- 将 WechatExplorer 产品身份升级为 TraceMemo - 更新 appId、Runtime Identity、Reader Skill 和 API 环境变量 - 增加旧用户数据、Knowledge、Token 与 AI Provider 安全迁移 - 保留 Windows WeFlow 和旧版配置兼容 - 完善首次启动迁移测试及 v2.2.0 发布文档 - 移除 macOS Intel x64 构建与发布支持
97 lines
5.7 KiB
Markdown
97 lines
5.7 KiB
Markdown
# TraceMemo Local HTTP API
|
||
|
||
本文面向需要自己写集成的开发者。普通用户请先阅读[Agent 接入概览](./overview.md)。
|
||
|
||
## 基本信息
|
||
|
||
- 默认地址:`http://127.0.0.1:6131`
|
||
- API 前缀:`/api/v1`
|
||
- 默认只监听 loopback;不要把它当作公网服务。
|
||
- `/api/v1/health` 无需 Token;其他端点需要 `Authorization: Bearer <TOKEN>`。
|
||
- 请求体使用 JSON;响应为 JSON。
|
||
|
||
## 最小请求
|
||
|
||
```bash
|
||
# 健康检查
|
||
curl http://127.0.0.1:6131/api/v1/health
|
||
|
||
# 读取数据
|
||
export TRACEMEMO_API_TOKEN="<从 API Center 复制的 Token>"
|
||
curl -H "Authorization: Bearer $TRACEMEMO_API_TOKEN" \
|
||
"http://127.0.0.1:6131/api/v1/recent_chat?limit=20"
|
||
```
|
||
|
||
不要把 Token 放入 URL、Skill 文件、仓库或命令历史可被共享的脚本中。
|
||
|
||
新配置必须优先使用 `TRACEMEMO_API_TOKEN`。已安装的旧 Reader Skill 可在 v2.2.0 兼容期内继续读取 `WECHATEXPLORER_API_TOKEN`;如果两个变量都存在,以新变量为准。
|
||
|
||
## 端点
|
||
|
||
| 方法 | 路径 | 作用 | 参数/请求体 |
|
||
| ---- | ---------------------------- | -------------------------------------- | --------------------------------------------------------------- |
|
||
| GET | `/api/v1/health` | 服务与数据库健康状态 | 无 |
|
||
| GET | `/api/v1/current_time` | 本机时间、时区和 Unix 时间戳 | 无 |
|
||
| GET | `/api/v1/contact` | 联系人和群聊列表 | `filter`、`type=user\|group` |
|
||
| GET | `/api/v1/chatroom` | 群聊列表 | `keyword` |
|
||
| GET | `/api/v1/recent_chat` | 最近会话 | `limit`,默认 50 |
|
||
| GET | `/api/v1/chatlog` | 指定会话的聊天记录 | 必填 `talker`;可选 `time` 或 `startTime`/`endTime` |
|
||
| GET | `/api/v1/group_snapshot` | 群成员快照 | 必填 `md5` |
|
||
| GET | `/api/v1/resolve` | 将昵称、wxid 或 md5 解析为会话 | 必填 `q` |
|
||
| POST | `/api/v1/report` | 将结构化日报渲染为 HTML 与 PNG | `GroupReportExportRequest` JSON |
|
||
| GET | `/api/v1/agent/status` | Agent Hub、连接器和数据库状态 | 无 |
|
||
| POST | `/api/v1/agent/group-report` | 读取群聊并生成总结图片 | `{ "group": "群名或标识", "range": "today\|yesterday\|7days" }` |
|
||
| POST | `/api/v1/agent/send` | 通过已连接机器人测试发送文字或本地图片 | `{ "to": "接收者", "text": "...", "media_url": "..." }` |
|
||
|
||
### 这些端点与实时机器人有什么关系
|
||
|
||
- `/api/v1/agent/status` 只用于查询 Agent Hub、微信连接器和数据库状态;
|
||
- `/api/v1/agent/group-report` 由外部 Agent 或脚本主动请求生成群聊总结图片;
|
||
- `/api/v1/agent/send` 是受 Bearer Token 保护的开发者/测试发送入口,用于通过已经连接的机器人发送文字或本地图片;它不是任意群发能力,也不是实时消息订阅接口;
|
||
- 当前 API 没有对外暴露实时入站 webhook。微信消息由应用内部的 Agent Hub 和微信连接器接收、处理和回复。
|
||
|
||
## 时间查询
|
||
|
||
`chatlog` 的 `time` 支持:
|
||
|
||
- `YYYY-MM-DD`:当天;
|
||
- `YYYY-MM-DD~YYYY-MM-DD`:日期闭区间;
|
||
- `YYYY-MM-DD/HH:mm`:从该分钟开始的 60 秒;
|
||
- 也可以使用 Unix 秒级 `startTime` 和 `endTime`。
|
||
|
||
时间按运行 TraceMemo 的本机时区解析。用户说“今天”“昨天”时,先调用 `current_time`,再根据返回的 `localDate` 计算日期,避免使用 Agent 自己的时区。
|
||
|
||
## 常用工作流
|
||
|
||
### 查找并读取一个会话
|
||
|
||
```bash
|
||
BASE="http://127.0.0.1:6131/api/v1"
|
||
AUTH="Authorization: Bearer ${TRACEMEMO_API_TOKEN:-$WECHATEXPLORER_API_TOKEN}"
|
||
|
||
curl -H "$AUTH" "$BASE/resolve?q=技术交流群"
|
||
curl -H "$AUTH" "$BASE/chatlog?talker=技术交流群&time=2026-08-07"
|
||
```
|
||
|
||
当标识不确定时,先用 `resolve` 或 `contact`,再调用 `chatlog`。对重要问题,先宽范围定位,再针对关键时间点读取前后文,不要只凭一次粗查回答。
|
||
|
||
### 生成群聊总结图片
|
||
|
||
优先使用 `/api/v1/agent/group-report`,因为它会读取指定群聊并按 `today`、`yesterday` 或 `7days` 生成总结。`/api/v1/report` 是更底层的渲染接口,要求调用方已经准备好 `report` 和 `metadata` 结构;完整 TypeScript 类型以 `src/shared/group-report.ts` 为准。
|
||
|
||
## 响应与错误
|
||
|
||
- `200`:请求成功;
|
||
- `401`:缺少、错误或已失效的 Bearer Token;
|
||
- `400`:参数或 JSON 请求体无效;
|
||
- `403`:浏览器 Origin 不在允许的 loopback 列表;
|
||
- `404`:端点、会话或群聊不存在;
|
||
- `503`:数据库或 Agent Hub 尚未就绪;
|
||
- `500`:服务端处理或报告渲染失败。
|
||
|
||
成功响应会返回端点对应的 JSON 对象,例如 `chatlog` 包含 `contact`、`query`、`count` 和 `messages`,`contact` 返回 `count` 与 `contacts`。
|
||
|
||
## 与 MCP 的关系
|
||
|
||
当前实现没有把 `6131` 暴露为 MCP Server。需要在 Agent 中使用时,请安装随应用提供的 Reader Skill,并让 Skill 通过普通 HTTP 请求调用本 API。
|