任务清单|EMS 知识库 · 专家 Skill · 架构 HTML · 网站 · 飞书智能体
- 需求号:REQ-001
- 出具日期:2026-10-15
- 源码基准:
platform-ems-3-6-plain/,git 04e72700,版本 V0.11.676
- 站点基线:
https://xiao-ma.xoato.com → 47.239.25.159(2026-10-15 由 maxiao.xoato.com / 8.133.19.10 变更,见 ADR-013)
本文件是 REQ-001 的完整拆解。每一项都要与用户逐点确认后才能动手,确认结果回写「确认」列。
未确认项一律不动手、不部署。
⚠️ 2026-10-15 环境变更:§一 是对旧环境的实测记录(当时为真,保留不改)。
新环境 47.239.25.159 / xiao-ma.xoato.com 的实测结果与差异见 服务器接入指引.md 第一、二节:
新机只有 SSH,80/443 不通、尚无 Web 服务;旧机仍在线且对外服务中。
一、现状核实(已实测,2026-10-15 —— 对象为旧环境 8.133.19.10)
这一节全部是实测结论,不是推测,是后续所有任务的前置事实。
1.1 本地代码与知识库资产
| 项 | 实测结果 |
|---|
platform-ems-3-6/ | 264 个 .c 文件全部为加密二进制(file 判定 data,首字节 340 250 221 347 330 362),共 482 个文件。不可读,不能作为知识库基准 |
platform-ems-3-6-plain/ | 264 个 .c 全部为可读明文,共 482 文件。这是知识库源码基准 |
| 两份 git HEAD | 均为 04e72700(G3-S10申请版本号V0.11.676) |
| 已有知识库 | platform-ems-3-6-plain/docs/代码解析/,205 个文件、5.1 MB(git 中未跟踪) |
| 逐文件解析 | 191 份 .md,按 7 节固定结构(文件职责 / 数据结构 / 函数清单 / 核心逻辑 / 对外接口 / 依赖 / 风险点) |
| 索引层 | 索引/:功能索引 7 份(1776 行,自然语言→源文件)、函数索引.tsv 2364 条、类型与宏索引.tsv 2787 条、全局变量索引.tsv 505 条 |
| 检索脚本 | 索引/工具/查找.js(综合/功能/函数/宏/变量/全文/路径反查)、索引/工具/生成索引.js(重跑重建 TSV) |
| 排除未纳 | _excluded_hmi_ui_docs/ 共 77 份 HMI 菜单界面文档(属 hmi/ui/,当时按要求排除) |
根 docs/ | 原为空。本次已建 README.md / 需求台账.md / 变更日志.md |
1.2 服务器与线上站点(已实测)
| 项 | 实测结果 |
|---|
| DNS | maxiao.xoato.com → 8.133.19.10 ✔ 解析正常 |
| 连通性 | ping 通,平均 46 ms |
| 端口 | 22(SSH)开放、80 开放、443 开放 |
| Web 服务 | nginx/1.18.0 (Ubuntu) |
| HTTP | http://maxiao.xoato.com/ → 301 跳 HTTPS |
| HTTPS | https://maxiao.xoato.com/ → 200,TLS 证书校验通过(ssl_verify_result=0) |
| 现有站点 | 标题「椰果的故障诊断 Agent」,静态页,最后修改 2026-10-13 |
| 现有页面 | /(概览 + 健康自检)、/test.html(发问测试台,14.7 KB) |
| 现有后端 | /healthz → {"ok":true,"running":0};/mcp 为 MCP(JSON-RPC) 网关,未带密钥访问返回 401 Unauthorized |
| 现有链路(页面自述) | 飞书 aily → POST /mcp → Nginx → MCP 网关 → pi → DeepSeek,单次最长 95 秒 |
| 现有工具名 | ask_fault_expert |
| 现有配置线索 | 密钥 MCP_API_KEY 为 48 位十六进制,存于服务器 /etc/agent/agent.env;网关为 agent-gateway 服务(日志 journalctl -u agent-gateway) |
| 未知/阻塞 | 服务器 SSH 账号与凭据、服务器上存量文件清单、飞书 aily 应用归属与配置权限、DeepSeek Key 归属 |
结论:用户说的"之前的功能"= 已上线的「故障诊断 Agent」站点 + /mcp MCP 网关 + 飞书 aily 调用链路。本次不是从零建站,而是在这条既有链路上做「知识库 + Skill + 页面 + 飞书」的扩容。
二、需求逐句拆解
| # | 需求原文(用户) | 实质含义 | 归属任务组 |
|---|
| R1 | 往后所有的需求都记录在 docs 里,每次修改或新增都要记录 | 建立需求台账 + 变更日志纪律,并让后续会话自动遵守 | G 治理 |
| R2 | 根据整套代码逻辑生成知识库文档,同步之前解析过的 | 把已有 191 份解析纳入统一知识库,并保持与源码版本同步 | K 知识库 |
| R3 | 我说功能,找到对应的函数 | 功能→函数级定位(现有功能索引只到文件级,需下钻到函数+行号) | K 知识库 |
| R4 | 现场有故障能帮我快速定位问题 | 新建"故障现象/故障码 → 原因 → 关键函数 → 排查步骤"速查库 | K 知识库 |
| R5 | 根据代码功能生成一个"机器人 EMS 专家 skill" | 把知识库 + 检索流程 + 编码规范封装成 skill,供后续会话复用 | S Skill |
| R6 | 使用这个 skill 可以实现相关问题查询和代码编写 | skill 必须同时覆盖"问答定位"和"写代码"两类任务 | S Skill |
| R7 | 读 skill-creator,生成架构拆解与功能案例讲解的 HTML | 按 skill-creator 方法论产出单文件讲解页 | H HTML |
| R8 | 视觉效果浅色、结构清晰、适用于展示 | 浅色主题、打印/投屏友好、单文件零依赖 | H HTML |
| R9 | 输出到 docs/output/skill-ems.html | 固定路径交付 | H HTML |
| R10 | 以后所有功能都输出到这个网址上显示 | 站点成为所有产出的统一出口,建立部署流程 | W 网站 |
| R11 | 网站要能承接完成我之前的功能 | 保留并兼容现有「故障诊断 Agent」+ /mcp 网关,不推倒重来 | W 网站 |
| R12 | 网站接入飞书智能体,既能网站提问回答,也能飞书自动应答 | 网页问答 + 飞书机器人问答共用同一套问答引擎 | F 飞书 |
| R13 | 拆分要求做详细任务清单,生成 md 放 docs/output | 本文件 | — |
| R14 | 每一个点都跟我确认,一个个来 | 逐点确认流程,未确认不动手 | A 验收 |
三、任务清单(WBS)
状态列:待确认 / 已确认 / 进行中 / 已完成 / 阻塞。所有任务默认"待确认",用户逐点点头后才转"进行中"。
G|文档与变更治理(保证"每次都记录"落地)
| 编号 | 任务 | 产出物 | 验收标准 | 状态 |
|---|
| G1 | 建立 docs/README.md 记录纪律与目录约定 | docs/README.md | ✅ 已建 | 已完成 |
| G2 | 建立需求台账,登记 REQ-001 原文 | docs/需求台账.md | ✅ 已建 | 已完成 |
| G3 | 建立变更日志(每次改动追加一条) | docs/变更日志.md | ✅ 已建 | 已完成 |
| G4 | 建立决策记录(ADR:记录技术选型取舍) | docs/决策记录.md | 文件存在,含 Q2/Q5/Q6 的决策条目 | 待确认 |
| G5 | 把记录纪律写进根 AGENTS.md,让后续所有会话自动遵守(否则只靠人提醒必然漏记) | 根 AGENTS.md | 新会话无需提醒即会先登记需求再动手 | 待确认 |
| G6 | 在 platform-ems-3-6-plain/ 也放一份说明,指向根 docs/ 为唯一记录中心 | platform-ems-3-6-plain/AGENTS.md 或说明文件 | 避免两处各记一份导致不一致 | 待确认 |
K|知识库(核心,工作量最大)
| 编号 | 任务 | 产出物 | 验收标准 | 状态 |
|---|
| K1 | 冻结源码基准:记录 platform-ems-3-6-plain 的 commit、版本号、482 文件清单与哈希 | docs/knowledge/基准版本.md + 哈希清单 | 可凭哈希判定文档是否与代码同版本 | 待确认 |
| K2 | 已有 191 份逐文件解析迁入统一知识库目录(移动或链接,不做两份,见 Q2) | docs/knowledge/代码解析/(191 份) | 路径可用,内容零丢失,README.md 索引链接不失效 | 待确认 |
| K3 | 索引层迁入:功能索引 7 份 + 3 个 TSV + 查找.js/生成索引.js | docs/knowledge/索引/ | node 索引/工具/查找.js 削峰填谷 能命中 | 待确认 |
| K4 | 决定 77 份 HMI UI 文档是否纳入(现于 _excluded_hmi_ui_docs/) | 决策 + 目录 | 见 Q3 | 待确认 |
| K5 | 一致性校验:重跑 生成索引.js,与现有 TSV 比对,输出差异报告 | docs/output/索引一致性报告.md | 差异条目全部有解释(新增/删除/误判) | 待确认 |
| K6 | 功能 → 函数级定位增强:把功能索引从"文件级"下钻到"函数名 + 行号" | 增强版功能索引(含函数列) | 抽 30 条功能问法,命中函数名与行号且与源码对得上 | 待确认 |
| K7 | 故障速查库(R4 的核心交付,现有资产里没有) | docs/knowledge/故障速查/ | 见下方 K7.x | 待确认 |
| K7.1 | 故障码全量表:从 data/data.c、g_t_ems_info 位图提取全部 EMS 故障码 → 码值/名称/触发条件/关键函数 | 故障码总表.md | 覆盖位图全部 bit,无遗漏 | 待确认 |
| K7.2 | BMS 类故障速查(midware/bms/bms.c、alpha/battery_comm.c) | 分册 md | 每条含现象→原因→函数→排查步骤 | 待确认 |
| K7.3 | 逆变器通信类(超时降级、通信丢失、6 家厂商协议) | 分册 md | 同上 | 待确认 |
| K7.4 | 并机类(CAN/SCI 通道、主机从机) | 分册 md | 同上 | 待确认 |
| K7.5 | 电表/CT/备电盒类 | 分册 md | 同上 | 待确认 |
| K7.6 | 上云/网络类(net/server.c、net/ems.c、W5500、WIFI/4G 棒) | 分册 md | 同上 | 待确认 |
| K7.7 | 自检类(logic/self_test.c)+ 故障告警日志读取(data/fault_warn_log/) | 分册 md | 同上 | 待确认 |
| K7.8 | 现场排查 SOP:怎么导日志、看哪个界面、用哪个 USMART 命令 | 现场排查SOP.md | 现场人员可按步骤独立执行 | 待确认 |
| K8 | 统一检索入口:一条命令跨功能/函数/宏/变量/全文/故障速查 | 升级版 查找.js | 支持 -F 查故障速查;输出含函数名+行号 | 待确认 |
| K9 | 知识库质量验收:抽样 30 条"功能→函数" + 20 条"故障→原因"人工核对 | docs/output/知识库抽检报告.md | 准确率 ≥ 90%,错项逐条修正 | 待确认 |
S|EMS 专家 Skill
| 编号 | 任务 | 产出物 | 验收标准 | 状态 |
|---|
| S1 | 按 skill-creator 流程做目标访谈(触发词、输出格式、要不要跑 eval) | 访谈记录(写进需求台账) | 四点问清:能做什么 / 何时触发 / 输出格式 / 是否评测 | 待确认 |
| S2 | 定 skill 名称与 description(触发词要"推一把",覆盖 EMS/储能/故障码/削峰填谷/并机/BMS 等) | skill 元信息 | 见 Q1 | 待确认 |
| S3 | 写 SKILL.md 主体:何时用、检索顺序、回答"功能→函数"的标准流程 | SKILL.md | 按流程能独立走通一次功能定位 | 待确认 |
| S4 | 打包资源:索引 TSV + 功能索引 + 故障速查 + 查找.js 随 skill 一起走(保证脱离本机也能用) | references/ scripts/ | 拷到别的机器也能检索 | 待确认 |
| S5 | 故障定位工作流写进 skill:先问什么(机型/固件版本/故障码/现象)、查哪张表、按什么格式给结论 | skill 章节 | 给定现场描述,能产出"原因排序 + 排查步骤 + 对应函数" | 待确认 |
| S6 | 代码编写能力写进 skill:模块边界、命名约定、加故障码/功能码/新机型/新协议的正确做法、已知坑(如厂商分支受 INVERTER_TYPE 编译开关影响等) | skill 章节 | 能按规范产出可编译、风格一致的补丁 | 待确认 |
| S7 | 编写测试用例集(功能定位 / 故障定位 / 写代码,各若干条) | evals/ | 用例可复现 | 待确认 |
| S8 | 跑 eval 并迭代(skill-creator 的标准闭环) | 评测报告 | 见 Q11(是否要做) | 待确认 |
| S9 | 优化 description 触发准确率 | 更新后的 description | 典型提问能稳定触发 skill | 待确认 |
| S10 | 落地到 .agents/skills/(位置与命名见 Q1) | skill 目录 | 新会话技能清单里出现 | 待确认 |
H|架构拆解与功能案例讲解 HTML
| 编号 | 任务 | 产出物 | 验收标准 | 状态 |
|---|
| H1 | 读 .agents/skills/skill-creator,确认可复用的表达框架(讲清"是什么/怎么用/案例") | 要点摘录 | — | 待确认 |
| H2 | 定内容大纲:分层架构图 / 17 个 uCOS-II 任务模型 / 控制闭环 / 核心全局变量 / 模块职责 / 功能案例 | 大纲 | 见 Q10(案例选哪几个) | 待确认 |
| H3 | 生成 docs/output/skill-ems.html(单文件、内联 SVG、零外部依赖) | HTML | 断网打开正常,路径正确 | 待确认 |
| H4 | 视觉验收:浅色主题、层级清晰、投屏/打印可读 | 视觉自检 | 浅色无深色反转、无横向滚动、字号可读 | 待确认 |
| H5 | 与知识库交叉链接(页内指向对应解析文档与函数) | 更新后的 HTML | 可点击跳转 | 待确认 |
W|网站(承接既有功能 + 统一出口)
2026-10-15 重大变更:目标环境改为 47.239.25.159,旧机 8.133.19.10 按 方案 A 退役(ADR-015)。
原本"在既有站点上扩容"的工作,变成"把既有功能整套迁移到白板新机"。
完整迁移步骤与回滚方案见 迁移方案.md —— 执行前必须通读。
核心原则:旧机全程不改、只读,这样回滚就等于改一条 DNS。
| 编号 | 任务 | 产出物 | 验收标准 | 状态 |
|---|
| W0 | ~~决定旧环境是否退役~~ | — | ✅ 已确认:方案 A —— 旧机退役,整套迁往新机(ADR-015) | 已完成 |
| W0-pre | 两个前置(你做):① 阿里云安全组放行新机 80/443(现在全不通,云平台层放行,机器内改防火墙无效)② 提供新机 SSH 用户名 + 装公钥(旧机 SSH 也尚未取得) | 新机 80/443 可达 + 两台可达 | curl 到新机 80 端口有响应;ssh -i ~/.ssh/id_ems_deploy <用户名>@47.239.25.159 能登入 | 阻塞 |
| W0b | 两台全量备份 + 回滚演练(迁移的硬门槛,未通过不得改动任何线上文件) | 备份包(拉回本机一份)+ rollback.sh | 实际演练过一次还原,不是只写脚本 | 待确认 |
| W2 | 盘点旧机(只读):nginx conf、站点根目录、agent-gateway.service、/etc/agent/(只看键名)、pi 到底是什么、证书签发方式、运行时清单 | docs/output/服务器现状盘点.md | 迁移方案.md 第七节「待盘点清单」全部有结论 | 待确认 |
| W0c | 迁移部署到新机(DNS 仍指旧机,对外无感) | 新机上站点 + /mcp 可用 | 用 curl --resolve 绕过 DNS 验证通过;/mcp 未带密钥返回 401(与旧机一致) | 待确认 |
| W7 | 签 xiao-ma.xoato.com 证书并启用 HTTPS(旧证书签的是 maxiao,不能复用) | 有效 TLS | https 无证书告警;自动续期已配 | 待确认 |
| W7b | 切换:改 DNS + 改飞书 aily 指向 ← 唯一的对外中断窗口 | 切换完成 | 新机承载全部流量;飞书问答恢复 | 待确认 |
| W7c | 观察期(建议 ≥ 3 天)→ 旧机退役 | 退役操作记录 | 观察期无异常;旧机处置时 /etc/agent/ 与备份包妥善清理 | 待确认 |
| W3 | 旧机退役前的回滚能力保障:确认旧机全程未被改动 | 回滚步骤(改 DNS 即可) | 旧机 git/配置与迁移前一致;DNS 改回即可恢复 | 待确认 |
| W4 | 定站点信息架构:首页 / 架构讲解(skill-ems.html) / 知识库浏览 / 功能→函数检索 / 故障速查 / 问答 | 站点地图 | 与用户确认导航 | 待确认 |
| W5 | 知识库上站:把 191 份解析 + 索引做成可浏览、可搜索的页面 | 站点页面 | 站上能搜"削峰填谷"并跳到函数 | 待确认 |
| W6 | 问答接入既有 /mcp 网关(复用 ask_fault_expert,或新增知识库工具) | 前端问答页 | 站上提问能拿到知识库答案 | 待确认 |
| W7 | 保持 HTTPS 与域名(证书现有有效,验证自动续期) | 续期确认 | 到期前自动续,https 无告警 | 待确认 |
| W8 | 部署流程脚本化(一条命令发布 + 一条命令回滚) | deploy.sh / rollback.sh | 可重复执行,幂等 | 待确认 |
| W9 | 监控:扩展 /healthz 覆盖新服务,页面上能看到各组件状态 | 健康页 | 任一组件挂掉页面能显示 | 待确认 |
| W10 | 端到端验收:站上提问 → 命中知识库 → 返回带函数定位的答案 | 验收记录 | 3 个真实问题全部通过 | 待确认 |
F|飞书智能体接入
| 编号 | 任务 | 产出物 | 验收标准 | 状态 |
|---|
| F1 | 明确飞书接入形态(见 Q6):沿用现有 飞书 aily → /mcp,还是新建自建应用机器人(事件订阅),还是两者都要 | 决策记录 | 结论写入 决策记录.md | 待确认 |
| F2 | 若沿用 aily:核对 aily 应用已绑定的工具、补齐知识库能力、验证回复质量 | aily 配置说明 | 飞书里提问得到 EMS 答案 | 待确认 |
| F3 | 若走自建应用机器人:创建应用 → 申请权限(im:message 等)→ 配置事件订阅 im.message.receive_v1 → 回调 URL → 验签 | 应用配置 + 回调服务 | 群里 @机器人 有应答 | 待确认 |
| F4 | 网页问答与飞书应答共用同一套引擎(知识库检索 + 大模型),避免两套答案不一致 | 统一服务 | 同一问题两处答案一致 | 待确认 |
| F5 | 安全加固:验签、密钥管理、限流、日志脱敏、无鉴权不放行 | 安全清单 | 未授权请求被拒(现 /mcp 已 401,需保持) | 待确认 |
| F6 | 日志与可观测:请求记录、耗时、失败原因可查 | 日志方案 | 出问题能定位是哪一段挂了 | 待确认 |
| F7 | 飞书端到端验收:真人在飞书提问 3 个真实问题 | 验收记录 | 全部回复正确且指向函数 | 待确认 |
A|验收与流程
| 编号 | 任务 | 产出物 | 验收标准 | 状态 |
|---|
| A1 | 本清单逐点确认(用户点名 → 我改状态 → 才动手) | 本文件「状态」列 | 全部点确认完毕 | 进行中 |
| A2 | 每完成一个任务,回写 docs/变更日志.md | 变更日志 | 无遗漏 | 待确认 |
| A3 | 全部完成后出交付说明(怎么用、怎么再生成、怎么回滚) | docs/output/交付说明.md | 新人可独立操作 | 待确认 |
四、待确认点(Q 清单)
状态:Q1~Q15 已于 2026-10-15 全部确认完毕,答案见本文件 §八。
下表保留为原始提问记录(只追加,不删改);每条结论已写入 docs/决策记录.md 的 ADR-001 ~ ADR-010。
第一批(决定架构走向,最优先)
| 编号 | 待确认问题 | 为什么必须问 | 影响范围 |
|---|
| Q1 | 「机器人 EMS 专家 skill」到底指什么?(a) 一个"EMS 专家" skill;(b) "机器人 + EMS"两个 skill(工程里已有 robot-communication-protocol 法奥机器人 skill);(c) 指给飞书机器人用的 skill | 名字与内容完全不同,做错要重做 | S2/S10 |
| Q2 | 知识库统一放根 docs/knowledge/(迁移,单一副本),还是留在 platform-ems-3-6-plain/docs/代码解析/(原地不动,只在根 docs 放链接)? | 影响所有文档路径与索引相对链接,事后改成本高 | K2/K3、HTML 链接 |
| Q3 | _excluded_hmi_ui_docs/ 的 77 份 HMI 界面文档是否纳入知识库? | 纳入=知识库更全但体量翻倍;不纳入=现场问界面操作答不了 | K4 |
| Q4 | 服务器 SSH 访问方式(账号 + 密钥/密码)能否提供?我能否直接改动线上站点(先备份再改)? | 无凭据则 W/F 全部无法开工 | W1 起全部 |
第二批(决定实现细节)
| 编号 | 待确认问题 | 影响范围 |
|---|
| Q5 | 网站做法:改造现有「故障诊断 Agent」站点(保留既有 aily/MCP 链路,新增页面与入口),还是另建一个独立站点(新域名或子路径)? | W4/W5/W6 |
| Q6 | 飞书接入形态:(a) 沿用现有 飞书 aily → /mcp;(b) 新建自建应用机器人(事件订阅回调);(c) 两者都要 | F1–F3 |
| Q7 | 飞书这边你手上是否已有开发者权限 / App ID / App Secret / aily 应用管理权?谁去申请? | F2/F3 可行性 |
| Q8 | 大模型沿用 DeepSeek 吗?Key 在哪、由谁提供?还是换成别的(Kimi / 通义等)? | F4、W6 |
| Q9 | 能否提供 MCP_API_KEY(48 位十六进制)供我联调测试?只用于本地联调,不写进任何文件 | W6/W10/F7 |
| Q10 | HTML 的功能案例选哪几个?建议:①削峰填谷 ②电池加热 ③并机 ④固件升级 ⑤故障码聚合。可增删 | H2 |
| Q11 | EMS 专家 skill 要不要按 skill-creator 跑完整评测闭环(建用例、跑 eval、量化迭代),还是跳过评测直接可用? | S7/S8 |
| Q12 | 记录粒度:每次文件改动都记一条(严格),还是只记需求级变更(轻量)? | G3 执行强度 |
第三批(确认后即可开工的收尾项)
| 编号 | 待确认问题 | 影响范围 |
|---|
| Q13 | 知识库文档是否也允许改动源码(比如为写清逻辑加注释),还是只读不改? | K 全部 |
| Q14 | 交付优先级顺序:知识库 → Skill → HTML → 网站 → 飞书,这个顺序对吗?有要提前的吗? | 里程碑 |
| Q15 | 网站是否需要登录保护(知识库含故障码与硬编码口令等敏感信息,解析文档里已记录 hmi/key.c 硬编码口令、common/aes.h 硬编码密钥) | W4/F5 安全 |
五、里程碑与执行顺序(建议)
M0 确认(A1) ← 现在这里:逐点确认 Q1~Q15
M1 治理落地(G) ← AGENTS.md 让后续会话自动记录
M2 知识库成型(K1~K6,K8,K9)
M3 故障速查库(K7)
M4 EMS 专家 Skill(S)
M5 HTML 交付(H) ← docs/output/skill-ems.html
M6 服务器盘点与备份(W1~W3)
M7 站点改造与上站(W4~W9)
M8 飞书接入(F)
M9 端到端验收(A/W10/F7)
依赖关系:
- W1(服务器凭据)是 W/F 全组的硬前置,拿不到就只能停在 M5。
- M2 是 M3/M4/M5/M7 的前置(知识库没有,后面全是空壳)。
- Q1/Q2 是 M2 的前置,不确认无法开工。
六、风险与阻塞
| 风险 | 说明 | 应对 |
|---|
| 凭据缺失(最高) | 无服务器 SSH、无飞书权限、无 DeepSeek Key、无 MCP_API_KEY,则 M6~M9 全停 | Q4/Q7/Q8/Q9 优先确认 |
| 改动生产站点 | 站点已在线上运行,误改会中断现有「故障诊断 Agent」 | W3 先全量备份 + 回滚脚本,再动 |
| 两处记录不一致 | 根 docs/ 与 platform-ems-3-6-plain/docs/ 各记一份会漂移 | G6 明确唯一记录中心(Q2) |
| 索引与源码漂移 | 解析基于 04e72700,源码再更新则文档过期 | K1 记哈希 + K5 一致性校验,源码变动后重跑 |
| 保密信息外泄 | 解析文档含硬编码口令/密钥;站点若公开可被搜索到 | Q15 决定是否加访问控制 |
| skill 触发不准 | description 写得不好,后续会话不加载该 skill | S9 用 skill-creator 的 description 优化器 |
七、本次已完成(不等确认,只读/低风险动作)
- 新建
docs/README.md、docs/需求台账.md、docs/变更日志.md(REQ-001 治理基线)
- 本任务清单
- 现状实测(本地资产 + 线上站点,结论见第一节)
以上均已记入 docs/变更日志.md。
八、确认结果汇总(2026-10-15,Q1~Q15 全部确认)
8.1 逐点答复
| 编号 | 问题 | 你的答复 | 落地决定 | 对应 ADR |
|---|
| Q1 | 「机器人 EMS 专家 skill」是什么 | 去除法奥机器人相关,要一个全新的 | 新建全新 ems-expert skill,与机器人协议无关 | — |
| Q1b | 旧 robot-communication-protocol skill 怎么处理 | 移出去备份 | 🟢 已执行:移到 docs/archive/robot-communication-protocol/,18 个文件完整保留 | ADR-010 |
| Q2 | 知识库落位 | 统一到根 docs/knowledge/ | 迁移 191 份解析 + 索引,修好相对链接,不留双份 | ADR-002 |
| Q3 | 77 份 HMI 文档是否纳入 | 先不纳入,之后单独补 | 本轮知识库规模 191 份;界面类问题在 skill 中声明为边界外 | ADR-003 |
| Q4 | 服务器操作方式 | 给凭据,我直接改 | 待你提供 SSH 账号 + 密钥/密码后开工;先备份再改 | — |
| Q5 | 网站做法 | 新开子路径 /ems/ | 现有首页与 /test.html、/mcp 全不动 | ADR-004 |
| Q6 | 飞书接入形态 | 只用现有 aily 链路(网页 + 飞书共用同一后端) | 不新建回调服务、不申请新应用 | ADR-005 |
| Q7 | 飞书开放平台手上有什么 | 有权限,需我给申请指引 | 按 ADR-005,多数权限无需新申请;若后续加群机器人,我出一份逐步指引 | — |
| Q8 | 后端大模型 | 沿用 DeepSeek | 模型调用参数抽成配置项,便于将来切换 | ADR-006 |
| Q9 | 能否提供 MCP_API_KEY | ⏳ 待你提供 | 仅用于联调,不写入任何文件 | — |
| Q10 | HTML 功能案例 | 削峰填谷 + 电池加热 + 并机控制 + 故障码聚合(四个全要) | H2 大纲按这 4 个案例展开 | — |
| Q11 | skill 是否跑完整评测 | 跑完整评测闭环 | S7 建用例集、S8 出评测报告 | ADR-007 |
| Q12 | 变更日志粒度 | 每次改动都记一条 | 严格按文件级留痕 | — |
| Q13 | 是否允许改源码 | 只读不改 | 不碰 platform-ems-3-6-plain 下任何 .c/.h | ADR-008 |
| Q14 | 交付优先级顺序 | 未明确答复,按建议顺序执行 | 见 §五里程碑:知识库 → 故障速查 → Skill → HTML → 网站 → 飞书 | — |
| Q15 | /ems/ 是否加访问保护 | 加口令保护 | 内部人员可访问;飞书走机器密钥鉴权不受影响 | ADR-009 |
8.2 确认后状态变更的任务
| 编号 | 任务 | 原状态 | 现状态 | 说明 |
|---|
| G4 | 建 docs/决策记录.md | 待确认 | 🟢 已完成 | 已产出 ADR-001 ~ ADR-010 |
| G5 | 记录纪律写进根 AGENTS.md | 待确认 | 🟢 已完成 | 后续会话自动遵守(R1 的落地保障) |
| G6 | 子仓放说明指向根 docs/ | 待确认 | 已并入 G5 | AGENTS.md 已声明唯一记录中心 |
| K4 | 77 份 HMI 文档是否纳入 | 待确认 | ✅ 已确认:不纳入 | 转「之后单独补」批次 |
| K2/K3 | 知识库迁移 | 待确认 | ✅ 已确认,可开工 | 迁到根 docs/knowledge/ |
| S1~S10 | Skill 全部 | 待确认 | ✅ 已确认,可开工 | 名称 ems-expert;需跑评测 |
| H1~H5 | HTML 全部 | 待确认 | ✅ 已确认,可开工 | 4 个案例;浅色;docs/output/skill-ems.html |
| W1 | 服务器凭据 | 阻塞 | ⛔ 仍阻塞 | 等 SSH 账号 + 密钥/密码 |
| W2~W10 | 网站其余 | 待确认 | ✅ 已确认,待 W1 | 挂 /ems/,加口令保护 |
| F1~F7 | 飞书全部 | 待确认 | ✅ 已确认,待 W1 | 只走 aily → /mcp,沿用 DeepSeek |
8.3 现状小结
- 可以立刻开工(不需要任何凭据):治理(G,已完成大部)、知识库(K2/K3/K5/K6/K8)、故障速查(K7)、Skill(S)、HTML(H)。
- 卡在一处:W2 起的网站工作与 F 组飞书工作,全部依赖 W1 服务器 SSH 凭据。
- 已执行的动作:
robot-communication-protocol 移入 docs/archive/(18 文件完整)。
8.4 下一步(等你一句话)
按 §五 里程碑,我将从 M1 收尾 → M2 知识库迁移开始:
- K2:把 191 份解析 + 索引迁到
docs/knowledge/,并修复所有相对链接
- K1:生成基准版本哈希清单(锁定
04e72700)
- K5:重跑
生成索引.js 做一致性校验,出差异报告
同时请你把这几样给我(凭据类发在对话里即可,我不会写进任何文件):
47.239.25.159 的 SSH 登录用户名(新环境;公钥安装步骤见 服务器接入指引.md 第五节)
- 旧环境
8.133.19.10 是否退役(决定 W0,见 服务器接入指引.md 第二节 A/B/C)
MCP_API_KEY(48 位十六进制,用于联调问答链路;若走迁移我自己从旧机读,无需你给)