REST API 参考¶
MetaBot 在端口 9100(通过 API_PORT 配置)暴露 REST API。
认证¶
如设置了 API_SECRET,所有请求需要:
端点¶
健康与信息¶
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/api/health |
健康检查(含 Bot 数、peer 状态) |
GET |
/api/stats |
费用与使用统计(按 Bot/用户) |
GET |
/api/metrics |
Prometheus 监控指标 |
Bot 管理¶
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/api/bots |
列出所有 Bot(本地 + peer) |
POST |
/api/bots |
运行时创建 Bot |
GET |
/api/bots/:name |
获取 Bot 详情 |
DELETE |
/api/bots/:name |
删除 Bot |
Agent 对话¶
| 方法 | 路径 | 说明 |
|---|---|---|
POST |
/api/talk |
与 Bot 对话(自动路由到 peer) |
请求体:
botName 字段支持限定名:peerName/botName。
已弃用的别名
POST /api/tasks 仍可用但已弃用。请使用 /api/talk。
Peers¶
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/api/peers |
列出 peer 及健康状态 |
定时调度¶
| 方法 | 路径 | 说明 |
|---|---|---|
POST |
/api/schedule |
创建一次性或周期性任务 |
GET |
/api/schedule |
列出定时任务 |
PATCH |
/api/schedule/:id |
更新定时任务 |
DELETE |
/api/schedule/:id |
取消定时任务 |
POST |
/api/schedule/:id/pause |
暂停周期性任务 |
POST |
/api/schedule/:id/resume |
恢复暂停的任务 |
创建定时任务请求体:
{
"botName": "metabot",
"chatId": "oc_xxx",
"prompt": "检查服务健康状态",
"cron": "0 8 * * 1-5",
"timezone": "Asia/Shanghai"
}
一次性任务用 delayMs 替代 cron:
Wiki 同步¶
| 方法 | 路径 | 说明 |
|---|---|---|
POST |
/api/sync |
触发 MetaMemory → 知识库同步 |
GET |
/api/sync |
同步状态 |
POST |
/api/sync/document |
按 ID 同步单个文档 |
飞书文档¶
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/api/feishu/document |
读取飞书文档并转为 Markdown |
查询参数:
url— 飞书文档 URL,或docId— 文档 IDbotName— Bot 名称(用于凭证)