Skip to main content

API Reference

Hub HTTP 接口主要位于 /api/v1。所有 /api/v1/* 接口都需要 Authorization: Bearer <JWT>(CLI token 也可作为 bearer token 使用)。认证模式决定登录流程,但业务接口仍由 Hub 的角色中间件授权。 角色(admin / maintainer / member)由 Hub 本地管理,见 配置/api/v1/admin/* 路径按两个分组注册在相同路径上:
  • adminWriteRequireManager = admin + maintainer):所有写方法(POST/PUT/PATCH/DELETE)与敏感读(AIGC 配置、Agent 运行时文件内容 files/content、Provider 密钥明文)。
  • adminRead(admin + maintainer + member):非敏感 GET(列表、详情、tools/skills/mcps/knowledge 绑定、文件列表、部署状态)。member 只读。
用户管理(/api/v1/admin/users/api/v1/admin/invites)仅 admin 可用(RequireAdmin)。

接口区域

Ops API 默认不挂载,未配置时返回 404。外部自动化应先确认部署采用的认证模式,并保存最小权限 token。

认证

两个可互换的认证后端由 AUTH_MODE 选择(默认 builtin):

Agent(公开)

Provider(公开,供客户端消费)

明文密钥仅 admin/maintainer 可通过 POST /api/v1/admin/providers/:id/reveal-key 获取。

Skill(公开)

Scene(公开)

Chat(普通用户)

管理端点(/api/v1/admin/*

覆盖 Agent / Tool / Skill / Scene / Provider / Knowledge / Chat 的 CRUD 与探活。重要成员:

审计日志(仅 admin)

GET /api/v1/admin/audit-logs——审计查询,仅 admin(RequireAdmin;maintainer/member 返回 403)。审计日志只读,没有更新/删除接口。 查询参数: 响应(按 createdAt DESC, id DESC 排序):
  • id / snapshotId 是十进制字符串:uint64 超过 2^53-1 的值作为 JS number 会丢精度——保持字符串,绝不转成 number。
  • detail 是 JSON 对象或 null,结构由按 action 的强类型白名单决定。
  • status 为三态:success / failure / partial

CLI Tokens(/api/v1/cli/*——仅 admin/maintainer)

CLI token 拥有与签发用户相同的权限。

Ops API(/api/v1/ops/*——X-Ops-Key 请求头)

仅在设置 OPS_API_KEY 时挂载。用于登记各组织的 Casdoor OAuth client(多组织登录),运维手册见 配置

Agent ID、部署键与公开 URL

自 deployer v3.1 起,已部署 Agent 携带三个相互独立的标识:
  • Agent ID(裸 <name>):runtime agent 图身份;Hub 的聊天/详情代理通过 /v1/agents/<name> 裸名寻址 runtime(subagent 同样使用裸名)。
  • Deployment key<org>-<name>):Kong 实体 / deployer 容器键——所有生命周期寻址(get/start/stop/delete)与网关实体命名。
  • Public URL:casdoor 模式为 https://<gateway>/<org>/<name>;builtin 模式为 https://<gateway>/<name>(无 /default 前缀,但部署键仍保留 default- 前缀)。无 Kong 时,Hub 代理在 /runtime 前缀下提供相同路径。

Provider 探活示例

核心能力端点速查

自定义工具

  • 单文件 .ts/.mts/.js/.mjs,≤ 5 MiB;工具名来自文件默认导出的 name(Hub 不执行代码,由 Runtime 在部署时校验)。
  • tools.sourcebuiltin(共享只读预设)/ custom(租户制品);custom 制品状态派生 ready | missing
  • 删除仍被 Agent 挂载的自定义工具返回 409 + data.agents 名单;内置工具拒绝一切写操作。
  • 部署请求向 agent-deployer 下发 customTools []ToolSource{name,url,hash,fileName}(仅 custom + ready,按名排序;URL = OSS_CDN_HOST + 内容寻址 key)。
  • PUT /api/v1/admin/tools/:name 仅接受 title / description / descriptionEn;其他字段(如 isDefault)会被静默忽略。