03-24~31:Portal 演进与工作台方向¶
这一阶段 ClawCraft 的关注点从"游戏化配置界面"扩展到更大的"项目管理门户"方向,开始与 Agent Portal 产生深度关联。
Dad 的关键产品决策¶
知识拆分为 Skills(03-24)¶
背景:Clawline 开发部署经验过长,导致上下文污染
决策:把长上下文拆成 6 个 skill - 覆盖部署、维护、模块开发、验证等完整生命周期 - 内容言简意赅,适合 LLM 阅读 - 每个 skill 有明确触发条件
清理 WebBot 长上下文:
- 主 session 有 195 条消息 / 401KB
- 不直接删,备份到 references/CONTEXT.md.bak
从"按天日报"转向"项目洞察"(03-30~31)¶
核心问题: - 每天都是一张白纸,没有跨天记忆 - 只能做"回顾型日报",不能做"推进型洞察"
Dad 需要的是: - 当前在做什么 - 做得怎么样 - 下一步怎么推进 - 能按周看 - 能看到产出与入口 - 能继续对话推动执行
关键决策: - 采用"项目视角"而不是"按天视角" - 项目与 bot 是多对多关系 - 门户可新增独立 Projects 入口 - 历史 Mattermost 数据全部可导入
项目对话式管理¶
问题:状态切换、合并、删除做成一堆按钮,体验差
决策:
状态切换、合并、删除等操作都不该做成一堆按钮;应改成"与项目对话"
新交互模型: 1. 用户在门户选中一个项目 2. 输入自然语言指令(如"把这两个合并""改名叫 xxx") 3. 消息 DM 给 bot,由 bot 在后端处理
技术问题与根因分析¶
多仓库维护模式问题¶
问题:调试场景下,子 agent 协作存在结构性问题 - 调试链路长,信息在多轮转述中损失 - 子 bot 缺少一手上下文,定位问题慢
解决方案:统一 Clawline 产品维护入口
- 让一个新 bot 统一维护整个 Clawline 的所有代码库
- WebBot 负责 6 个 repo:client-web, channel, sdk, gateway, docs, client-wechat
项目发现数量失控¶
问题:自动发现出 103 个项目,大部分是噪音
根因: - 项目发现门槛过低 - 增量匹配会把单次小事件也提升为项目 - 缺少"候选项目 / 多日复现后再升级"机制
解决方案:
- 模型切换到 gpt-4.1
- Prompt 提高项目门槛
- 加硬规则:
- 新发现先标记为 candidate
- 只有跨天再次匹配才升级为正式项目
- 最终输出中过滤 candidate
结果:103 → 15 个较准项目
ClawCraft 被自动匹配污染¶
问题:ClawCraft 里程碑混入了很多不属于该项目的内容
根因:项目匹配不能只靠模糊关键词,否则会把"同生态但不同项目"的事件混入
修复: - 清理错误里程碑 - 修复匹配 prompt,减少未来误归类
门户性能问题¶
问题:项目列表打不开
根因:
- /ap-projects 一次返回 100 个项目的完整 JSON,约 561KB
- 包含大量 milestones、recent_events、deliverables
架构启示:列表页与详情页必须拆分 payload。
metadata 整体覆盖事故¶
典型事故:给 Daily Digest 写 artifacts 时,PATCH 直接覆盖整个 metadata,导致 involved_bots、milestones 被清空
根因:多个写入路径都把 metadata 当整体对象 PATCH,而不是字段级 merge
经验: - metadata 必须做 merge,不可整体覆盖 - 需要明确"谁拥有哪些 metadata 字段"的边界
解决方案¶
curated 保护机制¶
问题:手工整理的项目会被 pipeline 再次弄乱
设计原则:
- 在匹配前同步 Supabase 中的 curated 标记到本地缓存
- 对 curated 项目,只允许追加里程碑,不允许改名称/描述/状态/bots
- push_projects 推送时跳过 curated 项目
涉及模块:
- project_tracker.py
- apply_match_results
- match_events_to_projects
- push_projects
多维护 bot 支持¶
需求:Clawline 项目需要显示两个主维护 bot
方案:
- 不改表结构
- 在 metadata 中增加 maintainers 数组
- 由 portalbot 在卡片上渲染
刷新机制¶
初始问题:门户"更新慢"
错误方案:刷新按钮只重新 fetch Supabase 数据
正确方案: 1. 刷新按钮 → 给 bot 发 DM 2. bot 本地跑 pipeline 3. 更新 Supabase 4. 前端刷新
选型理由:避免打通远程到本地网络端口,改用消息驱动触发。
项目看板 React Flow¶
展示需求: - 右侧不要列表,要从左到右展开 - 更像真正流程图 - Category 节点可折叠
技术选型:React Flow
遇到的问题: - dagre 布局导致节点坐标异常 - fitView 未正确生效 - 节点全部堆叠
根因:getNodeSize 返回共享对象引用,影响 dagre setNode
里程碑¶
03-24¶
- [x] 将 Clawline 开发部署经验拆成 6 个 skill
- [x] WebBot 成为唯一 Clawline 维护 bot
- [x] 清理 WebBot 长上下文
03-25~29¶
- [x] 消息通知全链路分析
- [x] Dashboard 收集与服务器健康检查合并
- [x] Portal 前端同步改造
03-30¶
- [x] ClawCraft 洞察门户方向明确
- [x] 项目发现与洞察 pipeline 建立
- [x] Mattermost → Supabase → Portal 链路跑通
- [x] 修复采集日期过滤、分页去重、模型参数等 bug
- [x] 建立
AP_bots、AP_daily_insights、AP_projects表
03-31¶
- [x] 从"按 bot 日报"演进到"项目看板 + 项目洞察"
- [x] 项目发现从 103 收敛到 15 个
- [x] curated 保护机制实现
- [x] 项目对话式管理框架建立
- [x] React Flow 流程图集成
关键配置¶
cron 调度:
人工保护标记:
多维护 bot: