API 参考
Manor AI 对外暴露的 HTTP API 与 Web 应用使用的完全相同。交互式的 OpenAPI 视图仍然是精确请求与响应 schema 的唯一权威来源,但本页为运维人员和 集成开发者提供了一份可读性更强的公开接口地图。
本地 URL
通过 Docker Compose 运行时:
http://localhost:18080/api/docs
http://localhost:18080/api/redoc
http://localhost:18080/api/openapi.json
直接运行 API 时:
http://localhost:8000/api/docs
http://localhost:8000/api/redoc
http://localhost:8000/api/openapi.json
认证
大多数 /api/v1/* 路由都需要 bearer token:
Authorization: Bearer <access_token>
使用 POST /api/v1/auth/login 创建会话 token,或通过 Web 应用登录后,
用同一后端查看 OpenAPI 文档。模型提供商 API 密钥则是另一回事:它们是
Agent 运行时使用的 BYOK 凭据,通过 /api/v1/api-keys 或设置界面进行管理。
curl -sS http://localhost:18080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"demo@manor.local","password":"manor-demo"}'
核心资源
| 领域 | 主要端点 | 适用场景 |
|---|---|---|
| 认证与个人资料 | POST /api/v1/auth/login、GET /api/v1/auth/me、GET /api/v1/entities/me | 登录、查看当前用户、管理当前实体 |
| 工作区 | GET /api/v1/workspaces、POST /api/v1/workspaces、GET /api/v1/workspaces/{workspace_id} | 创建运营工作区、更新工作区元数据、读取工作区仪表盘 |
| 工作区运行时 | GET /api/v1/workspaces/{workspace_id}/operating-model、GET /api/v1/workspaces/{workspace_id}/governance、GET /api/v1/workspaces/{workspace_id}/activity、GET /api/v1/workspaces/{workspace_id}/capabilities | 配置 Agent、目标、规则和审批在工作区内的行为方式 |
| 聊天 | POST /api/v1/chat/message、POST /api/v1/chat/stream、GET /api/v1/chat/conversations | 向 Agent 运行时发送消息、附加上下文、流式返回响应、管理会话 |
| 工作区聊天 | GET /api/v1/workspaces/{workspace_id}/chat/messages、POST /api/v1/workspaces/{workspace_id}/chat/messages | 在工作区范围的会话线程中发送和处理消息 |
| Agent | GET /api/v1/agents、POST /api/v1/agents、POST /api/v1/agents/generate、GET /api/v1/agents/{agent_id}/tools | 创建 Agent、从提示词生成 Agent、绑定工具 |
| 技能 | GET /api/v1/skills、POST /api/v1/skills、POST /api/v1/skills/generate、POST /api/v1/skills/install-github | 管理可供 Agent 使用的可复用技能 |
| 任务 | GET /api/v1/tasks、POST /api/v1/tasks、GET /api/v1/tasks/{task_id} | 跟踪工作、审批、评论、自动化日志和任务状态 |
| 目标与计划 | GET /api/v1/goals、POST /api/v1/goals、GET /api/v1/plans、POST /api/v1/plans/{plan_id}/approve、GET /api/v1/executions | 定义目标、运行计划、批准待审计划、查看 Agent 执行状态——参见目标与计划 |
| 工作流 | GET/POST /api/v1/workflows、POST /api/v1/workflows/{id}/run、GET /api/v1/workflows/runs、POST /api/v1/workflows/webhook/{token} | 构建、部署、触发和查看节点图自动化——参见工作流 |
| 定时任务 | GET/POST /api/v1/jobs、POST /api/v1/jobs/{job_id}/run_now、GET /api/v1/jobs/{job_id}/runs | 带运行历史的周期性自动化——参见自动化 |
| 记忆 | GET/POST /api/v1/memories、POST /api/v1/memories/extract | 持久化的 Agent 与工作区记忆——参见记忆 |
| 报告 | GET /api/v1/reports/tasks、/usage、/activity、POST /api/v1/reports/email | 按需生成 HTML/JSON 报告——参见报告 |
| 搜索 | GET /api/v1/search?q= | 对任务、文档、Agent、会话的全局子串搜索 |
| 蓝图 | GET /api/v1/blueprints、POST /api/v1/blueprints/{id}/install、POST /api/v1/workspaces/{id}/export-blueprint | 打包并安装工作区配置——参见蓝图 |
| 日历与预约 | GET/PUT /api/v1/calendar-settings、POST .../booking-links、GET .../public/booking-links/{slug} | 工作时间、预约链接、日程——参见日历与预约 |
| 浏览器会话 | POST /api/v1/browser/sessions、POST .../{id}/navigate、.../action | 服务端 Chromium 自动化——参见浏览器会话 |
| 渠道与配对 | /api/v1/channels/* webhook、POST /api/v1/channel-pairings、GET/POST /api/v1/messages | 入站消息渠道、身份配对、内部私信——参见消息渠道 |
| 文档 | GET /api/v1/documents、POST /api/v1/documents/upload、GET /api/v1/shared-doc/{token} | 上传、创建、分享文档并管理文档权限 |
| 集成 | GET /api/v1/integrations/mcp-servers、POST /api/v1/integration-sessions/start、GET /api/v1/webhooks | 连接 MCP 服务器、外部账户、OAuth/Nango 流程和出站 webhook |
| Worker 与沙箱 | GET /api/v1/workers、POST /api/v1/workers/heartbeat、POST /api/v1/workspaces/sandbox | 注册 worker,并在已配置的环境中运行基于沙箱的执行 |
| 运维 | GET /health、GET /health/ready、GET /health/deep、GET /api/v1/backup/summary、GET /api/v1/usage/summary | 监控就绪状态、导出备份数据、查看用量 |
由于 Web 应用是 API 优先的,公开的 OpenAPI schema 目前包含数百条路由。 建议先从上表所列领域入手;当你需要精确的字段级契约时,再使用 Swagger 或 ReDoc。
常用调用
登录并保存 token
TOKEN="$(
curl -sS http://localhost:18080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"demo@manor.local","password":"manor-demo"}' \
| jq -r .access_token
)"
列出工作区
curl -sS http://localhost:18080/api/v1/workspaces \
-H "Authorization: Bearer $TOKEN"
创建工作区
curl -sS http://localhost:18080/api/v1/workspaces \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Customer Support Operations",
"description": "Triage customer requests and escalate sensitive work.",
"category": "operations"
}'
发送非流式聊天消息
curl -sS http://localhost:18080/api/v1/chat/message \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"message": "Summarize the workspace priorities for today.",
"workspace_context": true
}'
流式获取 Agent 响应
/api/v1/chat/stream 返回 Server-Sent Events,并接受
multipart/form-data,因此调用方可以附带文件和可选的工作区上下文。
curl -N http://localhost:18080/api/v1/chat/stream \
-H "Authorization: Bearer $TOKEN" \
-F "message=Draft a support triage plan" \
-F "workspace_context=true"