Agent API
列出 Agent
GET /v1/agents 返回当前 Runtime 已注册的 Agent。调用方应使用返回的稳定 ID 构造 run 路径,而不是依赖显示名称。
获取 Agent 详情
GET /v1/agents/:agentId 返回某个 Agent 的配置层 + 运行时层完整信息:模型、工具、MCP server、实际扫描到的 Skill、Subagent、数据集等,用于运维、调试与控制台展示。
响应(200)
返回AgentDetail 对象。未配置的字段(allowedTools、mcpServers、subagents 等)不会出现在响应里(不是 null)。
最小配置的响应:
{ description },不返回 prompt、tools、model 等内部字段:
systemPromptFile 找不到文件),status 为 "unavailable",但响应仍是 200 + 完整 AgentDetail,上游据此判断该 Agent 是否可调用:
响应(404)
agentId 不存在时:
AgentDetail 字段
配置层 vs 运行时层:
settingSources 是配置(“扫哪里”),availableSkills 是运行时(“扫到了什么”)。后者由 Runtime 在启动时根据前者扫描文件系统得出,反映真实可用的 SKILL.md 清单。
可选字段(仅在已配置时出现):
Skill 扫描与 SkillSummary
Skill 完全基于文件系统,没有白名单配置。Runtime 启动时按以下顺序扫描目录:settingSources: ["user"]→~/.openagent/skills/+extraUserSkillDirssettingSources: ["project"]→<cwd>/.openagent/skills/
availableSkills 字段,重启 Runtime 才会刷新——文件系统变化不会自动反映到详情接口。
availableSkills 数组元素(SkillSummary)的字段:
McpServerSummary 与脱敏策略
所有 MCP server 共有字段:
stdio 专属(可选):
sse / http 专属(可选):
Subagent 返回范围
每个 Subagent 仅返回{ "description": string }——保留让父 Agent 选择子代理的信息。不返回 prompt、tools、disallowedTools、model、mcpServers、skills、maxTurns。目前没有查看 Subagent 完整配置的单独端点。
兼容性
新的详情响应是旧响应({ id, status })的严格超集:旧消费者只读 id 和 status 两个字段,新增字段不影响其行为。GET /v1/agents(Agent 列表)形态不变,POST /v1/agents/:agentId/runs 行为不变,鉴权机制不变。
认证
若启用 API key,所有/v1/* 请求都要携带:
GET /health 不需要认证,可用于容器探针。
相关
- 配置:
agents.yaml的字段全集