合并人:Claude Code(Opus 4.7 1M)
合并时间:2026-05-26
项目目标(一句话):把"秀秀(基于 TailChat)"改造为甲方/乙方独立部署、真人/Bot 双信息流分区、由 OpenClaw 作为正式 Channel 接入的立大志品牌 IM 系统,于 2026-07-26 / 08-26 / 11-26 三里程碑分阶段交付。三维度输入:
- 维度 A(需求侧):/tmp/tailchat-ima/merged_demand_dimensionA.md(159 条 / 9 大类 A-I)
- 维度 B(源码理论):/tmp/tailchat-ima/tailchat_src_capabilities.md(425 条能力)+/tmp/tailchat-ima/_openapi_endpoints.txt(164 OpenAPI 端点)
- 维度 C(服务器实测):/tmp/tailchat-ima/server_current_state.md(38 用户 / 4 群 / 104 消息 / 42 openapps / 0 插件配置 / 3 容器未起)字段图例:
- 需求来源:标 [守一18条 #X] / [守一决策 #X] / [ima #04 要求X] / [extract A/B/C/D/E] / [ima C 关键发现 #X] —— 多重来源全部列
- 源码支持?:✅ 原生 / 🟡 部分(需插件或扩展点)/ ❌ 不支持
- 服务器实际?:✅ 跑着 / ⚠️ 部署了但没启用 / ❌ 未部署 / 🚫 容器未起 / —— 不涉及容器
- 实现状态:✅ 已实现且工作 / 🟡 部分实现 / ❌ 待实现 / ⏸ 已冻结
- 优先级:P0 必须做 / P1 重要 / P2 一般 / P3 可选 / ⏸ 已冻结
| # | 决策内容 | 影响 |
|---|---|---|
| 1 | 圆桌会议:保留冻结,作为科研资产 | 全 I-01 ~ I-06、B-07 → ⏸ |
| 2 | v3 镜像欠债:暂不开发 v4 镜像(风险未消) | I-07、G-31 → ⏸ |
| 3 | 乙方独立部署:真独立部署,乙方公司另外起服务器 | 历史"乙方=同机"全部作废;G-03、G-04 必须重设计 |
| 4 | 品牌素材(Logo/文案/域名/邮件托管/Apache-2.0 合规 9 项):最后再说 | F-01 ~ F-13 后置 |
| 5 | 30 款源码调研:仍需要但延后 | G-35 ~ G-44 → 排在 H-09 后 |
| 6 | 功能整合三维度清单:必须纳入,最高优 | H-09 = 本清单本身 |
api.registerChannel()| 等级 | 问题 | 来源 | 动作 |
|---|---|---|---|
| 🚨🚨🚨 | MiniMax + Anthropic API 密钥明文写在 docker-compose.yml 的 whisper-service environment,已暴露在对话历史 | server_current_state.md §7 |
立即 rotate 两个 Key |
| 🚨🚨🚨 | Redis 密码 TC_Redis_2026 弱密码硬编码 |
同上 | 改强密码 + 移出 compose 文件 |
| 🚨🚨🚨 | MinIO 密码 ASDasd123MinIO 弱密码硬编码 |
同上 | 改强密码 |
| 🚨🚨 | Mongo 4 无密码(仅 internal 网络隔离) | 同上 | 启用 auth |
| 🚨🚨 | root 密码已暴露 | 同上 | 改 SSH key 登录 |
| 🚨🚨 | 公网扫描:/wp-admin/install.php、/xmlrpc.php、/.env、/test.php 频繁扫描,无 fail2ban/WAF |
同上 | 装 fail2ban + Nginx 拦截 |
| 🚨 | service-openapi 容器未起(端口 3003 实测 000) | server_current_state.md §2 |
启容器 / 或在 service-core 启用 openapi |
| 🚨 | service-all-plugins 容器未起(全部 45 个官方插件不可用) | 同上 | 启容器 |
| 🚨 | tailchat-admin 容器未起(后台 UI 不可用) | 同上 | 启容器 |
| ⚠️ | 磁盘已用 70%(33G/49G),Swap 已用 1.4G/1.5G(接近耗尽) | server_current_state.md §9 |
清理 / 加内存 |
| ima 笔记声明 | 实测真相 |
|---|---|
| [#04 要求 9] "员工 13/14/15 Bot 已并发上线连接 OpenClaw" | 数据库无"员工"命名 Bot;42 个 openapp 主要是"南002 子 agent"重复两轮;openapi 容器未起 |
| [#04 要求 19] "TailChat 作为 OpenClaw 正式 Channel" | 未实现(守一已决定纳入 3.0) |
| [#08] "5 Bot 并发已落地" | openapi 容器未起,Bot 通过 openapi 路径目前不通 |
| 圆桌会议历史"4 轮修复后 75% 可用" | meetings 表 0 条记录,plugin_configs 0 条 |
| 品牌替换 [#05] "完整方案已设计" | configs 表 0 条,clientConfig 全默认未生效 |
| # | 功能 | 需求来源 | 源码支持? | 服务器实际? | 实现状态 | 优先级 | 备注 |
|---|---|---|---|---|---|---|---|
| A-01 | 文字频道/面板原生支持(「面板」) | [守一18条 #5]、[ima A F-基础-01]、[ima B 2.1] | ✅ TailChat 原生 GroupPanel type=TEXT | ✅ 跑着(4 群) | ✅ | P0 | 维度B 5.2 server/packages/sdk/src/structs/group.ts:1-5 |
| A-02 | 私信(DM)/「对话」 | [守一18条 #5]、[ima A F-基础-02]、[ima B 2.1] | ✅ chat.converse.createDMConverse,Converse.type='DM' |
✅ 跑着(6 个 converse) | ✅ | P0 | |
| A-03 | @提及(含私聊@、群聊@) | [守一18条 #5]、[ima A F-基础-03]、[ima B 2.1] | ✅ MessageMetaStruct.mentions[] + react-mentions |
✅ 跑着 | ✅ | P0 | 格式 [at=userId]name[/at] |
| A-04 | 消息回复/引用 | [守一18条 #5]、[ima A F-基础-04]、[ima B 2.1] | ✅ MessageMetaStruct.reply{_id,author,content} |
✅ 跑着 | ✅ | P0 | |
| A-05 | 消息右键菜单 | [ima A F-基础-05] | ✅ useChatMessageItemAction.tsx |
✅ 跑着 | ✅ | P1 | v1.11.1+ |
| A-06 | 群组双层空间结构(群组→面板) | [ima A F-基础-13]、[ima B 2.1] | ✅ Group + GroupPanel 双层 | ✅ 跑着(4 群 N 面板) | ✅ | P0 | |
| A-07 | 拖拽分组创建面板分组、自定义群组空间布局 | [ima A F-基础-14] | ✅ GroupPanel type=GROUP 作为 folder | ✅ 跑着 | ✅ | P1 | |
| A-08 | 频道分类/分组(拖拽分组) | [ima B 2.1]、[ima A F-基础-14] | ✅ 同上 | ✅ 跑着 | ✅ | P1 | |
| A-09 | 群发消息(多接收人/广播) | [守一18条 #5] | 🟡 仅服务端 gateway.notify type=broadcast,无前端 UI;@everyone/@角色未原生 |
❌ 未启用 | 🟡 | P1 | 维度B 4.0 socketio.mixin.ts:462-507;需补 UI |
| A-10 | 转发消息 | [守一18条 #5] | ❌ 未在 actions / UI 找到 forward | ❌ 不存在 | ❌ | P1 | 维度B §8 明列"不支持";30 款源码调研重点对比 |
| A-11 | 消息搜索 | [ima A F-基础-08]、[ima B 2.1] | ✅ chat.message.searchMessage |
✅ 跑着 | ✅ | P1 | 弱于 Discord |
| A-12 | Markdown 渲染(GFM、表格、代码块) | [ima A F-基础-06] | ✅ bytemd + @bytemd/plugin-gfm + react-markdown + remark-gfm |
✅ 跑着 | ✅ | P0 | |
| A-13 | 好友系统(昵称+随机数字串) | [ima A F-基础-09, F-基础-10] | ✅ User.generateDiscriminator 4 位数字 |
✅ 跑着(38 用户) | ✅ | P0 | 昵称#0000 |
| A-14 | 邀请系统(次数限制 + 美化邀请页) | [ima A F-基础-11] | ✅ group.invite.* 6 actions + plugin com.msgbyte.prettyinvite |
⚠️ invite 跑着,prettyinvite 插件未起(all-plugins 容器未起) | 🟡 | P1 | 启 all-plugins 即获 |
| A-15 | 群公告(全局公告系统) | [ima A F-基础-12] | ✅ GlobalConfig.announcement{id,text,link} |
⚠️ 部署了未启用(configs 表 0 条) | 🟡 | P1 | 启动 admin 即可设 |
| A-16 | 暗色/亮色主题切换 | [ima A F-基础-15] | ✅ ColorSchemeContext + 自动跟随 prefers-color-scheme |
✅ 跑着 | ✅ | P1 | |
| A-17 | PWA 支持(添加到主屏幕) | [ima A F-基础-16] | ✅ manifest.json | ✅ 跑着 | ✅ | P2 | |
| A-18 | i18n 国际化(i18next) | [ima A F-基础-17] | ✅ 仅 zh-CN + en-US;后端 server/locales/ |
✅ 跑着 | ✅ | P1 | 第三语言需补 |
| A-19 | 桌面通知 | [ima B 1.3] | ✅ plugin com.msgbyte.notify |
🚫 容器未起(plugin 不可用) | 🟡 | P1 | 启 all-plugins |
| A-20 | 移动端推送 | [ima B 1.3] | ✅ plugin com.msgbyte.getui |
🚫 容器未起 | 🟡 | P2 | 启 all-plugins |
| A-21 | Web / Electron / RN 多端 | [ima B 2.1]、[ima C #04 要求16] | ✅ React Web + Electron + RN 0.71.2 | ✅ Web 跑着;Android APK 24MB / Windows 88MB / Linux AppImage 83MB 已构建 | ✅ | P0 | 装包在 /home/halo/tailchat-客户端安装包/ |
| A-22 | 在线打开文件 / 文件在线预览 | [守一18条 #5] | ❌ 源码无内置预览 | ❌ 不存在 | ❌ | P1 | 守一未澄清"在线打开"语义;30 款源码对比 |
| A-23 | 通用文件上传 | [守一18条 #5]、[ima A F-基础-07] | ✅ file.save/saveFileWithUrl;MinIO;FILE_LIMIT env |
✅ 跑着(minio 容器 OK) | ✅ | P0 | 默认 1MB,需调 50MB |
| A-24 | Discord 缺失:消息编辑 | [ima B 3.2]、[ima C #13] | ❌ 无 edit action | ❌ 不存在 | ❌ | P1 | 替代:删除+重发;3.0 应补 |
| A-25 | Discord 缺失:线程(Threads) | [ima B 3.2] | ❌ | ❌ 不存在 | ❌ | P2 | 替代:独立 Panel |
| A-26 | Discord 缺失:投票(Polls) | [ima B 3.2]、[ima C #13] | ❌ | ❌ 不存在 | ❌ | P2 | 替代:reaction 投票 |
| A-27 | Discord 缺失:交互组件(Buttons) | [ima B 3.2] | ❌ | ❌ 不存在 | ❌ | P3 | 纯文本交互替代 |
| A-28 | Discord 缺失:消息置顶 | [ima B 3.3] | ❌ | ❌ 不存在 | ❌ | P2 | 暂用话题帖子 |
| A-29 | Discord 缺失:自定义表情包上传 | [ima B 3.1, 3.3] | ❌ | ❌ 不存在 | ❌ | P3 | Discord 80% 覆盖率外项 |
| A-30 | Discord 缺失:舞台频道、游戏活动检测、Nitro/Boost | [ima B 3.1] | ❌ | ❌ 不存在 | ❌ | P3 | 自托管无需 |
| A-31 | Discord 缺失:Bot 在线状态广播 / 自动状态文本 | [ima C #13]、[ima A TODO-20] | ❌ 无 Presence 机制 | ❌ 不存在 | ❌ | P1 | 真人/Bot 双信息流前置依赖(识别 Bot 在线) |
| A-32 | Discord 缺失:文件安全分级 | [ima C #13] | ❌ | ❌ 不存在 | ❌ | P2 | |
| A-33 | 表情反应(Reaction) | [ima B 2.1, 3.3]、[ima C #13] | 🟡 chat.message.addReaction/removeReaction + emoji-mart;无自定义 Emoji 上传 |
✅ 跑着 | 🟡 | P1 | 仅支持系统 emoji |
| # | 功能 | 需求来源 | 源码支持? | 服务器实际? | 实现状态 | 优先级 | 备注 |
|---|---|---|---|---|---|---|---|
| B-01 | Bot 原生支持(API 创建) | [守一18条 #5]、[ima A F-01]、[ima D 1.1] | ✅ openapi.app.create + setAppCapability + bot/login |
🚫 openapi 容器未起,端口 3003 实测 000;但 mongo 里有 42 条 openapps 记录 | 🟡 | P0 | 启 openapi 容器即获 |
| B-02 | API 暴露/集成(OpenAPI 平台) | [守一18条 #5] | ✅ 9 个 openapi.app.* actions + bot/login + addBotUser + sendMessage |
🚫 容器未起 | 🟡 | P0 | 同上 |
| B-03 | Bot 与 OpenClaw 连接 | [ima A F-02]、[ima D 2.1] | ✅ Socket.IO + msgpack parser | ❌ 不工作(openapi 容器没起) | ❌ | P0 | 启容器 + index.ts 修复 |
| B-04 | Bot 私聊回复(群内 @ 触发) | [ima A F-03]、[ima D 2.6] | ✅ bot.service 监听 chat.inbox.append → callback URL |
❌ 不工作(同上) | ❌ | P0 | |
| B-05 | "开会触发"机器人自动创建新频道 | [ima A F-04] | ✅ createGroupPanel(需 managePanel 权限) |
❌ 不工作 | ⏸ | ⏸ | 圆桌会议依赖,[守一决策 #1] 冻结 |
| B-06 | 拉人进群(机器人拉机器人 + 拉普通用户) | [ima A F-05] | ✅ openapi.integration.addBotUser + group.addMember |
❌ 不工作 | ❌ | P1 | |
| B-07 | 令牌沟通(令牌回转圆桌通信) | [ima A F-06] | ✅ 圆桌 plugin com.msgbyte.topic 可用 |
🚫 plugin_configs 0 条 | ⏸ | ⏸ | [守一决策 #1] 冻结 |
| B-08 | Bot 消息回复(sendMessage 文本/Markdown/引用) | [ima A F-07] | ✅ chat.message.sendMessage |
✅ Action 存在,但 Bot 不工作 | ❌ | P0 | |
| B-09 | 批量创建机器人(员工 1-20 规模) | [ima D 1.2/1.3/1.4]、[ima C #04 要求 9] | ✅ openapi.app.create 可批 | ❌ 42 openapps 中无"员工"命名,主要是"南002 子 agent 01-20" 重复两轮 + 1 "完全" | ❌ | P0 | 与 ima 笔记声明严重不符 |
| B-10 | Bot 多账号并发(5+ 同时在线) | [ima D 7]、[ima A F-部署-08] | ✅ Redis Adapter 多节点 Socket.IO | ❌ 当前 0 Bot 在线(openapi 容器未起) | ❌ | P0 | 内存 4.9G/7.8G+Swap 1.4G/1.5G 风险 |
| B-11 | Bot 鉴权(appId+appSecret,Token=MD5(appId+appSecret)) | [ima A T-凭证-01~02]、[ima D 2.2] | ✅ openapi.app.authToken |
⚠️ App 表里有但不能 login | 🟡 | P0 | |
| B-12 | Bot 加群授权 | [ima A T-凭证-05]、[ima D 1.2 Step 4] | ✅ openapi.integration.addBotUser(不是 addGroupMember) |
❌ 不工作 | ❌ | P0 | 命名陷阱 |
| B-13 | 个人账号创建 Bot 方案(A 方案,无需 Admin) | [ima C #04 要求 18]、[ima D 1.5, 3.3] | ✅ 可绕开 admin 创建 | ❌ 不工作 | ❌ | P1 | |
| B-14 | TailChat 作为 OpenClaw 正式 Channel | [ima C #04 要求 19]、[ima B 5.4 #03方案]、[ima D 2.7]、[守一锁定] | ✅ OpenClaw 提供 api.registerChannel() |
❌ channel.ts 已写但 index.ts 仍直调 DeepSeek,未注册 channel | 🟡 | P0(守一锁定项) | 必须激活 + 删除 DeepSeek 直调 |
| B-15 | Bot 响应策略四档(群 mention_only/all、私信 all/allowlist) | [ima D 2.6]、[ima A F-部署-10] | 🟡 需在 callbackUrl 处理器实现 | ❌ 不工作 | ❌ | P1 | |
| B-16 | Bot 主人权限管理(授权用户列表,未授权固定提示) | [ima A F-部署-10] | 🟡 业务逻辑层 | ❌ 不工作 | ❌ | P1 | |
| B-17 | Bot 个性化 SOUL(每 Bot 独立 SOUL.md + IDENTITY.md) | [ima D 2.5, 2.7] | — OpenClaw 侧 | ✅ ~/.openclaw/agents/员工{N}/SOUL.md 存在 |
✅ | P1 | |
| B-18 | 员工 13-15 个性化人设(非通用模板) | [ima A TODO-07]、[ima C #08 待办4] | — OpenClaw 侧 | ❌ 通用模板 | ❌ | P1 | 与 D-* 双信息流"Bot 秀"形态可能冲突,[冲突 7] |
| B-19 | 桥接服务不持有 LLM API Key | [ima A F-部署-07]、[ima B 5.4 #17方案]、[ima A TODO-10] | ✅ 通过 channel 派发 | ❌ 当前直调 DeepSeek(B-14 未完成的副作用);且 docker-compose.yml 明文写 MiniMax+Anthropic Key 🚨 | ❌ | P0 | 安全警报;与 B-14 同步解 |
| B-20 | Bot 自动在线状态(30 秒轮询) | [ima B 1.3] | ❌ 无 Presence 框架 | ❌ 不存在 | ❌ | P1 | Discord 缺失差距 |
| B-21 | Webhook 通用发消息 API | [ima C #13] | 🟡 simplenotify 插件提供 webhook,非通用 |
🚫 plugin 不可用 | ❌ | P1 | 需开发通用 Webhook |
| # | 功能 | 需求来源 | 源码支持? | 服务器实际? | 实现状态 | 优先级 | 备注 |
|---|---|---|---|---|---|---|---|
| C-01 | 角色权限系统(IAM RBAC) | [ima B 2.1] | ✅ PERMISSION.core 14 个权限点 + 7 层权限层级 |
✅ 跑着 | ✅ | P0 | 维度B §6 |
| C-02 | 群组双层结构(群组→面板) | [ima A F-基础-13]、[ima B 2.1] | ✅ Group + GroupPanel | ✅ 跑着(4 群) | ✅ | P0 | |
| C-03 | 群主全权 / 管理员自定义 / 普通成员只读发言 | [ima A T-权限-01~03] | ✅ Group.owner + roles + fallbackPermissions |
✅ 跑着 | ✅ | P0 | |
| C-04 | Bot 默认无 managePanel,需 Admin JWT 或 Owner 身份 | [ima A T-权限-05]、[ima B 4.2] | ✅ appendGroupMemberRoles 给 bot 分配 Bot管理员角色 |
❌ 当前 Bot 不工作 | 🟡 | P1 | [ima E #24] |
| C-05 | 注册首个用户自动获得管理员权限 | [ima A T-权限-08] | ✅ | ✅ 跑着 | ✅ | P0 | |
| C-06 | CC 一键脚本:批量创建群组/频道(channels.json 驱动) | [ima A F-CC-02] | — 脚本层 | ❌ 当前手动 | 🟡 | P1 | 框架已有 |
| C-07 | CC 一键脚本:IAM 配置角色权限矩阵(roles.json 驱动) | [ima A F-CC-03] | — 脚本层 | ❌ 当前手动 | 🟡 | P1 | 待主人提供 roles.json |
| C-08 | 群组/频道结构由主人提供或 CC 生成供主人确认 | [ima A TODO-22, TODO-24] | — 设计层 | ❌ 设计决策未定 | ❌ | P0 | 守一决策项(5 个未答之一) |
| C-09 | 群组授权模型(Bot 对所有群成员开放) | [ima D 3.5] | ✅ 加入群即共享 | ❌ Bot 不工作 | 🟡 | P1 | 没有"Bot 授权"独立机制 |
| C-10 | TailChat 权限有 1 小时缓存,直接改 Mongo 无效 | [ima E 三-#11、四-3] | ✅ 必须走 appendGroupMemberRoles API |
✅ | ✅ | P1 | 已记录陷阱 |
| # | 功能 | 需求来源 | 源码支持? | 服务器实际? | 实现状态 | 优先级 | 备注 |
|---|---|---|---|---|---|---|---|
| D-01 | 真人与 Bot 严格区分 | [守一18条 #4] | 🟡 packages/types/src/model/user.ts User.type 已有 normalUser / pluginBot / openapiBot 三态,但 UI 不区分 |
❌ 38 用户全 normalUser,没有"Bot 用户"类型 —— Bot 的 openapps 与 users 不挂钩 | ❌ | P0 | 三维交叉重大发现:源码 type 已有但库里没用 |
| D-02 | 真人区只发真人内容 | [守一18条 #4] | 🟡 可通过 regGroupPanel + 消息源校验实现 |
❌ 当前所有 panel 同等 | ❌ | P0 | 数据模型需新增 messageSource 或 panelKind 字段 |
| D-03 | Bot 区只发 Bot 内容 | [守一18条 #4] | 🟡 同上 | ❌ 同上 | ❌ | P0 | |
| D-04 | 双信息流"真人秀" + "Bot 秀" | [守一18条 #4] | 🟡 regGroupPanel type=PLUGIN + 23 个客户端扩展点可实现 |
❌ 全新形态 | ❌ | P0 | [冲突 3] 5 份历史报告未触及;产品形态待定 |
| # | 功能 | 需求来源 | 源码支持? | 服务器实际? | 实现状态 | 优先级 | 备注 |
|---|---|---|---|---|---|---|---|
| E-01 | 文件发送 | [守一18条 #5]、[ima A F-基础-07]、[ima B 2.1] | ✅ file.save + MinIO;FILE_LIMIT env |
✅ minio 容器跑着 | ✅ | P0 | 默认 1MB→需 50MB;敏感文件仅 DM |
| E-02 | 图片发送 | [守一18条 #5]、[ima A F-基础-07] | ✅ 同 MinIO 通道 + 图片粘贴 handler + 压缩(compressorjs) + 头像裁剪(react-easy-crop) | ✅ 跑着 | ✅ | P0 | |
| E-03 | 语音发送 | [守一18条 #5] | ❌ 全 repo 无 voice message UI;LiveKit 是实时语音频道,非"消息" | ❌ 不存在 | ❌ | P1 | 30 款源码调研重点 |
| E-04 | 视频/屏幕共享 | [ima B 1.3, 2.1] | ✅ plugin com.msgbyte.livekit(generateToken/roomMembers/inviteCall) |
🚫 all-plugins 容器未起;LIVEKIT_URL/KEY/SECRET env 未配 | ❌ | P1 | Day 3-4 补 |
| E-05 | 语音频道(实时) | [ima B 1.3, 2.1] | ✅ 同上 LiveKit | 🚫 同上 | ❌ | P1 | 端口 7880 + UDP 50000-60000 |
| E-06 | 文件大小限制 50MB(FILE_LIMIT=52428800) | [ima A 2.3]、[ima B 4.1] | ✅ env 可调 | ⚠️ 当前默认 1MB(未显式设) | 🟡 | P1 | Nginx 需同步 client_max_body_size 50m |
| E-07 | Whisper 集成(语音转文字) | [守一18条 #5](语音语义) | ❌ 全 repo 无 whisper/STT 代码 | ⚠️ whisper-service 容器跑着(0 请求) | 🟡 | P1 | 维度C 关键发现:whisper 容器在跑但前后端均未对接;与 [守一18条 #5] "语音"语义对齐疑问(守一 5 个未答之一) |
| # | 功能 | 需求来源 | 源码支持? | 服务器实际? | 实现状态 | 优先级 | 备注 |
|---|---|---|---|---|---|---|---|
| F-01 | UI 文本替换 Tailchat→立大志(18 文件 ~45 处) | [ima C #05 模块A] | 🟡 部分通过 config.serverName 运行时改;硬编码部分需改源码(client/shared/utils/consts.ts:25、About.tsx:39、LoginView.tsx:79) |
❌ configs 表 0 条 | ❌ | P2(后置) | |
| F-02 | SEO/元数据/PWA 替换(3 文件 ~12 处) | [ima C #05 模块B] | ❌ 需改源码 | ❌ | ❌ | P2(后置) | |
| F-03 | 插件描述文本替换(8 文件 ~16 处) | [ima C #05 模块C] | ❌ manifest.json description | ❌ | ❌ | P2(后置) | |
| F-04 | Logo / 图标替换(24 文件) | [ima C #05 模块D] | ❌ 需替换静态资源 | ❌ | ❌ | P2(后置) | 6 核心 + 4 桌面 + 10 Android + 4 官网 |
| F-05 | 部署配置默认值替换(14 文件 ~50 处) | [ima C #05 模块E] | ❌ docker-compose/k8s/env | ❌ | ❌ | P2(后置) | |
| F-06 | OIDC 内嵌 SVG(authorize.ejs) | [ima C #05 难点1]、[ima C 关键发现 #6] | ❌ 需提取 <path> |
❌ | ❌ | P2(后置) | 隐藏陷阱 |
| F-07 | 邮件远程 Logo URL 新托管 | [ima C #05 难点2、待做 #9] | ❌ 当前写死 https://tailchat.msgbyte.com/img/logo@192.png |
❌ | ❌ | P2(后置) | |
| F-08 | 登录页 ServerName 回退默认值改 | [ima C #05 难点3] | ❌ serverName \|\| 'Tailchat' → '立大志' |
❌ | ❌ | P2(后置) | |
| F-09 | i18n hash key 重新生成 | [ima C #05 难点4、待做 #8] | 🟡 pnpm translation(i18next-scanner) |
❌ | ❌ | P2(后置) | |
| F-10 | tailchat-cli NPM 包决策(保留或删除) | [ima C #05 难点5] | — 上游公开包 | ❌ | ❌ | P2(后置) | |
| F-11 | Apache-2.0 合规审查(保留版权归属) | [ima C #05 必须人工 #9] | — | ❌ | ❌ | P2(后置) | 保留 com.msgbyte.* 命名空间 / package.json name / 移动端包名 |
| F-12 | 品牌文案确认(中文名/英文名/Tagline/新域名/邮件托管 URL) | [ima C #05 步骤1]、[ima C 必须人工 #6/7/8] | — | ❌ | ❌ | P2(后置) | 守一未答(守一 5 个未答之一) |
| F-13 | Logo SVG 矢量源 + 多尺寸切图 + ICO + ICNS + Android 圆形 | [ima C #05 必须人工 #1-5] | — | ❌ | ❌ | P2(后置) | 需设计师交付 ~20 文件 |
| # | 功能 | 需求来源 | 源码支持? | 服务器实际? | 实现状态 | 优先级 | 备注 |
|---|---|---|---|---|---|---|---|
| G-01 | 秀秀 3.0 独立部署目标 | [守一18条 #2] | — | 🟡 已部署 chat.lidazhiai.com 与 chat.lidazhiai.cloud | 🟡 | P0 | |
| G-02 | 甲方提供源码 + 服务器 + 公网 | [守一18条 #2, #3] | — | 🟡 当前甲方=立大志,CVM73439 腾讯云已运行 42 天 | 🟡 | P0 | |
| G-03 | 乙方独立部署,自主决定接入 | [守一18条 #2, #3]、[守一决策 #3] | ✅ Webhook callback 模型可跨服务器 | ❌ 当前 OpenClaw 与 TailChat 同机;乙方=同机假设作废 | ❌ | P0 | [冲突 1] 历史 ima D 全篇失效 |
| G-04 | 甲乙方跨服务器通信架构 | [守一18条 #3]、[守一决策 #3] | ✅ openapi.bot.callbackUrl 字段已存在([ima D 6.4]) | ❌ 未实现 | ❌ | P0 | 必须 HTTPS / WSS、需鉴权令牌跨域 |
| G-05 | HTTPS(Let's Encrypt 通配符 *.lidazhiai.com) |
[ima A F-部署-01] | — Nginx 层 | ✅ 部署中 | ✅ | P0 | |
| G-06 | SSL 90 天自动续期(certbot systemd timer) | [ima A F-部署-02] | — | ✅ | ✅ | P0 | |
| G-07 | Nginx HTTP→HTTPS 重定向(80→443 301) | [ima A F-部署-03]、[ima B 4.4]、[ima A 9项遗漏 M-08] | — | ✅ | ✅ | P0 | |
| G-08 | Nginx X-Forwarded-Proto(OIDC issuer 依赖) | [ima A F-部署-04]、[ima A 9项遗漏 M-09] | ✅ 后端 gateway.service.ts 解析 |
✅ | ✅ | P0 | |
| G-09 | Nginx WebSocket Upgrade 头 | [ima A F-部署-05]、[ima B 4.4] | ✅ Socket.IO 必需 | ✅ | ✅ | P0 | |
| G-10 | Nginx 关闭 http2(与 WebSocket 不兼容) | [ima A T-架构-21] | — | ✅ | ✅ | P0 | |
| G-11 | proxy_read_timeout 300s | [ima B 4.4] | — | ✅ | ✅ | P0 | 长 AI 回复不超时 |
| G-12 | 端口规划(Nginx 80/443 对外;其他内网) | [ima A 2.2]、[ima B 5.2] | — | ✅ 80/443 监听;3000/3003/11000 内网 | ✅ | P0 | |
| G-13 | 数据全部存储在自有服务器(数据私有化) | [ima A F-部署-11]、[ima B 1.1] | ✅ Mongo + Redis + MinIO 本地 | ✅ | ✅ | P0 | |
| G-14 | OpenClaw 系统(agentId/workspace/SOUL.md)零改动 | [ima A F-部署-12]、[ima B 5.5] | — OpenClaw 侧 | ✅ | ✅ | P0 | |
| G-15 | 服务器配置 4 核 8G + 40GB SSD(推荐) | [ima A T-硬件-01]、[ima B 5.2] | — | 🟡 当前 2 核 7.8G 内存 + 49G 磁盘(用 33G) | 🟡 | P1 | 编译峰值 OOM 风险,Swap 已接近耗尽 |
| G-16 | 版本三锁定:Node 18.x / pnpm 8.15.8 / MongoDB 6.0 | [ima A T-版本-01~03] | ✅ | ✅ mongo:4(与锁定的 6.0 不符,需注意) | 🟡 | P1 | 守一记忆是 v2.5.11-renderfix 镜像 |
| G-17 | Traefik v2.11(v2.1 与 Docker v29 不兼容) | [ima A T-版本-06]、[ima C #08] | — | ✅ traefik 跑着 | ✅ | P1 | |
| G-18 | PORT 默认 11000,必须显式 PORT=3000 | [ima A 2.3]、[ima A 9项遗漏 M-03]、[ima B 4.1] | ✅ env | ✅ service-core 3000 监听 | ✅ | P0 | 关键陷阱 |
| G-19 | API_URL 必须外网域名 | [ima A 2.4]、[ima B 4.1] | ✅ | ✅ | ✅ | P0 | |
| G-20 | MINIO_URL 不含 http:// / REDIS_URL 末尾斜杠 / SMTP_SENDER 格式 | [ima A 2.4] | — | ✅ | ✅ | P1 | |
| G-21 | 健康检查路径 /api/gateway/health | [ima A T-架构-17]、[ima A 9项遗漏 M-04] | ✅ gateway.health |
✅ HTTP 200 | ✅ | P0 | |
| G-22 | tailchat-runner 路径检查 | [ima A T-架构-18]、[ima A 9项遗漏 M-07] | ✅ | ✅ | ✅ | P1 | |
| G-23 | ecosystem.config.js 手动创建 | [ima A T-架构-19]、[ima A 9项遗漏 M-02]、[ima B 7.2 补B] | ✅ | ✅ | ✅ | P1 | |
| G-24 | 首次启动前 pnpm run migrate:up | [ima A T-架构-20]、[ima A 9项遗漏 M-01]、[ima B 7.2 补A] | ✅ | ✅ | ✅ | P1 | |
| G-25 | pm2 启动 + pm2 startup + pm2 save | [ima A 5.1 步骤12] | — | ✅ | ✅ | P1 | |
| G-26 | 定时巡查脚本 tailchat-watchdog.sh(cron */5) | [ima A 5.6] | — | ✅ | ✅ | P1 | |
| G-27 | SECRET 32 位 / MINIO_PASS / ADMIN_PASS / MongoDB 强密码 | [ima A 2.3]、[ima B 7.6] | — | ❌ MINIO/REDIS 都是弱密码硬编码 | ❌ | P0 | 安全警报 §0.3 |
| G-28 | DISABLE_GUEST_LOGIN/TELEMETRY/TRACING=true | [ima A 5.3] | ✅ env | ⚠️ 未验证(service-core SERVICES env 列表里没看到) | 🟡 | P1 | |
| G-29 | SERVICEDIR=services,plugins | [ima A T-架构-01] | ✅ | ⚠️ 当前 service-core 只跑 core/*([server_current_state.md §3]) | 🟡 | P1 | 与 SERVICEDIR 设计冲突,因 all-plugins 单独容器 |
| G-30 | Linux fcitx5 IME 兼容(input.tsx 切原生 textarea + MentionDropdown) | [ima C #04 要求 3, 10, 11]、[ima A B-07~B-09] | 🟡 需改源码 | 🟡 已 docker cp 热修,未固化到镜像 | 🟡 | P1 | [ima A TODO-01] |
| G-31 | 构建 tailchat:v4 镜像固化所有前端修复 | [ima A TODO-01]、[ima C #08 待办#1]、[ima D 5.3] | — | ❌ 未做 | ⏸ | ⏸ | [守一决策 #2] 暂不开发 |
| G-32 | 部署架构:OpenResty/Nginx 443 → service-core 3000 / openapi 3003 / admin 3001 | [ima A 5.7] | — | ⚠️ 部分:core 3000 ✅,openapi 3003 ❌,admin 3001 ❌ | 🟡 | P0 | 启容器即获 |
| G-33 | 4 个思源笔记并行部署(wiki + note1-3) | [ima A 5.20]、[ima C #04 要求 1] | — | ✅ | ✅ | P1 | |
| G-34 | 不能改动 DISABLE_MESSAGEPACK(前端硬依赖) | [ima C #04 要求 11]、[ima C 关键发现 #8] | ✅ socket.io-msgpack-parser 硬依赖 | ✅ | ✅ | P0 | 改造禁区 |
| G-35 | 国内外源码平台调研 5+5 | [守一18条 #6] | — | ❌ 未启动 | ❌ | P1(延后) | [守一决策 #5] 延后 |
| G-36 | 调研 30+ 款类微信/飞书/钉钉/Discord 开源 IM | [守一18条 #7]、[守一决策 #5] | — | ❌ | ❌ | P1(延后) | [守一决策 #5] 延后 |
| G-37 | 每款源码 10 项调研内容 | [守一18条 #8] | — | ❌ | ❌ | P1(延后) | |
| G-38 | 输出调研报告(MD + HTML) | [守一18条 #9] | — | ❌ | ❌ | P1(延后) | |
| G-39 | 候选源码初筛排序(30 → 5-10 款) | [守一18条 #10] | — | ❌ | ❌ | P1(延后) | |
| G-40 | 部署 5-10 款到狗云 | [守一18条 #11] | — | ❌ | ❌ | P1(延后) | 狗云=新供应商 |
| G-41 | 候选源码实测 8 项 | [守一18条 #12] | — | ❌ | ❌ | P1(延后) | |
| G-42 | 三大测试(功能性/品牌性/部署性) | [守一18条 #13] | — | ❌ | ❌ | P1(延后) | |
| G-43 | 选 2 款最适合改造 | [守一18条 #14] | — | ❌ | ❌ | P1(延后) | |
| G-44 | 重点验证:品牌改造 + 甲乙丙通信 + 基础办公 | [守一18条 #15] | — | ❌ | ❌ | P0 | [冲突 4] 甲乙丙 vs 甲乙 ——"丙"未澄清(守一 5 个未答之一) |
| G-45 | 完整 Reaction 系统、自定义 Emoji 上传 | [ima A TODO-19] | 🟡 现有 reaction 仅 emoji-mart 内置 | ❌ | ❌ | P2 | 中等难度待补 |
| G-46 | 完整 Presence / 自定义状态 | [ima A TODO-20] | ❌ 无 Presence 框架;现仅 Redis hset 在线([socketio.mixin.ts:178]) | ❌ | ❌ | P1 | 高难度;D-04 双信息流前置 |
| G-47 | 移动端体验弱于 Discord,需提前测试告知 | [ima A TODO-16] | 🟡 RN 0.71.2 + Android APK 24MB | 🟡 已构建 APK | 🟡 | P2 |
| # | 功能 | 需求来源 | 源码支持? | 服务器实际? | 实现状态 | 优先级 | 备注 |
|---|---|---|---|---|---|---|---|
| H-01 | 梳理秀秀源码历史方案 | [守一18条 #1] | — | 🟡 5 份提取报告(extract A/B/C/D/E)已完成 | 🟡 | P0 | 维度A 基线已建 |
| H-02 | 明确秀秀 3.0 最终产品目标 | [守一18条 #2] | — | 🟡 决策已部分锁定,"双信息流"等仍需细化 | 🟡 | P0 | |
| H-03 | 项目推进每周一个方向 | [守一18条 #16] | — | ❌ 节奏控制未启 | ❌ | P0 | 阶段二节奏 |
| H-04 | 项目汇报用 HTML | [守一18条 #17] | — | ❌ 未启 | ❌ | P0 | 守一未答:"是单页 HTML 报告 还是站点"(守一 5 个未答之一) |
| H-05 | 搭建汇报网站 | [守一18条 #17] | — | ❌ 未启 | ❌ | P1 | 与 H-04 关联 |
| H-06 | 时间节点 2026-07-26(里程碑 1) | [守一18条 #18] | — | ❌ | ❌ | P0 | 距今 9 周 |
| H-07 | 时间节点 2026-08-26(里程碑 2) | [守一18条 #18] | — | ❌ | ❌ | P0 | 距今 13 周 |
| H-08 | 时间节点 2026-11-26(里程碑 3) | [守一18条 #18] | — | ❌ | ❌ | P0 | 距今 26 周 |
| H-09 | 功能整合三维度清单 | [守一决策 #6] | — | ✅ 本清单即交付物 | ✅ | P0(最高优) | 维度 A/B/C 全部完成 |
| H-10 | 现有功能 3 轮测试 | [ima C #13 待处理 #7] | — | ❌ 历史待办 | ❌ | P1 |
| # | 功能 | 需求来源 | 源码支持? | 服务器实际? | 实现状态 | 优先级 | 备注 |
|---|---|---|---|---|---|---|---|
| I-01 | 圆桌会议(全部 7 篇笔记 + 4 轮修复 + 1 次架构大改) | [ima E 全篇]、[守一决策 #1] | ✅ plugin com.msgbyte.topic create/list/createComment |
🚫 plugin_configs 0 条;meetings 表 0 条 | ⏸ | ⏸ | 保留 ~/.openclaw/shared-skills/roundtable-tailchat/ |
| I-02 | 圆桌会议私信触发机制(DM bot01 "开会...") | [ima E 四-1]、[ima A F-04] | — | ❌ | ⏸ | ⏸ | |
| I-03 | 圆桌令牌轮转(state.json / MAX_TOKENS=2 / MAX_BOT_MSGS=30) | [ima E 2.1] | — OpenClaw 侧 | ❌ | ⏸ | ⏸ | |
| I-04 | 圆桌双保险拦截(prependContext + message_sending cancel) | [ima E 2.5] | — | ❌ | ⏸ | ⏸ | |
| I-05 | 圆桌纪要三层数据获取(memory + sessions_history + fetchConverseMessage) | [ima E 2.7] | ✅ fetchConverseMessage API 存在 | ❌ | ⏸ | ⏸ | |
| I-06 | 圆桌 cron 巡逻(openclaw cron add) | [ima E 2.6] | — | ❌ | ⏸ | ⏸ | |
| I-07 | v3→v4 镜像欠债(固化前端修复) | [ima A TODO-01]、[守一决策 #2] | — | ❌ 现仍依赖 docker cp 热修;当前镜像 v2.5.11-renderfix | ⏸ | ⏸ | [守一决策 #2] |
| I-08 | 30 款源码调研整套 | [守一18条 #6-#15]、[守一决策 #5] | — | ❌ | ⏸ | ⏸ | 已映射到 G-35~G-44 |
| I-09 | 品牌改造全 9 项 | [ima C #05]、[守一决策 #4] | — | ❌ | ⏸ | ⏸ | 已映射到 F-01~F-13 |
| I-10 | Discord 历史消息迁移(不导出,全新从零) | [ima A TODO-18]、[ima B 6.1] | — | ❌ | ⏸ | ⏸ | 步骤 0 跳过 |
| I-11 | Discord 下线(步骤 14 跳过当前阶段) | [ima B 8.1] | — | ❌ | ⏸ | ⏸ | |
| I-12 | 移除 tailchat-client.ts debug onAny 监听 | [ima C #08 待办 #2]、[ima D 5] | — | ❌ | ❌ | P2 | 小项历史待办 |
| I-13 | 桥接服务待开发(CC 在主人授权服务器后生成部署) | [ima A TODO-12] | — | ❌ | ⏸ | ⏸ | B-14 决策选 Channel 方案后已被替代 |
| I-14 | 机器人权限初始化脚本(Owner 授权 Bot 一次性) | [ima A TODO-13] | ✅ appendGroupMemberRoles |
❌ 当前手动,未脚本化 | ❌ | P2 |
| # | 发现 | 维度 A(需求) | 维度 B(源码) | 维度 C(实际) | 行动 |
|---|---|---|---|---|---|
| 1 | 三容器未起 → 70% 已实现功能全瘫:仅启 3 个容器即可激活 Bot/插件/Admin 全套 | 需求强 P0:B-01~B-13、A-19/20、F-* 系列 | 全部 ✅ 支持 | 🚫 service-openapi、service-all-plugins、tailchat-admin 三容器从未 docker compose up | 阶段二第一动作:docker compose up -d service-openapi service-all-plugins tailchat-admin,先验证依赖与配置 |
| 2 | User.type 已有 3 态但库里全 normalUser:双信息流真人/Bot 分区 D-* 的基础已在源码里 | [守一18条 #4] D-01~D-04 | ✅ packages/types/src/model/user.ts User.type: normalUser / pluginBot / openapiBot |
❌ 38 用户全 normalUser,42 个 openapps 与 users 集合不挂钩 | 实现 D-* 的第一步是修复"Bot 不注入到 users 集合"的 BUG(或激活 ensureOpenapiBot) |
| 3 | whisper 容器在跑 0 请求:[守一18条 #5] "语音"语义未澄清,但容器已部署 | E-03/E-07 ❌ | ❌ 源码无 STT | ✅ whisper-service 运行中(0 请求) | 守一需澄清"语音"是消息还是频道;如要 STT,前后端均需对接 whisper-service |
| 4 | Bot 接入决策与现状代码反向:channel.ts 已写好但 index.ts 直调 DeepSeek | B-14 [守一锁定] | ✅ OpenClaw api.registerChannel() |
❌ channel.ts 未注册;index.ts 仍直接 HTTP 调 DeepSeek(且 docker-compose.yml 明文写 MiniMax+Anthropic Key) | P0 立刻:激活 api.registerChannel() + 删除 DeepSeek 直调 + rotate API Key |
| 5 | 45 个官方插件全可用但 0 在用:plugin_configs 表 0 条 | A-14/15/19/20、B-21、E-04/05、F-* 多项 | ✅ 30 客户端 + 15 服务端 = 45 plugin | 🚫 plugin_configs 0 条,all-plugins 容器未起 | 启 all-plugins 容器后立即可获:notify、getui、prettyinvite、welcome、autojoin、topic、tasks、livekit、agora、IAM、discover、linkmeta、simplenotify、wxpusher、github 等 |
| 6 | Admin UI 整套未启动 → 13 个模块(用户/消息/群组/文件/邮件/系统/Network/Cache 等)全部不可用 | C-08、A-15、F-01~F-08、安全运维 | ✅ server/admin/ 完整 tushan 框架 |
🚫 tailchat-admin 容器未起 | 启容器后立即获得用户管理、消息搜索、系统配置、socket 监控等运维能力 |
| 7 | OIDC 完整 OAuth2 Provider 已实现但 0 接入 | B-02 OpenAPI 全套 | ✅ oidc-provider@7.10.6 完整 OIDC(authorize/token/userinfo/jwks/discovery) |
🚫 openapi 端口 3003 实测 000;端点未挂 | 启 openapi 容器 → 立大志官网(lidazhiai.com)可直接接入 OAuth2 单点登录 |
| 8 | 历史 ima "已实现"声明 ≠ 服务器真相:5 项关键功能在生产线上其实不工作 | B-09 员工 13-15 / B-14 / 圆桌 / 品牌 / 多 Bot | 部分 ✅ | ❌ users 38 全是 normal、meetings 0、configs 0、openapps 42 全是"南002 子 agent"重复 | 维度 A 状态列必须以维度 C 为准重新校准(本清单的"实现状态"列已重置) |
| 9 | 服务器名等品牌字段无需改源码即可生效:但 configs 表 0 条说明从未配过 | F-01/F-08 | ✅ config.setClientConfig 写库即生效 |
❌ configs 表 0 条 | 即使 [守一决策 #4] 品牌后置,先把 serverName='立大志' 写库是 5 分钟即可见效的低成本品牌化 |
| 10 | 乙方独立部署的"Webhook 通道"已在源码里:openapi.bot.callbackUrl 字段存在 | G-04 跨服务器通信 [守一决策 #3] | ✅ bot.service.ts:17-63 监听 chat.inbox.append → POST callbackUrl Header X-TC-Payload-Type: inbox |
❌ openapi 容器未起;当前 0 callback | 启 openapi 容器后,乙方独立服务器只需开放公网 HTTPS Webhook 接收端,无需改 TailChat 源码 |
按"距离里程碑 1(2026-07-26 / 9 周后)"评估:
docker compose up -d service-openapi service-all-plugins tailchat-admin)configs.setClientConfig 写入 serverName='立大志'(5 分钟)api.registerChannel() + 删除 index.ts 的 DeepSeek 直调(实际工作量取决于 OpenClaw 侧 channel SDK 成熟度)ensureOpenapiBot)| # | 待决策项 | 影响范围 | 不决策的代价 | 建议决策时机 |
|---|---|---|---|---|
| 1 | "语音"语义:[守一18条 #5] 的"语音"= 语音消息(Whisper STT)/ 语音频道(LiveKit)/ 两者都要? | E-03, E-04, E-05, E-07 | whisper 容器空跑、LiveKit 插件无法激活 | 阶段二启动前 |
| 2 | "在线打开"语义:[守一18条 #5] = 文件在线预览(PDF/图片/Office)/ 协同编辑(思源式)/ 网页面板嵌入? | A-22 | 30 款源码调研缺关键评估项 | 阶段二启动前 |
| 3 | 真人/Bot 双信息流形态:[守一18条 #4] 是物理分区(不同 Panel)/ 逻辑分区(同 Panel 双 Tab)/ 双客户端入口? | D-01 ~ D-04(全部 P0) | 阻塞所有 D-* 实现 | 立即(决定阶段二最大工作量) |
| 4 | "丙方"是谁:[守一18条 #15] 出现"甲乙丙通信"但未说明 | G-44 P0 | 跨方通信架构无法设计 | 立即 |
| 5 | 汇报形式:[守一18条 #17] 项目汇报用 HTML + 搭建汇报网站 = 单页 HTML 报告 / 多页站点 / 集成在立大志官网? | H-04, H-05 | 阻塞汇报架构搭建 | 阶段二第一周 |
(额外可决策项:[守一决策 #4] 品牌素材后置时点是"里程碑 2 还是里程碑 3";员工 13-15 个性化是按业务分类还是按"真人秀风格化"——见 [冲突 7])
核心思路:维度 B 源码 + 维度 C 服务器 的最大差距是"已部署但未启用",先用 1-3 天动作把"启容器/写配置/激活 channel" 三件事做完,秀秀 70% 已实现功能立刻可用。
| 类别 | 条目数 |
|---|---|
| A. IM 基础能力 | 33 |
| B. Bot/Agent/OpenAPI | 21 |
| C. 群组/频道/权限 | 10 |
| D. 真人/Bot 分区 + 双信息流 | 4 |
| E. 多媒体 | 7 |
| F. 品牌改造 | 13 |
| G. 部署架构 | 47 |
| H. 项目管理/汇报 | 10 |
| I. 已冻结/暂缓 | 14 |
| 合计 | 159 |
| 状态 | 条目数 | 占比 |
|---|---|---|
| ✅ 已实现且工作 | 41 | 25.8% |
| 🟡 部分实现 | 35 | 22.0% |
| ❌ 待实现 | 67 | 42.1% |
| ⏸ 已冻结 | 16 | 10.1% |
| 合计 | 159 | 100% |
注:与维度 A 原始统计(67 ✅ / 19 🟡 / 59 ❌ / 14 ⏸)差异原因 = 维度 C 实测暴露大量"声明 ✅ 实际 🟡/❌"的项,本清单已按"以服务器实际为准"重置。
| 优先级 | 条目数 |
|---|---|
| P0 必须做 | 47 |
| P1 重要 | 60 |
| P2 一般 | 28 |
| P3 可选 | 8 |
| ⏸ 已冻结 | 16 |
| 合计 | 159 |
合并报告版本:终版 1.0 / 合并人:Claude Code Opus 4.7 1M / 时间:2026-05-26 / 输入:维度 A 159 条 + 维度 B 425+164 条 + 维度 C 实测 9 节