这篇文档面向客户端开发者和集成方。读完后,你可以找到本地 API 地址、响应格式、鉴权头、资源端点、会话端点和产出端点。
默认服务地址:
http://127.0.0.1:8787
通用约定
大多数 JSON 接口返回 envelope:
{
"success": true,
"data": {}
}
错误响应:
{
"success": false,
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "resource not found"
}
}
文件下载和 artifact 下载返回二进制响应;上传接口使用 multipart/form-data。
身份与鉴权
仅支持密码会话 Cookie 与 CSRF。业务请求需携带登录后的 df_session;非安全方法还需 X-CSRF-Token(来自 df_csrf Cookie):
X-CSRF-Token: <token_from_df_csrf_cookie>
Web v1 不暴露 workspace 切换;自建集成除非自行管理 workspace 路由,否则使用登录会话绑定的 workspace。/api/v1/* 与 POST /api/copilotkit 必须使用同一会话,否则 session、资源、文件、产出和 run events 会落到不同用户作用域。
身份接口
| Method | Path | 用途 |
|---|
| GET | /api/v1/me | 读取当前用户和 workspace。 |
密码认证接口
| Method | Path | 用途 |
|---|
| GET | /api/v1/auth/status | 读取公开认证状态(含 registrationEnabled,不含密钥)。 |
| POST | /api/v1/auth/register | 创建用户账号和验证 token。 |
| POST | /api/v1/auth/login | 登录并设置 df_session 和 df_csrf Cookie。 |
| POST | /api/v1/auth/verify-email | 验证邮箱 token。 |
| POST | /api/v1/auth/password/forgot | 请求密码重置。 |
| POST | /api/v1/auth/password/reset | 使用 token 重置密码。 |
| GET | /api/v1/auth/csrf | 读取当前 CSRF token。 |
| POST | /api/v1/auth/logout | 退出当前会话。 |
| POST | /api/v1/auth/logout-all | 注销当前用户所有会话。 |
| GET | /api/v1/auth/sessions | 列出当前用户的活跃会话。 |
| DELETE | /api/v1/auth/sessions/:id | 注销单个会话。 |
| POST | /api/v1/auth/password/change | 修改当前用户密码。 |
健康与能力
| Method | Path | 用途 |
|---|
| GET | /healthz | 进程存活(liveness)。 |
| GET | /ready | 就绪探针:Mastra / builtin 初始化完成;响应含 startup_ms 与 phases。 |
| GET | /api/v1/capabilities | 读取后端能力开关。 |
| GET | /api/v1/me | 读取当前身份。 |
curl http://127.0.0.1:8787/healthz
curl http://127.0.0.1:8787/ready
curl http://127.0.0.1:8787/api/v1/capabilities
| Method | Path | 用途 |
|---|
| POST | /api/copilotkit | 启动 Agent run,返回 AG-UI 事件流。 |
| POST | /api/v1/runs/:id/cancel | 取消正在运行的 run。 |
POST /api/copilotkit 使用 CopilotKit / AG-UI RunAgentInput。详见 Agent Runtime 与 AG-UI 参考。
会话
| Method | Path | 用途 |
|---|
| GET | /api/v1/sessions | 列出服务端会话。支持 limit、cursor。 |
| PATCH | /api/v1/sessions/:sessionId | 更新会话标题。 |
| DELETE | /api/v1/sessions/:sessionId | 永久删除会话及其对话、run、产物与子分支。 |
| GET | /api/v1/sessions/:sessionId/conversation | 读取服务端权威对话历史。支持 limit。 |
| GET | /api/v1/sessions/:sessionId/checkpoints | 列出已持久化的上下文 checkpoint。支持 limit。 |
| GET | /api/v1/sessions/:sessionId/trace-dag | 读取 run/step/tool/output 语义图。支持 limit。 |
| POST | /api/v1/sessions/:sessionId/branches | 从已结束 run 或 checkpoint 创建持久分支。请求体:{ "runId": "..." } 或 { "checkpointId": "..." }。 |
| GET | /api/v1/checkpoints/:checkpointId | 读取 checkpoint 元数据。 |
| GET | /api/v1/checkpoints/:checkpointId/context-package | 读取 checkpoint 元数据及上下文快照。 |
会话接口用于 Web/TUI 恢复历史、显示标题、读取 tool-call 配对,并支持从 checkpoint 重新提问。conversation 响应包含 messages、runEventRefs、toolCalls,并可包含 checkpoints、branch 和 branches。每个 checkpoint 从现有 run、message 和 run event 派生,包含 runId、status、消息位置范围、事件 seq 范围、开始/结束时间和可选错误信息;它表示一轮 run 的可恢复历史边界。分支会话引用父会话到 fork checkpoint 之前的历史,不复制旧消息;读取分支时返回可见父前缀加上分支自身消息。
工作区配置
| Method | Path | 用途 |
|---|
| GET | /api/v1/workspace-config | 读取工作区资源默认配置。 |
| PATCH | /api/v1/workspace-config | 更新默认启用状态。 |
| GET | /api/v1/run-defaults | 读取 run 默认配置。 |
这些路由代理当前 workspace 中已配置的兼容 Data Link 或 DataGraph MCP 资源,不提供内置图服务。
| Method | Path | 用途 |
|---|
| GET | /api/v1/datalink/servers | 列出已配置的兼容服务。 |
| GET | /api/v1/datalink/:serverId/graph | 读取并标准化 workspace 图。 |
| POST | /api/v1/datalink/:serverId/explore | 使用自然语言查询探索图。 |
| POST | /api/v1/datalink/:serverId/tables | 通过已配置服务添加表数据源。 |
| DELETE | /api/v1/datalink/:serverId/tables/:tableId | 通过已配置服务移除表。 |
| POST | /api/v1/datalink/:serverId/rebuild | 重建外部图。 |
/api/v1/datagraph/* 可作为 /api/v1/datalink/* 的别名。
数据源
| Method | Path | 用途 |
|---|
| GET | /api/v1/datasource-types | 发现支持的数据源类型和字段 schema。 |
| GET | /api/v1/datasources | 列出数据源。 |
| POST | /api/v1/datasources | 创建数据源。 |
| GET | /api/v1/datasources/:id | 读取数据源详情。 |
| PATCH | /api/v1/datasources/:id | 更新数据源。 |
| DELETE | /api/v1/datasources/:id | 删除数据源。 |
| POST | /api/v1/datasources/:id/test | 测试连接。 |
| POST | /api/v1/datasources/:id/introspect | 抓取 schema,返回 job。 |
| GET | /api/v1/datasources/:id/schema | 读取 schema 快照。支持 q、includeStats。 |
| GET | /api/v1/datasources/:id/tables/:table/preview | 预览表数据。支持 schema、limit、offset、orderBy。 |
后端不暴露任意 SQL REST 入口。SQL 分析通过 Agent 工具执行。
模型
| Method | Path | 用途 |
|---|
| GET | /api/v1/model-profiles | 列出模型配置。 |
| POST | /api/v1/model-profiles | 创建模型配置。 |
| GET | /api/v1/model-profiles/:id | 读取模型配置。 |
| PATCH | /api/v1/model-profiles/:id | 更新模型配置。 |
| DELETE | /api/v1/model-profiles/:id | 删除模型配置。 |
| POST | /api/v1/model-profiles/:id/test | 测试 provider。 |
知识库
| Method | Path | 用途 |
|---|
| GET | /api/v1/knowledge-bases | 列出知识库。 |
| POST | /api/v1/knowledge-bases | 创建知识库。 |
| GET | /api/v1/knowledge-bases/:id | 读取知识库。 |
| PATCH | /api/v1/knowledge-bases/:id | 更新知识库。 |
| DELETE | /api/v1/knowledge-bases/:id | 删除知识库。 |
| POST | /api/v1/knowledge-bases/:id/test | 验证配置。 |
| GET | /api/v1/knowledge-bases/:id/files | 列出文档。 |
| POST | /api/v1/knowledge-bases/:id/files | 上传文档。 |
| DELETE | /api/v1/knowledge-bases/:id/files/:documentId | 硬删除单个文档(级联清理 chunks/FTS/embeddings)。 |
| POST | /api/v1/knowledge-bases/:id/files/:documentId/reindex | 重试/重建单个文档向量;成功后 status 置为 ready。 |
| POST | /api/v1/knowledge-bases/:id/files/import | 从 FileAssetRef 导入文档。 |
| POST | /api/v1/knowledge-bases/:id/search | 检索调试。 |
| POST | /api/v1/knowledge-bases/:id/reindex | 重建索引,返回 job;成功后文档 status 置为 ready。 |
| Method | Path | 用途 |
|---|
| GET / POST | /api/v1/mcp-servers | 列出或创建 MCP Server。 |
| GET / PATCH / DELETE | /api/v1/mcp-servers/:id | 读取、更新或删除 MCP Server。 |
| POST | /api/v1/mcp-servers/:id/test | 测试 MCP Server。 |
| GET | /api/v1/mcp-servers/:id/tools | 拉取 tools manifest。 |
| GET / POST | /api/v1/skills | 列出或上传 Skill。 |
| POST | /api/v1/skills/select | 预览本次 run 的 Skill 筛选结果。 |
| GET / PATCH / DELETE | /api/v1/skills/:id | 读取、更新或删除 Skill。 |
| POST | /api/v1/skills/:id/test | 测试 Skill。 |
| POST | /api/v1/skills/:id/validate | 验证 Skill。 |
| POST | /api/v1/skills/:id/replace | 替换 Skill package。 |
文件
| Method | Path | 用途 |
|---|
| GET | /api/v1/files | 列出文件资产。支持 scope、origin、source、sessionId。 |
| POST | /api/v1/files | 批量上传文件。需在 multipart 字段或请求头提供 session id。 |
| GET | /api/v1/files/:id | 读取文件引用。 |
| POST | /api/v1/files/:id/promote | 把 session-scoped 文件提升为跨会话工作区文件。 |
| DELETE | /api/v1/files/:id | 删除文件引用。 |
| GET | /api/v1/files/:id/download | 下载文件内容。 |
| POST | /api/v1/chat/uploads | 上传本次对话附件。 |
| Method | Path | 用途 |
|---|
| GET | /api/v1/artifacts?sessionId=:sessionId | 列出某个会话的产出。 |
| GET | /api/v1/artifacts/:id | 读取产出详情。 |
| GET | /api/v1/artifacts/:id/preview | 读取预览 JSON。 |
| GET | /api/v1/artifacts/:id/content | 读取 inline 内容。 |
| GET | /api/v1/artifacts/:id/download | 下载产出。可带 format。 |
| POST | /api/v1/artifacts/:id/promote | 把文件型产出加入工作区文件。 |
| POST | /api/v1/artifacts/:id/export | 导出指定格式,返回 job。 |
| Method | Path | 用途 |
|---|
| GET | /api/v1/query-history | 列出 SQL 查询历史。支持 sessionId、datasourceId、favorite、limit。 |
| POST | /api/v1/query-history/:id/favorite | 收藏一条查询。 |
| POST | /api/v1/query-history/:id/unfavorite | 取消收藏。 |
| PATCH | /api/v1/query-history/:id | 用 { "favorite": true | false } 更新收藏状态。 |
| Method | Path | 用途 |
|---|
| GET | /api/v1/jobs/:id | 查询异步任务。 |
| POST | /api/v1/jobs/:id/cancel | 取消异步任务。 |
写入约定
- JSON 请求体默认上限为 1 MiB。
PATCH 支持 revision 或 If-Match 乐观并发控制。
- schema 抓取、索引重建、artifact export 可使用
Idempotency-Key。
- 凭据只在创建或更新资源时提交。
- 读接口不返回明文密码、Token 或完整连接串。
延伸阅读