编制:2026-05-31
输入:TSDD_对标_秀秀完整.md(496 行)+Mattermost_对标_秀秀完整.md(579 行)+Top3对标分析.md
守一资源:21 角色 ai-development-team skill + ClawTeam v0.2.0 + OpenClaw 4.15(23 agent)
目标:11 个未完成模块的 PRD + 技术方案 + 多 Agent 协同实现路径 + 最终选型推荐
| 编号 | 模块 | 适用候选 | 总工时 | P0 |
|---|---|---|---|---|
| M1 | 朋友圈体系 | 双款共同 | TSDD 27d / MM 52-78d | ✅ |
| M2 | 跨实例联邦 | 双款共同 | TSDD 12d / MM 20-30d | ✅ |
| M3 | 真人/Bot 双信息流前端过滤 | 双款共同 | TSDD 12d / MM 9-16d | ✅ |
| M4 | 品牌完整定制 | 双款共同 | TSDD 13d / MM 15-23d | ✅ |
| M5 | 桌面快捷方式 | 双款共同 | TSDD 3d / MM 2-3d | P1 |
| M6-T | i18n 框架补全 | TSDD 专属 | 10d | P1 |
| M7-T | Bot HTTP→Socket.IO 改造 | TSDD 专属 | 10d | P0 |
| M8-T | iOS 端 fork 维护 | TSDD 专属 | 持续 | P0 |
| M6-M | Mattermost 商标剥离 | MM 专属 | 5-8d | P0 |
| M7-M | 国内 6 路推送自建 | MM 专属 | 15-20d | P0 |
| M8-M | System Console 中文化 | MM 专属 | 5d | P1 |
管理层:product-owner(Max) → scrum-master(Luda) → business-analyst
│
├─ 架构:solution-architect / graphql-developer
├─ 后端:reviewer / backend-reviewer / backend-tester
├─ 前端:frontend-reviewer / frontend-tester / e2e-tester / tester / ui-designer(Aura)
├─ 平台:devops-engineer / terraform-specialist / mlops-engineer / secops-engineer
└─ 业务:accountant / legal-counsel / apex(营销) / technical-writer
ClawTeam 模板:
- software-dev(M1/M2/M3/M4 主力)
- code-review(每个模块尾段质检)
- strategy-room(M6-M 商标剥离决策合议)
OpenClaw 4.15 协作:
- 龙虾发布员 / 龙虾总经理 协调 M4 品牌素材
- 评论君 C3 协助 M1 朋友圈双流文案
适用候选:TSDD / Mattermost / 共同
优先级:P0(守一三大核心需求之一)
工时:TSDD 27 人天(开源版仅有 SQL 钩子 + 事件常量+ 文件类型枚举)/ Mattermost 52-78 人天(全栈零基础)
用户场景:
- 老师在朋友圈发布"学员转化案例图文",学员/家长在自己端看到点赞评论
- OpenClaw 龙虾 Agent 在 Bot 朋友圈发布"今日营销日报",立志顾问 Bot 自动评论汇总
- 真人秀流和 Bot 秀流在前端 tab 严格分流(守一 B28-B29 核心需求)
功能列表:
- F1.1:发布动态(文本 + 多图 + 视频 + 链接 + 转发消息)
- F1.2:信息流列表(按时间倒序,分页拉取,支持下拉刷新)
- F1.3:点赞 / 取消点赞(带未读红点提示)
- F1.4:评论 / 回复评论(@他人)
- F1.5:双信息流切换 tab:「真人秀」/「Bot 秀」
- F1.6:内容审核 hook(敏感词 + 图片审核外挂)
- F1.7:跨实例可见性(依赖 M2 联邦)
关键流程图(Mermaid):
sequenceDiagram
participant U as 用户(真人/Bot)
participant W as Web/RN/Electron
participant S as 服务端 modules/moment
participant DB as MySQL/Postgres
participant MQ as 事件总线
participant N as 通知中心
U->>W: 发起发布(图文/视频)
W->>S: POST /moment/publish (含 user_type)
S->>S: 审核 hook (敏感词+图片)
S->>DB: 写 moment + media + visibility
S->>MQ: emit EventUserPublishMoment
MQ->>N: 推送给好友/同租户
N-->>W: 双流 tab 增量
验收标准:
- 真人发布的动态永远不会在 Bot 秀流出现,反之亦然(实测 SQL WHERE 过滤 100%)
- 列表拉取 P95 < 200ms(缓存命中),冷查 < 800ms
- 三端 UI 一致性(Web/Android/iOS 同一字段集)
架构图(文字版 Mermaid):
graph LR
subgraph 客户端
Web[Web/Electron]
Android[Android 原生/RN]
iOS[iOS 原生/RN]
end
subgraph 服务端
API[moment API 层]
Service[moment Service 层]
Hook[审核 Hook]
Federation[跨实例桥接 M2]
end
subgraph 存储
DB[(moment / moment_media / moment_comment / moment_like)]
Cache[Redis 列表缓存]
OSS[MinIO/S3]
end
Web --> API
Android --> API
iOS --> API
API --> Service
Service --> Hook
Service --> DB
Service --> Cache
Service --> OSS
Service --> Federation
数据模型:
-- 朋友圈主表
CREATE TABLE moment (
moment_no VARCHAR(40) PRIMARY KEY, -- UUID
publisher_uid VARCHAR(40) NOT NULL,
publisher_type TINYINT NOT NULL, -- 0=真人 1=Bot
content TEXT,
visibility TINYINT DEFAULT 0, -- 0=公开 1=好友 2=私密
audit_status TINYINT DEFAULT 0, -- 0=待审 1=通过 2=驳回
federation_origin VARCHAR(80), -- 跨实例来源
created_at DATETIME, updated_at DATETIME,
INDEX idx_publisher_type_time (publisher_type, created_at DESC)
);
-- 媒体附件
CREATE TABLE moment_media (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
moment_no VARCHAR(40), media_type TINYINT, url VARCHAR(500), thumb_url VARCHAR(500)
);
-- 点赞
CREATE TABLE moment_like (moment_no VARCHAR(40), uid VARCHAR(40), created_at DATETIME, PRIMARY KEY (moment_no, uid));
-- 评论
CREATE TABLE moment_comment (id BIGINT PK, moment_no VARCHAR(40), uid VARCHAR(40), reply_to_id BIGINT, content TEXT, created_at DATETIME);
关键 API 设计:
- POST /moment/publish - 发布
- GET /moment/timeline?stream=human|bot&cursor= - 双流列表
- POST /moment/{no}/like / DELETE /moment/{no}/like
- POST /moment/{no}/comment
- GET /moment/{no}/detail
- DELETE /moment/{no}(仅本人/管理员)
与 TSDD 集成点:
- 复用 modules/base/event/api.go:44-46 的 EventUserPublishMoment / EventUserDeleteMoment 事件常量
- 复用 modules/file/const.go:10 TypeMoment / TypeMomentCover 文件类型枚举
- 复用 modules/common/sql/common-20230203-01.sql:29 的 app_module='moment' 注册
- 用户类型字段直接复用 user.robot smallint(TSDD 已存在)
与 Mattermost 集成点:
- 走 Plugin 路径(保留 AGPL 安全区):用 Plugin SDK 写 Go server plugin + webapp plugin
- 数据隔离:Plugin KV Store + Plugin SQL store(不污染主表)
- 接口:MessageWillBePosted hook + Custom REST endpoint
- 前端:webapp plugin 注册 RHS view + Sidebar entry
工程实现路径:
- 后端:新建 modules/moment/ 目录(TSDD)或 plugins/xiuxiu-moment/(Mattermost)
- migration:4 张表,TSDD 走 modules/moment/sql/moment-20260601-01.sql
- 前端:Web 端新增 apps/web/src/pages/Moment/ 目录,Android 端 MomentActivity,iOS 端 MomentViewController
| 阶段 | 主角 | 协作角色 | 产出 |
|---|---|---|---|
| Phase 0:需求确认 | product-owner(Max) | business-analyst, 守一 | 朋友圈 PRD v1,双流分流验收 AC |
| Phase 1:架构设计 | solution-architect | secops-engineer(审核 hook 安全) | 4 张表 schema + API 契约 + 审核流程 ADR |
| Phase 2:后端开发 | backend-reviewer(指挥) | backend-tester(TDD),mlops-engineer(图片审核外挂) | TSDD 端 modules/moment Go 代码 + 单测 |
| Phase 3:前端开发(三端并行) | ui-designer(Aura)(设计稿) | frontend-reviewer(Web/Electron),frontend-tester(双流过滤单测) | 三端 UI + RHS 双流 tab |
| Phase 4:联调 + E2E | e2e-tester | tester(Rob)(黑盒) | Playwright E2E:真人发布→Bot 秀不可见 |
| Phase 5:审核合规 | legal-counsel | secops-engineer | 内容审核 Hook + GDPR/网信办合规 |
| Phase 6:发布 | devops-engineer | scrum-master(Luda) | docker-compose 集成 + CI/CD |
任务依赖图:
PO 需求 ─→ 架构设计 ─→ ┬─→ 后端开发 ──┐
│ ├─→ 联调 ─→ E2E ─→ 合规 ─→ 发布
└─→ 前端三端并行┘
串行 vs 并行:
- 串行:PO → 架构(不可绕过 schema 决策)
- 并行:后端开发 || 前端三端开发 || 审核 Hook 调研
- 串行收尾:联调 → E2E → 合规 → 发布
ClawTeam software-dev 团队模板适用性:
- 启动命令:clawteam start software-dev --task "秀秀3.0 朋友圈模块" --context /tmp/tailchat-ima/
- 该模板默认 5 agent(PO/架构/后端/前端/QA),与 M1 需求完美吻合
- 看板:clawteam kanban 跟踪 Phase 0-6
与 OpenClaw 23 Agent 的协同方式:
- 龙虾发布员:M1 上线后立刻接入,自动把营销文案发到 Bot 秀流
- 评论君:朋友圈互动评论自动化(用现有 C3 入口)
- 立志顾问 Bot:用 SOUL.md 在 Bot 朋友圈生成日报
| 角色 | TSDD 路线工时(人天) | Mattermost 路线工时(人天) |
|---|---|---|
| product-owner | 1.5 | 2 |
| solution-architect | 2 | 3 |
| ui-designer(Aura) | 2 | 2 |
| backend-reviewer | 8(modules/moment) | 18(Plugin 全栈) |
| frontend-reviewer ×3 端 | 9(3 端 × 3d) | 18(3 端 × 6d) |
| backend-tester / frontend-tester | 2 | 5 |
| e2e-tester / tester | 1.5 | 3 |
| secops/legal-counsel | 1 | 1 |
| 合计 | 27 人天 | 52-78 人天 |
关键里程碑:
- M1.1(第 1 周末):PRD + schema 锁定
- M1.2(第 3 周末):后端 + 前端 alpha
- M1.3(第 5 周末,TSDD)/ 第 8 周末(MM):上线候选
| 风险 | 等级 | 缓解 |
|---|---|---|
| TSDD:商业版有同名模块,未来升级冲突 | 中 | 用 xiuxiu_moment 命名空间避开 moment 默认 |
| MM:Plugin 全栈工时高,超预算 | 高 | 增量开发:先发布+列表(4 周)→ 点赞评论(2 周)→ 双流(2 周) |
| 图片审核外挂依赖第三方 | 中 | mlops-engineer 准备 SaaS(阿里云内容安全)+ 本地模型双方案 |
| 双流过滤被绕过(前端调 API 不传 stream 参数) | 高 | secops-engineer 加服务端强制:未指定 stream→拒绝(HTTP 400) |
适用候选:TSDD / Mattermost / 共同
优先级:P0(乙方独立部署核心)
工时:TSDD 12 人天 / Mattermost 20-30 人天
用户场景:
- 守一在自己实例 A 发布消息,乙方 B/C/D 的用户能看到(白名单频道)
- 乙方 B 部署的实例可对接立大志总实例的"导师答疑频道"
- 朋友圈跨实例可见性(M1 的 F1.7 依赖此模块)
功能列表:
- F2.1:实例注册表(federation_node)
- F2.2:跨实例频道映射(federation_channel_map)
- F2.3:消息桥接(出站 webhook + 入站 API)
- F2.4:用户身份映射(uid@instance 二元组)
- F2.5:联邦成员可见性控制
关键流程图(Mermaid):
sequenceDiagram
participant UA as 用户A@实例A
participant SA as 实例A 服务端
participant FB as 联邦桥
participant SB as 实例B 服务端
participant UB as 用户B@实例B
UA->>SA: 发消息到 #federated-channel
SA->>FB: webhook POST {msg, origin}
FB->>SB: POST /federation/inbox (签名鉴权)
SB->>SB: 检查映射 + 创建虚拟用户
SB->>UB: WebSocket push (display: A@实例A)
验收标准:
- 跨实例消息延迟 < 2s(P95)
- 实例 A 离线,实例 B 端的消息进入重试队列(指数退避,最多 24h)
- 鉴权失败(签名错)→ 拒绝并日志告警
数据模型:
CREATE TABLE federation_node (
node_id VARCHAR(40) PRIMARY KEY,
endpoint VARCHAR(255), public_key TEXT,
status TINYINT, created_at DATETIME
);
CREATE TABLE federation_channel_map (
local_channel VARCHAR(80), remote_node VARCHAR(40),
remote_channel VARCHAR(80),
PRIMARY KEY (local_channel, remote_node)
);
CREATE TABLE federation_user_map (
virtual_uid VARCHAR(60) PRIMARY KEY, -- 形如 uidA@nodeA
real_uid VARCHAR(40), node_id VARCHAR(40)
);
关键 API:
- POST /federation/inbox - 入站消息
- POST /federation/handshake - 实例握手(交换公钥)
- GET /federation/nodes - 节点列表
- POST /federation/channel/bind - 绑定映射
与 TSDD 集成点:
- 复用 WuKongIM 集群机制(githubim.com 文档已支持 cluster)作通讯层
- 业务层用 modules/webhook 现有钩子做出站
- TSDD 已有 modules/openapi OAuth2 三件套,复用作跨实例鉴权
与 Mattermost 集成点:
- 避开 Connected Workspaces(EE Entry+ 起步)
- 走 Plugin 路径:用 Matterbridge 思路自研 federation plugin
- 走 Plugin Hooks(MessagePosted / MessageHasBeenPosted)作出站触发
| 阶段 | 主角 | 协作角色 |
|---|---|---|
| 0:架构 | solution-architect | secops-engineer(签名+鉴权方案) |
| 1:数据模型 | backend-reviewer | DB migration |
| 2:出站桥 | backend-reviewer | mlops-engineer(重试队列) |
| 3:入站接收 | backend-reviewer | secops-engineer(签名验证) |
| 4:管理 UI | frontend-reviewer | ui-designer(Aura) |
| 5:测试 | e2e-tester | tester(Rob)(两个实例对发) |
| 6:部署 | devops-engineer / terraform-specialist | docker-compose 双实例集成测试 |
任务依赖图:架构 → 数据模型 → 出站桥 || 入站接收(并行)→ 管理 UI → 测试 → 部署
ClawTeam strategy-room 模板适用性:联邦协议决策(HTTP 还是 gRPC?Matrix 兼容否?)走 strategy-room 多 agent 合议。
与 OpenClaw 协同:龙虾总经理 Agent 可作"联邦节点广播员",把营销 campaign 同步到所有乙方实例。
| 角色 | TSDD 工时 | Mattermost 工时 |
|---|---|---|
| solution-architect | 1.5 | 2 |
| backend-reviewer | 6 | 14 |
| secops-engineer | 1 | 2 |
| frontend-reviewer | 1.5 | 3 |
| e2e-tester | 1 | 2 |
| devops-engineer | 1 | 2 |
| 合计 | 12 | 20-30 |
| 风险 | 等级 | 缓解 |
|---|---|---|
| 实例 A/B 时钟不同步,消息乱序 | 中 | 用服务端 Lamport timestamp + 客户端按 logical clock 排序 |
| 跨实例 SaaS 触发 ICP/IM 备案二次合规 | 高 | legal-counsel 介入:先做协议层(不挂运营) |
| Matterbridge 不支持 MM↔MM | 高 | 自研 plugin,参考 Matrix Synapse federation 协议 |
适用候选:TSDD / Mattermost / 共同
优先级:P0(守一三大核心需求之二)
工时:TSDD 12 人天 / Mattermost 9-16 人天
用户场景:
- 在 IM 主聊天列表/频道列表/朋友圈三处看到"真人秀/Bot 秀"两个 tab
- 真人/Bot 即使在同一频道发消息,前端按 tab 隔离展示
- 真人不能跨发到 Bot 区,反之亦然(数据层兜底)
功能列表:
- F3.1:用户类型字段(数据层)
- F3.2:发送侧校验 Hook(真人不能发到 Bot-only 频道,反之)
- F3.3:列表 API 增加 stream 过滤参数
- F3.4:客户端三处 tab(IM 列表 + 频道列表 + 朋友圈)
- F3.5:用户类型 API 过滤(管理员可查询所有 Bot 列表)
验收标准:
- 在 1000 条混合消息中,按 tab 过滤的查询 P99 < 100ms
- 任何尝试跨流投递的请求被 400 拒绝
与 TSDD 集成点:
- 数据层已有 user.robot smallint(user-20191106-01.sql)、独立 robot 表、group_member.robot 字段(group/db.go:347)
- 仅需补:发送侧中间件 + API stream 参数 + 客户端 UI
与 Mattermost 集成点:
- 数据层已有 is_bot=true(bot.go)
- 走 Plugin MessageWillBePosted hook 拦截
- webapp Plugin 注册 Sidebar Switcher + RHS view
关键代码示意(TSDD 路径):
// modules/message/middleware/stream_filter.go
func StreamFilterMiddleware(c *Context) {
user := c.User
channel := c.Channel
if channel.StreamType == StreamHuman && user.Robot == 1 {
c.AbortWithStatus(400, "bot cannot post to human stream")
}
}
| 阶段 | 主角 | 协作 |
|---|---|---|
| 0:PRD | product-owner | business-analyst |
| 1:架构(schema 已有) | solution-architect | 简评即可 |
| 2:服务端中间件 | backend-reviewer | secops-engineer(绕过风险评审) |
| 3:API 改造 | backend-reviewer | backend-tester |
| 4:前端三端 tab | ui-designer(Aura) | frontend-reviewer(Web), frontend-tester |
| 5:E2E 验证 | e2e-tester | tester(Rob) |
串行 vs 并行:架构 → 服务端中间件 || 前端 tab(并行)→ E2E
ClawTeam software-dev 模板:直接复用,5 agent 推动 1 周内完成。
| 角色 | TSDD | MM |
|---|---|---|
| solution-architect | 1 | 1.5 |
| backend-reviewer | 4 | 5 |
| frontend-reviewer | 4 | 6 |
| e2e-tester | 2 | 2 |
| 测试/secops | 1 | 1.5 |
| 合计 | 12 | 9-16 |
| 风险 | 等级 | 缓解 |
|---|---|---|
| 旧消息未补字段,前端过滤失效 | 中 | 一次性 backfill SQL:UPDATE messages JOIN users SET messages.publisher_type=users.robot |
| MM Plugin hook 性能开销 | 中 | hook 内做 KV cache,避免每条消息查 DB |
适用候选:TSDD / Mattermost / 共同
优先级:P0
工时:TSDD 13 人天 / Mattermost 15-23 人天(含商标剥离)
功能列表:
- F4.1:Logo / icon / 应用名 / 启动页 替换(五端)
- F4.2:主题色 / CSS 自定义
- F4.3:邮件模板品牌化(zh-CN + en-US)
- F4.4:欢迎页 / 关于页 自定义
- F4.5:安装包元信息(macOS .app/ Win .exe / Android .apk / iOS .ipa)
- F4.6(MM 专属,并入 M6-M):彻底剥离"Mattermost"商标残留
TSDD 路径:
- Apache 2.0 无品牌锁,直接改 apps/web/public/assets/ + apps/web/electron-builder*.js
- Android:app/src/main/res/ 替换 ic_launcher.png + strings.xml
- iOS:Xcode AppIcon set + Info.plist 修改
MM 路径(路径 ①:Plugin + i18n + theme,避免 AGPL):
- i18n 文件(Apache 2.0)批量替换 "Mattermost" → "秀秀3.0"
- webapp themes/ 改色(Apache 2.0)
- 邮件模板 server/templates/ 全替换(Apache 2.0)
- 桌面客户端 fork 编译时改 package.json name/productName
- 严禁改 server/channels/app/ 任何 .go 文件
| 阶段 | 主角 | 协作 |
|---|---|---|
| 0:品牌素材 | ui-designer(Aura) | OpenClaw 龙虾发布员 / 龙虾总经理(已有立大志品牌资产) |
| 1:Web/Electron 替换 | frontend-reviewer | devops-engineer(CI 打包脚本) |
| 2:Android/iOS 替换 | frontend-reviewer + 移动端工程师 | tester(Rob) |
| 3:MM 商标剥离扫描 | legal-counsel | technical-writer(剥离清单文档化) |
| 4:发布 | devops-engineer | scrum-master(Luda) |
与 OpenClaw 协同:直接调 OpenClaw 4.15 内已有的立大志品牌素材(lidazhiai.com 同款)。
| 角色 | TSDD | MM(含商标剥离) |
|---|---|---|
| ui-designer | 2 | 3 |
| frontend-reviewer ×5 端 | 8 | 10 |
| devops-engineer | 1 | 1 |
| legal-counsel | 0.5 | 3 |
| technical-writer | 1 | 1 |
| tester | 0.5 | 1 |
| 合计 | 13 | 15-23 |
| 风险 | 等级 | 缓解 |
|---|---|---|
| MM 商标残留导致法务函 | 高 | legal-counsel 全量扫描 + grep "Mattermost" 0 命中验收 |
| iOS 重签名 Apple 拒审 | 中 | 准备应急 fallback:保留 TestFlight 内测分发 |
适用候选:TSDD / Mattermost / 共同
优先级:P1
工时:TSDD 3 人天 / Mattermost 2-3 人天
功能列表:
- F5.1:桌面端 deep link:点击 xiuxiu://chat/{channel_id} 直接打开指定对话窗
- F5.2:Windows 开始菜单磁贴 + 应用商店"跳转列表"(最近 5 个对话)
- F5.3:Android Intent + iOS Universal Link 移动端 deep link
protocol.registerStandardSchemes + app.setAsDefaultProtocolClient('xiuxiu')AndroidManifest.xml intent-filter <data android:scheme="xiuxiu"/>apple-app-site-association| 阶段 | 主角 | 协作 |
|---|---|---|
| 0:PRD | product-owner | — |
| 1:Electron deep link | frontend-reviewer | — |
| 2:Android + iOS deep link | frontend-reviewer + 移动端 | — |
| 3:E2E | e2e-tester | — |
串行 vs 并行:Electron || Android || iOS(三端并行)
| 角色 | TSDD | MM |
|---|---|---|
| frontend-reviewer ×3 | 2 | 2 |
| e2e-tester | 1 | 1 |
| 合计 | 3 | 2-3 |
无重大风险。iOS Universal Link 需配证书域,提前准备。
适用:TSDD only
优先级:P1
工时:10 人天
TSDD packages/tsdaodaobase/src 全无 i18n 框架,硬编码中文。守一需求是 zh-CN + en-US 双语,但 TSDD 比秀秀(已双语)退步。
react-i18next + i18next-http-backendlocales/zh-CN.json + locales/en-US.jsonComponents/GlobalSearch/vm.ts:31 itemKey: 'groups' 等 ≈ 200 处需替换| 阶段 | 主角 | 协作 |
|---|---|---|
| 0:架构 | solution-architect | — |
| 1:框架集成 | frontend-reviewer | — |
| 2:字符串抽取(大体量) | frontend-tester | technical-writer(翻译 review) |
| 3:测试 | e2e-tester | tester(Rob) |
ClawTeam software-dev 模板:用并行模式跑字符串抽取,多个 agent 各管 N 个组件。
| 角色 | 工时 |
|---|---|
| frontend-reviewer | 3 |
| frontend-tester | 5 |
| technical-writer | 1 |
| e2e-tester | 1 |
| 合计 | 10 |
适用:TSDD only
优先级:P0(守一既有决策 #03:OpenClaw Channel 走 Bot 接入)
工时:10 人天
TSDD Bot 走 /robot/events HTTP long-polling;OpenClaw 现有 Bot 全部是 Socket.IO 客户端。要么改 OpenClaw 兼容 long-polling,要么扩 TSDD Bot 接入 WS。守一既有决策:让 Bot 直接接 WuKongIM SDK 作长连接,最小化 OpenClaw 改动。
@wukongim/sdk(JS)robot/sendMessage API 或 WuKongIM 标准 send| 阶段 | 主角 | 协作 |
|---|---|---|
| 0:架构 | solution-architect | mlops-engineer(OpenClaw 改造影响面) |
| 1:WuKongIM SDK 集成 | backend-reviewer | OpenClaw 23 agent 维护方 |
| 2:streamStart/End 流式适配 | mlops-engineer | backend-tester |
| 3:守一既有 Bot 迁移 | OpenClaw 龙虾发布员/总经理 | — |
| 4:E2E | e2e-tester | — |
与 OpenClaw 协同:这是 OpenClaw 23 Agent 的最大改造项;建议先迁移 1 个 agent(龙虾01)做 PoC,再批量迁移。
| 角色 | 工时 |
|---|---|
| solution-architect | 1 |
| backend-reviewer | 4 |
| mlops-engineer | 3(含 streamStart 流式) |
| OpenClaw 迁移 | 1.5 |
| e2e-tester | 0.5 |
| 合计 | 10 |
适用:TSDD only
优先级:P0(B75 硬门槛唯一不通过项)
工时:持续投入(首期 5 人天建立 fork + 月度 2 人天维护)
TangSengDaoDaoiOS 仓库自 2025-08-12 已 9 个月没更新。守一需要 iOS 端长期可用,必须建立自家 fork + 提交核心 patch(推送 / Bot 兼容 / 双流 UI)。
| 阶段 | 主角 | 协作 |
|---|---|---|
| 0:fork 决策 | product-owner | legal-counsel(Apache 2.0 合规) |
| 1:建立私有 fork + CI | devops-engineer | — |
| 2:核心 patch 维护 | iOS 工程师(外部资源) | tester(Rob) |
| 3:上游 PR 反推 | technical-writer | — |
适用:MM only
优先级:P0(强制,否则法务风险)
工时:5-8 人天
Mattermost LICENSE.txt 明确要求"Mattermost 商标使用须 Mattermost 书面同意"。秀秀 3.0 必须彻底剥离:
- 产品名、Logo、邮件签名
- Mobile/Desktop 安装包元信息(plist/manifest/package.json)
- API response 中的 "Mattermost" 字样
- About 页、欢迎页、错误信息
| 阶段 | 主角 | 协作 |
|---|---|---|
| 0:法务边界 | legal-counsel | — |
| 1:扫描 + 分类 | secops-engineer | technical-writer |
| 2:i18n 全量替换 | frontend-reviewer | — |
| 3:webapp 源码改 | frontend-reviewer | — |
| 4:五端安装包改名重签 | devops-engineer | — |
| 5:终审验收 | legal-counsel | tester(Rob)(grep "Mattermost" 0 命中) |
ClawTeam strategy-room 模板:剥离边界(哪些可改、哪些不能动)走多 agent 合议,避免单 agent 误判。
| 角色 | 工时 |
|---|---|
| legal-counsel | 1.5 |
| secops-engineer | 1 |
| frontend-reviewer | 3 |
| devops-engineer | 1.5 |
| technical-writer | 1 |
| 合计 | 5-8 |
| 风险 | 等级 |
|---|---|
| 残留商标被 Mattermost 发函 | 高(必须 0 命中验收) |
| 改 server/ 触发 AGPL | 极高(严禁动) |
适用:MM only
优先级:P0(HPNS 不可用,TPNS 不推荐生产)
工时:15-20 人天
Mattermost 默认 HPNS 是 Mattermost.com SaaS(国内不通);TPNS 是自托管版但官方说不推荐生产。守一需要 APNs + FCM + 小米 + 华为 + Vivo + Oppo 六路推送。
modules/webhook/ 6 路实现(开源 Apache 2.0,可复用 Go 代码)| 阶段 | 主角 | 协作 |
|---|---|---|
| 0:架构 | solution-architect | — |
| 1:push gateway 后端 | backend-reviewer | secops-engineer(厂商 key 管理) |
| 2:mobile fork + SDK 集成 | frontend-reviewer + 移动端 | — |
| 3:CI / 灰度 | devops-engineer | — |
| 4:实测 6 路 | tester(Rob)(实机:小米/华为/Vivo/Oppo/iPhone/普通 Android) | — |
| 角色 | 工时 |
|---|---|
| solution-architect | 2 |
| backend-reviewer | 6 |
| frontend-reviewer + 移动端 | 8 |
| secops-engineer | 1 |
| devops-engineer | 1 |
| tester | 2 |
| 合计 | 15-20 |
| 风险 | 等级 |
|---|---|
| 厂商资质审核(华为 HMS 需企业认证) | 高 |
| 每月 push 配额限制 | 中 |
| 结论:本模块工时占 MM 路线 13%,是 TSDD 完胜的关键 | — |
适用:MM only
优先级:P1
工时:5 人天
MM System Console 默认英文 + 部分中文翻译质量差;54+ 个 admin section 全量重审。
server/i18n/zh-CN.json 全量校对| 阶段 | 主角 | 协作 |
|---|---|---|
| 0:校对 | technical-writer | — |
| 1:i18n 替换 | frontend-reviewer | — |
| 2:验收 | tester(Rob) | — |
| 角色 | 工时 |
|---|---|
| technical-writer | 3 |
| frontend-reviewer | 1.5 |
| tester | 0.5 |
| 合计 | 5 |
| 维度 | TSDD 路线 | Mattermost 路线 |
|---|---|---|
| 共同模块 M1-M5 | 27+12+12+13+3 = 67 人天 | 52+20+9+15+2 = 98 人天(下限)/ 78+30+16+23+3 = 150 人天(上限) |
| 专属模块 | M6-T 10 + M7-T 10 + M8-T 5(首期)= 25 人天 | M6-M 5+ M7-M 15 + M8-M 5 = 25 人天(下限)/ 8+20+5 = 33 人天(上限) |
| 全量 B 类二开 | 163-167 人天 | 150-240 人天 |
| 总人月(22d/月) | 7-8 人月 | 7-11 人月 |
| 角色 | TSDD 路线 | Mattermost 路线 |
|---|---|---|
| 全程参与 | backend-reviewer, frontend-reviewer, solution-architect, product-owner, scrum-master, ui-designer | + legal-counsel(AGPL 边界全程把关), secops-engineer(商标扫描) |
| 阶段性 | mlops-engineer(朋友圈审核 + Bot 流式), secops-engineer(联邦签名),devops-engineer(双实例联邦集成), e2e-tester, tester | mlops-engineer(朋友圈+审核+ Plugin SDK 学习曲线), devops-engineer(mobile fork + push gateway), technical-writer(i18n + console 中文化) |
| 可选 / 关键节点 | accountant(iOS fork 月度预算), apex(M1 上线营销策划) | accountant(EE 商业 license 评估), apex |
| 风险类别 | TSDD 路线 | Mattermost 路线 |
|---|---|---|
| 协议 | 零 | AGPL 路径选择决策;商标剥离强制 |
| 朋友圈 | 商业版同名冲突(命名规避即可) | 全栈零基础(工时近 2 倍) |
| 推送 | 原生 6 路开箱 | 必须自建 PNS(15-20d 硬工程) |
| 联邦 | WuKongIM 集群 + webhook 桥接 | 全自研(Matterbridge 仅桥接异构) |
| iOS 维护 | iOS 仓库 9 月没更新,需自家 fork | RN 单代码库稳定 |
| i18n | 无框架,需 10d 引入 | 55 种语言开箱 |
| 项 | TSDD | Mattermost |
|---|---|---|
| 开源协议 | Apache 2.0 全开 → 零风险 | 4 层混合协议 → legal-counsel 全程参与 |
| 商标 | 无锁 | 强制剥离(M6-M 5-8d) |
| EE 模块误引入 | 不存在 | build tag sourceavailable 风险 |
| 中国合规(ICP/IM 备案) | 同等 | 同等 |
| 法务工时 | 0.5 人天(标准 README 更新) | 3-5 人天(路径决策 + 商标审核 + EE 边界) |
| 维度 | TSDD | Mattermost |
|---|---|---|
| 上游活跃度 | 3493★ Server 周更,iOS 半年没更 | 36.9k★ 日更 |
| 月度维护 | iOS fork 维护 2d + 业务模块更新 3d ≈ 5d/月 | Plugin 升级 1d + i18n 同步 1d + 推送维护 2d ≈ 4d/月 |
| 替换成本 | 2-3 年再迁移:业务模块多用钩子,迁移可控 | 同等 |
| 维度 | TSDD | Mattermost |
|---|---|---|
| Bot 接入 | streamStart/End 流式 API 与 LLM 完美匹配(守一既有决策 #03 走此路径) | WebSocket API + Plugin SDK 也可,但需 OpenClaw 改 Plugin RPC 调用模式 |
| 23 个 agent 迁移成本 | 中(HTTP→WS 改造 10d) | 高(Plugin RPC 模式与 socket.io 差距大,预计 15d) |
| 龙虾发布员对接 | 直接调 robot/sendMessage | 走 Plugin Slash Command |
结论:TSDD 与 OpenClaw 4.15 兼容度显著优于 MM。
| 里程碑 | TSDD(月份) | MM(月份) |
|---|---|---|
| Sprint 0:部署 + 集成测试 | M1 | M1 |
| Sprint 1:M3 双流 + M4 品牌 + M5 快捷方式 | M2 | M2 |
| Sprint 2:M1 朋友圈 alpha | M3-M4 | M3-M5 |
| Sprint 3:M2 联邦 + M7(HTTP→WS / 推送) | M5 | M5-M6 |
| Sprint 4:M6 i18n / 商标剥离 + 全量 E2E | M6 | M7 |
| 上线 | M6-M7 | M7-M8 |
| 模块 | 可行性 | 风险 | 必要前置 | 理由 |
|---|---|---|---|---|
| M1 朋友圈(TSDD) | 高 | 中 | 商业版同名冲突解决方案 | 服务端钩子已留,三端 UI 自研可控 |
| M1 朋友圈(MM) | 中 | 高 | Plugin SDK 学习曲线 + 全栈零基础 | 52-78d 工时翻倍 |
| M2 联邦(TSDD) | 高 | 中 | WuKongIM 集群文档复用 | 通讯层已支持 |
| M2 联邦(MM) | 中 | 高 | EE Shared Channels 不可用 | 必须从零自研协议 |
| M3 双流(TSDD) | 极高 | 低 | 数据层已支持 robot 字段 | 仅前端 + 中间件 12d |
| M3 双流(MM) | 高 | 低 | Plugin hook 性能验证 | is_bot 内建 |
| M4 品牌(TSDD) | 极高 | 低 | OpenClaw 品牌资产复用 | Apache 2.0 无锁 |
| M4 品牌(MM) | 高 | 中 | 商标剥离 0 命中验收 | 路径①明确 |
| M5 快捷方式 | 极高 | 低 | 无 | 三端 deep link 标配 |
| M6-T i18n | 高 | 低 | 抽字符串纪律 | 200 处量大但简单 |
| M7-T HTTP→WS | 高 | 中 | OpenClaw 23 agent 分批迁移 | WuKongIM SDK 稳定性 |
| M8-T iOS fork | 中 | 高 | 外部 iOS 工程师 | 上游可能停更 |
| M6-M 商标剥离 | 高 | 高 | legal-counsel 全程 | 0 命中验收强 |
| M7-M 6 路推送 | 中 | 高 | 厂商资质 | 工时占 13% |
| M8-M Console 中文化 | 极高 | 低 | 无 | 55 种语言开箱 |
| 路线 | 6 个月内完成度 | 商用可能性 |
|---|---|---|
| TSDD | 85-95%(核心 P0 全部交付) | 75-85% |
| Mattermost | 70-85%(核心 P0 全部交付但工时紧) | 60-75% |
守一身份:
- 立大志教育创始人
- OpenClaw 多 Agent 系统拥有者(4.15 版本,23 个营销/内容 Agent)
- 现金流敏感的"开首单"阶段
守一独特需求:
- 真人/Bot 严格分区
- 朋友圈双信息流
- 乙方独立部署
- 跨实例联邦
守一已决策:
- 6 项决策
- Bot 接入走 #03 OpenClaw Channel
- 要求 19 纳入 3.0
理由(按权重):
触发条件(任一满足):
| 选项 | 拒选理由 |
|---|---|
| Rocket.Chat | Community 100 人上限 + 10k 推送 + 无 RBAC 自定义 + 无 Whitelabel + 无 Federation;与守一"乙方独立部署+联邦"需求根本冲突 |
| 继续修秀秀(TailChat 2.x) | 30 款调研已证实,秀秀 31% 失效(18/58)+ admin/openapi/plugin 三容器从未启动;修复成本高于替换 |
| Movim(XMPP+朋友圈) | 仅 Web 端 + AGPL + 无 Bot 框架;无法承载 OpenClaw |
| Matrix/Synapse | 协议级联邦最强但 Bot 生态薄弱;与守一 OpenClaw 23 Agent 不兼容 |
| TSDD 商业版 | 价格未公开(上海新比达),现金流敏感期暂缓 |
| Week | 关键交付 | Agent 主力 | Go/No-Go 决策点 |
|---|---|---|---|
| W1 | TSDD docker-compose 部署 + 二次审核生产环境 | devops-engineer, terraform-specialist | TSDD 是否能在守一生产环境稳定跑 24h |
| W2 | OpenClaw 1 个 Bot 接入 TSDD PoC(龙虾01) | mlops-engineer, backend-reviewer | streamStart/End 是否能跑通 |
| W3 | Admin 后台部署 + 现有秀秀数据迁移评估 | devops-engineer | 数据迁移成本是否可接受 |
| W4 | Sprint 0 retrospective + Sprint 1 计划 | scrum-master(Luda) | Go/No-Go:是否继续 TSDD 路线 |
月度里程碑:TSDD 基线环境就绪 + OpenClaw 兼容性验证
| Week | 关键交付 | Agent 主力 |
|---|---|---|
| W1-W2 | M3 真人/Bot 双流(12d)+ M4 品牌定制(13d)并行 | backend-reviewer, frontend-reviewer, ui-designer |
| W3 | M5 桌面快捷方式(3d)+ M7-T HTTP→WS 改造启动(10d,跨月) | frontend-reviewer, mlops-engineer |
| W4 | E2E + 发布 alpha | e2e-tester, tester |
月度里程碑:守一独特能力(真人/Bot 分区 + 品牌)alpha 上线
| Week | 关键交付 | Agent 主力 |
|---|---|---|
| W1 | M1 PRD + schema + API 契约(PO/架构) | product-owner, solution-architect |
| W2-W3 | M1 后端开发(modules/moment)+ 三端 UI 并行 | backend-reviewer, frontend-reviewer ×3 |
| W4 | M1 内容审核 hook + 跨实例可见性 stub | mlops-engineer, secops-engineer |
月度里程碑:朋友圈 alpha + 数据层完整
| Week | 关键交付 | Agent 主力 |
|---|---|---|
| W1-W2 | M2 跨实例联邦(12d)出站 + 入站桥 | backend-reviewer, secops-engineer |
| W3 | M8-T iOS fork 建立 + CI(5d 首期) | devops-engineer + 外部 iOS 工程师 |
| W4 | M1 朋友圈 + M2 联邦集成("跨实例朋友圈") | backend-reviewer |
月度里程碑:联邦能力就绪 + iOS 自主维护链建立
关键风险节点:iOS 工程师招聘 / 外包谈妥
| Week | 关键交付 | Agent 主力 |
|---|---|---|
| W1-W2 | M6-T i18n 框架(10d)+ 全量字符串抽取 | frontend-reviewer, frontend-tester, technical-writer |
| W3 | OpenClaw 23 Agent 批量迁移到 TSDD WS | OpenClaw 团队(外部)+ mlops-engineer |
| W4 | 全量 E2E + 法务 review + 第一次安全审计 | e2e-tester, tester, secops-engineer, legal-counsel |
月度里程碑:所有 P0/P1 模块功能完成
Go/No-Go 决策点:是否进入生产灰度
| Week | 关键交付 | Agent 主力 |
|---|---|---|
| W1 | 灰度 10% 用户(守一内部团队 + 1-2 个乙方) | devops-engineer, scrum-master |
| W2 | 反馈收集 + Bug 修复 | tester(Rob), backend-reviewer |
| W3 | 灰度 50% | apex(营销策划入场), ui-designer |
| W4 | GA + 公开发布 | apex, OpenClaw 龙虾发布员(多平台公告) |
月度里程碑:秀秀 3.0 GA 上线
最终 Go/No-Go:6 个月可商用目标达成
| 风险 | 月份 | 缓解 |
|---|---|---|
| TSDD 生产稳定性不达预期 | 2026-06 W4 | Sprint 0 末做 Go/No-Go;回退方案:转 MM 备选 |
| OpenClaw 23 Agent 迁移卡壳 | 2026-10 W3 | 分批迁移:先迁 5 个高频,剩 18 个延后 |
| iOS 工程师外包谈不妥 | 2026-09 W3 | 应急方案:iOS 端延后 GA,Web/Android/Electron 先上 |
| 朋友圈 + 联邦集成超工时 | 2026-09 W4 | 砍 M2 联邦的部分高级功能(如离线重试),保 M1 朋友圈本体 |
/tmp/tailchat-ima/未完成功能设计方案_多Agent实现.md/tmp/tailchat-ima/最终选型决策建议.md/tmp/tailchat-ima/TSDD_对标_秀秀完整.md + Mattermost_对标_秀秀完整.md + Top3对标分析.mdclawteam start software-dev --task "秀秀3.0 Sprint 0 TSDD 部署" --context /tmp/tailchat-ima/ 拉起团队编制完成:2026-05-31
总字数:约 1.7 万字
覆盖:11 个模块 × 5 章节(PRD/技术方案/多 Agent 协同/工时/风险)+ 路线对比 + 可行性 + 选型推荐 + 6 个月路线图