Skip to content

对外服务(能力六:REST API + Web 管理台)

一句话定位:Web Service 是 YokeOS 的对外完整门面——业务系统用 HTTP 调一下就能用上 Agent,不用关心内部怎么实现;这是企业把 AI 能力嵌入已有业务系统的唯一通道。

它解决什么

没有对外服务,YokeOS 只是一个 CLI 工具,无法跟企业现有业务系统集成。有了它:告警系统经 HTTP 调运维 Agent 做事件驱动的分诊;客服系统把会话接到客服 Agent;任何能发 HTTP 请求的语言都能接入——Java、Python、Go、前端,第一阶段不出 SDK 也不需要。

18 个核心端点

统一前缀 /api/v1,按五组组织:

端点说明
会话管理POST /sessions创建会话
会话管理POST /sessions/{id}/messages发消息(触发 ReAct 循环)
会话管理GET /sessions/{id}查历史
会话管理DELETE /sessions/{id}归档会话
Agent 调用与动态管理POST /agents/generate一句话生成定义草稿(不落盘、不注册,人在环预览)
Agent 调用与动态管理POST /agents创建 Agent(落盘 + 注册,免重启)
Agent 调用与动态管理GET /agentsGET /agents/{name}列出 / 查看定义
Agent 调用与动态管理PUT /agents/{name}更新定义
Agent 调用与动态管理DELETE /agents/{name}删除(归档,不物理删)
Agent 调用与动态管理POST /agents/{name}/invoke无状态调用
工作区GET /workspace/tree工作区目录树
工作区GET /workspace/file只读查看工作区文件
信息查询GET /profiles列运行配置
信息查询GET /memory查长期记忆
信息查询GET /tools列可用 Tool
系统状态GET /health健康检查
系统状态GET /info运行信息 + Provider 状态

统一响应信封:{ "code", "message", "data", "timestamp" },成功与错误共用;标准 HTTP 状态码加内部错误码(400 参数错误、404 不存在、500 内部错误、503 Provider 故障)。

Web 管理台第一版

与 REST 同端口、同进程托管的 Vue 3 单页应用,给运营方一个不碰命令行的窗口:

  • 只读观察五页:会话、Agent(Profile)、Tool、长期记忆、系统状态(含各 Provider 连通情况)——数据全部来自只读端点,界面不设写入口
  • Agent 管理页:列表 + 查看/编辑/删除 + 「一句话新建 → 预览可改 → 创建」流程(与 REST 同一组 API)
  • 工作区页:目录树 + 只读浏览文件(服务端做防目录穿越校验)

管理台以「看得见、管得了 Agent」为界,只调用同一组 REST 端点,不带独立后端逻辑。

业务系统集成四模式

模式方式适用
同步调用POST /agents/{name}/invoke 等返回Stateless 短任务
会话保持先创建 Session,后续多次发消息连续对话
Webhook 触发告警系统、CI/CD 通过 Webhook 调 Agent事件驱动
跨语言集成任何能发 HTTP 请求的语言通用集成

第一阶段边界

  • 不做认证机制(无认证假设内网)、流式响应 SSE、WebSocket、RBAC 权限、限流——放扩展阶段
  • 定时任务管理端点(任务查询/执行历史/立即补跑/启停)与白名单管理端点显式列为扩展规划位(见 ADR 0008):第一阶段的可查性由 scheduled_tasks/task_executions 落库加 Session 查询与审计表承接,白名单走配置文件形态
  • 请求限制:单条消息最大 32KB,Session 历史最多返回最近 100 条,Agent 调用最长 60 秒超时