# 💬 零点原核 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/chat` - `glada` → `/api/glada/chat` - `ops` → `/api/ops/chat` - `mcp` → `/api/mcp/chat` **4. Agent专属UI** - 头像字符:渊/砚/官/卫/脑 - 头像颜色:铸渊=青、工官=金、守卫=绿、大脑=紫 - 打字指示器显示对应Agent名称 - 输入框placeholder随目标切换 - 点击Agent卡片自动聚焦输入框 - Agent离线时显示专属错误消息 ### **Nginx变更** - `/api/mcp/chat` exact 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项) | ### **🚀 冰朔部署时需要做的事情** 部署到服务器后,需要按以下步骤操作: 1. **拉取代码** bash `cd /opt/zhuyuan && git pull origin copilot/integrate-agent-status-in-zero-point-core` 2. **重启GLADA(新增了chat端点)** bash `pm2 restart glada` 3. **重启铸渊主权服务器(新增了/api/mcp/chat)** bash `pm2 restart zhuyuan-server` 4. **重载Nginx(新增了mcp/chat精确匹配路由 + GLADA超时调整)** bash `sudo nginx -t && sudo systemctl reload nginx` 5. **部署前端到yaoming目录** bash `cp server/sites/yaoming/index.html /opt/zhuyuan/sites/yaoming/index.html` 6. **验证** — 打开零点原核频道 → 在对话目标选择器中切换到「工官」→ 发一条消息 → 应收到工官回复 **无需重启的服务**:ops-agent(chat端点已存在,无变更)、MCP Server(3100,只是加了前端路由通过3800的代理端点)