跳转至

Project Chameleon MVP Phase 1

概览

Phase 1 提供一个端到端的最小聊天示例:FastAPI + WebSocket 实时通信、LangGraph 编排、 PostgreSQL 持久化,以及一个最小化的 React 客户端。

后端端点

  • GET /healthz:健康检查。
  • GET /sessions:最近会话列表。
  • GET /sessions/{session_id}/messages:会话历史消息。
  • WS /ws/{session_id}:实时聊天流。

WebSocket 载荷

客户端 -> 服务端:

{
  "role": "user",
  "content": "Hello",
  "event": "user_message"
}

事件说明: - user_message:用户或代理消息的默认事件。 - agent_takeover:切换至 HUMAN_ACTIVE。 - agent_release:切回 AI_ACTIVE

服务端 -> 客户端(消息):

{
  "type": "message",
  "payload": {
    "id": "...",
    "session_id": "...",
    "role": "assistant",
    "content": "Hi!",
    "created_at": "2026-02-01T12:00:00+00:00"
  }
}

系统/状态更新:

{
  "type": "system",
  "payload": {
    "status": "HUMAN_ACTIVE"
  }
}

编排器状态

  • AI_ACTIVE:用户消息触发 LLM 响应。
  • HUMAN_ACTIVE:人工消息直接转发。

数据库

默认使用 PostgreSQL(postgresql+psycopg2://localhost:5432/chameleon_meta),可通过 DATABASE_URL 覆盖。

前端

npm install
npm run dev

如需指向非默认后端地址,可设置 VITE_API_BASE

参考

编排器与输入/输出模型的 API 说明请参见「AI Agent / 编排器」章节。