Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
3.4 KiB
3.4 KiB
💬 零点原核 Phase 2 交付清单 · 让每个 Agent 可对话 · 2026-04-18 · 铸渊交付
第二阶段交付 · 让每个Agent可对话
后端新增
1. GLADA /api/glada/chat (glada/service.js)
- LLM多轮对话 — 调用模型路由器自动选择最佳模型,支持会话记忆(最近8轮上下文)
- 实时上下文注入 — 每次对话自动注入任务队列、模型路由、回执等状态
- 离线模式匹配 — LLM不可用时按关键词回答:任务/模型/回执/状态等
- 系统提示词包含工官的角色定位和当前状态
2. 铸渊 /api/mcp/chat (server/app/server.js)
- MCP状态查询引擎 — 不调LLM,直接从MCP Server实时拉取health/tools/agents
- 按关键词返回:工具列表(按类别分组)、Notion/GitHub/COS连接状态、Agent注册表
前端变更 (index.html)
3. 完整路由
callChatAPI根据_chatTarget路由到5个端点:zhuyuan/shuangyan→/api/chatglada→/api/glada/chatops→/api/ops/chatmcp→/api/mcp/chat
4. Agent专属UI
- 头像字符:渊/砚/官/卫/脑
- 头像颜色:铸渊=青、工官=金、守卫=绿、大脑=紫
- 打字指示器显示对应Agent名称
- 输入框placeholder随目标切换
- 点击Agent卡片自动聚焦输入框
- Agent离线时显示专属错误消息
Nginx变更
/api/mcp/chatexact match →:3800(避免被/api/mcp/→:3100拦截)- GLADA
proxy_read_timeout从30s → 120s(LLM调用需要时间)
📋 验证报告 · 全部通过
✅ Phase 1 + Phase 2 全部完成
| 验证维度 | 结果 | 详情 |
|---|---|---|
| JS语法检查 | 3/3 ✅ | glada/service.js, server/app/server.js, ops-agent/index.js |
| GLADA对话端点 | 7/7 ✅ | chat路由、限流、模型选择、Auth、离线降级、会话管理、响应格式 |
| MCP对话端点 | 6/6 ✅ | chat路由、health/tools/agents查询、7种话题分支、错误处理 |
| 前端完整性 | 12/12 ✅ | 5目标路由、头像、CSS、placeholder、离线消息、打字指示器 |
| Nginx配置 | 6/6 ✅ | mcp/chat精确匹配→3800、GLADA 120s超时、ops路由、SSE |
| 真实状态接入 | 14/14 ✅ | 心跳轮询(4个Agent)、对话路由(4个端点)、状态指示器(6项) |
🚀 冰朔部署时需要做的事情
部署到服务器后,需要按以下步骤操作:
-
拉取代码
bash
cd /opt/zhuyuan && git pull origin copilot/integrate-agent-status-in-zero-point-core -
重启GLADA(新增了chat端点)
bash
pm2 restart glada -
重启铸渊主权服务器(新增了/api/mcp/chat)
bash
pm2 restart zhuyuan-server -
重载Nginx(新增了mcp/chat精确匹配路由 + GLADA超时调整)
bash
sudo nginx -t && sudo systemctl reload nginx -
部署前端到yaoming目录
bash
cp server/sites/yaoming/index.html /opt/zhuyuan/sites/yaoming/index.html -
验证 — 打开零点原核频道 → 在对话目标选择器中切换到「工官」→ 发一条消息 → 应收到工官回复
无需重启的服务:ops-agent(chat端点已存在,无变更)、MCP Server(3100,只是加了前端路由通过3800的代理端点)