Skip to main content
API 参考文档目前仅提供英文版本。如果您正在查看其他语言版本的此页面,请切换到英文版本 — 完整的 API 端点列表将显示在左侧边栏中。
FIM One 提供 REST API,用于以编程方式访问 AI 智能体、对话、知识库等。

基础 URL

身份验证

所有 API 请求都需要通过 API 密钥或 JWT 令牌进行身份验证。

使用 API 密钥

Authorization 标头中包含您的 API 密钥:

使用 JWT 令牌

对于 SSE 流式端点(/api/react/api/dag),你可以在请求体中传递令牌:
有关详细的设置说明,请参阅身份验证

响应格式

成功响应

所有成功的 API 响应遵循以下结构:

错误响应

错误响应包括错误代码和人类可读的消息:

分页响应

列表端点返回分页结果:

流式传输 (Server-Sent Events)

聊天端点 (POST /api/reactPOST /api/dag) 返回 Server-Sent Events 以实现实时流式传输。每个事件都有一个 type 字段,指示其内容:

SSE 流示例

基于游标的恢复

每个 SSE 事件都携带一个限定于对话的单调递增 cursor 整数。客户端应跟踪看到的最高游标。当连接在转向中断时(网络错误、代理超时、服务器重启),客户端可以重新订阅而无需重新运行智能体:
响应是一个 SSE 流,重放 cursor > 42 的缓存事件,并以终端 event: resume_done 帧结束。传递 cursor: -1 以请求从头开始的完整重放。 错误响应:
  • 404 conversation_not_found — 对话 id 无效或不由已认证用户拥有
  • 404 no_recent_assistant_message — 对话没有可恢复的持久化助手转向(例如,没有用户消息的全新对话)
  • 400 invalid_cursor — 游标不是非负整数或 -1
参考前端实现(playground 中的 useSseResume hook)使用指数退避(300ms → 1s → 3s,最多 3 次尝试)自动重试网络断开连接,并区分用户主动中止和网络错误以避免意外重连。有关完整模式,请参阅 playground-page.tsx 集成。
恢复是无状态的 — 它从助手消息的存储 sse_events 数组重放。如果智能体的转向在任何助手消息被持久化之前被中断(例如,在 done 之前崩溃),悬空的 tool_use 块会在下一个转向由 DbMemory._repair_dangling_tool_calls 自动修复。合成 tool_result 行使用 metadata_.synthetic=truemetadata_.reason="interrupted" 持久化以供审计。

速率限制

计划在未来版本中实现按密钥的速率限制。目前没有强制的按密钥请求限制,但请负责任地使用 API。

分页

列表端点支持通过查询参数进行分页:
参数:
  • page(默认值:1)— 页码,从 1 开始
  • size(默认值:20)— 每页项目数,最多 100

时间戳

所有时间戳均采用 ISO 8601 格式,使用 UTC 时区:

错误代码

常见错误代码及其含义:

API 游乐场

每个端点页面都包含一个交互式 API 游乐场,您可以:
  • 直接从浏览器测试请求
  • 查看真实响应
  • 复制多种语言的请求代码
  • 使用您的 API 密钥进行身份验证
API 游乐场从您的浏览器运行请求,因此请确保您的 API 密钥具有适当的 CORS 权限(通常对同源请求默认启用)。

SDK 可用性

虽然 FIM One API 完全基于 REST,但流行语言的 SDK 已可用(或即将推出):
  • Python:即将推出
  • JavaScript/TypeScript:即将推出
  • Go:即将推出

版本控制

当前 API 版本为 v0.8.0。版本号不包含在 URL 路径中;重大变更将通过主版本号升级和迁移期来通知。

支持

如有 API 问题或疑问: