API 概述
ChatAI Plugin 提供 REST API 用于管理和扩展功能。
基础信息
- Base URL:
http://localhost:3000/api - 认证方式: JWT Token(Cookie 或 Bearer Token)
- 响应格式: JSON
API 模块
| 模块 | 路径 | 说明 |
|---|---|---|
| 认证 | /api/auth | 登录、验证 |
| 配置 | /api/config | 配置管理 |
| 工具 | /api/tools | 工具管理 |
| MCP | /api/mcp | MCP 服务器管理 |
| 技能 | /api/skills | 技能代理接口 |
| 聊天 | /api/chat | 聊天接口 |
认证
获取登录链接
在机器人中发送 #ai管理面板 获取临时登录链接。
登录流程
GET /login/token?token={临时token}
↓
验证 token → 签发 JWT → 设置 Cookie
↓
重定向到管理面板API 调用认证
bash
# Cookie 认证(浏览器自动)
curl http://localhost:3000/api/config \
-H "Cookie: auth_token=xxx"
# Bearer Token 认证
curl http://localhost:3000/api/config \
-H "Authorization: Bearer xxx"响应格式
成功响应
json
{
"success": true,
"data": { ... }
}错误响应
json
{
"success": false,
"error": "Error message",
"code": "ERROR_CODE"
}错误码
| 状态码 | 说明 |
|---|---|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 未认证 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 429 | 请求过于频繁 |
| 500 | 服务器内部错误 |
限流
默认限流规则:
- 窗口时间:60 秒
- 最大请求数:60 次
超出限制返回 429 状态码。
SSE 接口
部分接口支持 Server-Sent Events:
javascript
const eventSource = new EventSource('/api/skills/sse')
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data)
console.log('Status update:', data)
}