HTTP Gateway

wesgine 通过 HTTP Gateway 暴露所有功能。所有 Cell 业务端点都在 /cells/{cellID}/ 路径下。

路由结构

/health                              # 健康检查(无 auth)
/admin/*                             # Hypervisor 管理(admin token)
/cells/{cellID}/*                    # Cell 业务端点

核心端点

Runtime — 对话与执行

方法路径说明
POST/cells/{id}/runSSE 流式 Run
POST/cells/{id}/chat同步 Chat
GET/cells/{id}/runs/{runID}/eventsSSE 事件重放

Run 请求示例:

{
  "actor": "alice",
  "session_id": "s1",
  "agent_id": "default",
  "model": "gpt-4o",
  "messages": [
    {"role": "user", "content": "你好"}
  ]
}

Run 生命周期与 SSE 连接解耦——SSE 断开不会取消 Run。

Sessions — 会话管理

方法路径说明
GET/cells/{id}/sessions列出会话
GET/cells/{id}/sessions/{sid}/messages消息列表
DELETE/cells/{id}/sessions/{sid}删除会话
POST/cells/{id}/sessions/{sid}/interrupt中断当前 Run

Memory — 记忆管理

方法路径说明
GET/cells/{id}/memory列出记忆
POST/cells/{id}/memory保存记忆条目
POST/cells/{id}/memory/search语义搜索
GET/cells/{id}/memory/counts每层条数
DELETE/cells/{id}/memory/{mid}删除单条

Agents — Agent 配置

方法路径说明
GET/cells/{id}/agents列出 Agent
POST/cells/{id}/agents注册/更新
DELETE/cells/{id}/agents/{aid}删除

Knowledge — 知识库

方法路径说明
POST/cells/{id}/knowledge/search语义搜索
POST/cells/{id}/knowledge/ingest上传文件
GET/cells/{id}/knowledge/sources数据源列表
GET/cells/{id}/knowledge/files文件列表

Observe — 可观测

方法路径说明
GET/cells/{id}/observe/token-usageToken 用量
GET/cells/{id}/observe/runsRun 列表
GET/cells/{id}/observe/stats统计信息

Admin 端点

方法路径说明
GET/admin/cells列出所有 Cell
POST/admin/cells创建 Cell
PATCH/admin/cells/{id}更新 CellSpec
DELETE/admin/cells/{id}删除 Cell
GET/admin/cells/{id}/export导出 Cell
POST/admin/cells/import导入 Cell
GET/admin/shared-providers共享 Provider 列表
POST/admin/shared-providers配置共享 Provider
GET/admin/observe/snapshotHypervisor 快照

认证

签发 Token:

# Admin Token
curl -X POST http://localhost:9091/admin/tokens

# Cell Token
curl -X POST http://localhost:9091/cells/my-cell/tokens

中间件链

请求经过以下中间件:

path parse → cell exist → auth → state → quota → dispatch

SSE 事件格式

Run 的 SSE 流包含以下事件类型:

事件说明
stream_delta模型输出片段(流式文本)
tool_start工具调用开始
tool_result工具调用结果
plan_created计划创建
plan_updated计划步骤更新
doneRun 正常完成
error错误

SSE 断开后可通过 GET /cells/{id}/runs/{runID}/events?from_seq=N 续播事件。