告别"上次做到哪了":给 TRAE 装一个项目看板

告别"上次做到哪了":给 TRAE 装一个项目看板

借鉴 LoopX 开源项目的控制面理念,用一个命令让你的 TRAE 项目在分阶段开发中实现「关闭会话不丢状态,新开会话一秒接续」。


痛点:分阶段开发,每次开新会话都是"失忆"

如果你和我一样,习惯把项目拆成多个阶段,每个阶段新开一个会话开发——那你一定经历过:

  • 新会话打开,TRAE 不知道上次做到哪了,你得先把上下文喂一遍
  • 项目记忆文件越写越长,AI 读一堆过时信息才能找到"现在该做什么"
  • 阻塞项、注意事项、设计规范散落在聊天记录里,换个会话就丢了

这本质上是 AI 上下文窗口是工作内存,不是长期状态。长时间跨会话的任务,不能靠"模型应该还记得"。

灵感来源: 字节跳动 OpenViking 核心贡献者黄瑞腾的开源项目 LoopX(2.1k Star),一个专为超长程 AI Agent 设计的轻量级状态内核。它的核心思路是:把目标、待办、门控、证据、配额从模型脑子里搬出来,外置成结构化控制面。


方案:三层控制面,一个命令搞定

核心设计借鉴了 LoopX 的「控制面与数据面分离」理念,把项目状态拆成三层:

/看板 命令
  │
  ├─→ state.json          ← 真相源 · 机器可读(增量更新)
  ├─→ boot-packet.md      ← 薄启动 · 新会话入口(全量重生成)
  ├─→ project_summary.md  ← 视图 · 人类可读(全量重生成)
  └─→ project_memory.md   ← 指针 + 约定(几乎不变)
文件 定位 更新频率 给谁用
state.json 真相源,结构化状态 每次 /看板 增量更新 TRAE 精准解析
boot-packet.md 薄启动入口,< 500 字 每次 /看板 全量重生成 新会话 TRAE 第一眼
project_summary.md 人类可读看板 每次 /看板 全量重生成 人类浏览 + AI 深度查阅
project_memory.md 指针 + 项目约定 几乎不变 TRAE 新会话兜底加载

新会话启动流程

TRAE 新会话 → 自动加载 project_memory.md → 看到指针:先读 boot-packet.md → 一眼看清 frontier + gates → 直接开干

关键设计:project_memory.md 放在项目根目录,同时同步到 TRAE 记忆目录。两个位置都有一份,确保 TRAE 不管从哪个路径启动都能加载到。


为什么这个方案更好

传统做法是把项目进度写成一段文本摘要,AI 需要通读全文自己判断哪些能做、哪些卡住了——阻塞项和注意事项混在一起,容易遗漏。

/看板 把信息拆成三个明确维度:

  • frontier:现在能做什么,一目了然
  • gates:什么卡住了,谁来解决
  • lessons:方向有没有变,上次踩了什么坑

state.json 核心结构示例

{
  "current_phase": 1,
  "active": {
    "frontier": [
      { "id": "todo-1-2", "title": "支付模块", "status": "ready" }
    ],
    "gates": [
      { "id": "gate-1", "what": "需要生产密钥",
        "resolve": "找管理员申请", "status": "blocking" }
    ],
    "lessons": [
      { "type": "replan", "reason": "支付宝 SDK 文档不全,改为微信支付" },
      { "type": "self_repair", "reason": "token 刷新用异步锁,别用同步锁" }
    ]
  }
}

每次 /看板 执行时按 phase 编号todo id 去重,同一会话执行多次也不会重复追加。


怎么用

每个开发阶段结束时,执行一次 /看板 即可:

阶段 1 开发中...
  │
  ▼
"好了,阶段 1 做完了"  →  /看板
  │
  ▼
自动更新 state.json + boot-packet.md + project_summary.md
  │
  ▼
关闭会话,开新会话
  │
  ▼
TRAE 读到 boot-packet.md → "当前阶段 2,可以直接做 X,Y 被阻塞因为 Z"
  │
  ▼
继续开发

自动看板规则: project_memory.md 中内置了自动提醒规则——当你说"好了"“完成了”"先这样"等结束信号时,TRAE 会主动询问是否需要执行 /看板。再也不用担心忘记存档。


完整命令

借鉴了 LoopX 哪些设计?

需要诚实地说:不是精确一一对应,有些是概念层面的简化映射,有些是做了大幅裁剪以适应分阶段开发场景。

LoopX 概念 /看板 对应 匹配度
Canonical State(真相源) state.json 准确 — 同样是结构化真相源,视图从它派生
Projection(视图) project_summary.md 准确 — 都是从真相源生成的人类可读视图
CLI Packet(薄启动) boot-packet.md 概念映射 — LoopX 是每个 Turn 自动编译,我们是每个阶段手动生成,更新频率不同
Frontier(可推进边界) active.frontier 简化版 — LoopX 还结合了 claim、lease、capability、quota 多维度计算,我们只按 ready/blocked 区分
Gate(阻塞门控) active.gates 准确 — 都有 scope、resolve 方式和 blocked_todos
Evidence(完成证据) todo.evidence 简化版 — LoopX 要求 source、lineage、时间、新鲜度五维标注,我们目前只有 type + ref + note
Replan / Self-repair lessons 准确 — 都区分路线变更和执行修正

最大的差异

  1. 更新机制:LoopX 是每个执行回合都自动更新状态的实时看板,/看板 是每个阶段结束手动触发。关闭会话后中间状态不会自动刷新。

  2. Frontier 复杂度:LoopX 的 frontier 是动态计算的——考虑了谁接手了任务(claim)、执行窗口是否过期(lease)、配额还剩多少(quota)。我们的 frontier 目前是简单的按 status 筛选,不支持并发和多 Agent 协作。

  3. Evidence 深度:LoopX 的 evidence 要求明确标注数据来源、版本血缘、采集时间、新鲜度边界和适用范围。我们目前只做了简化标注。

换句话说,/看板 是 LoopX 思想的阶段性简化版——适合分阶段单人开发,但还远没到 LoopX 那种"200+ 小时无人值守不翻车"的工业级强度。


为什么不直接用 LoopX?

可能有人会问:既然 LoopX 更全还自动化,为什么还要自己做一个呢?

最直接的原因:LoopX 目前不支持 TRAE Work。

LoopX 原生适配的是 Codex App、Claude Code、Cursor、OpenCode 等运行时,没有 TRAE 的适配器。想在 TRAE 里用 LoopX,只能通过终端手动调用 loopx 命令,无法和 TRAE 的对话流程、记忆系统深度集成。

更深层的原因:两个工具面向的场景不同。

维度 LoopX /看板
目标场景 200+ 小时无人值守,多 Agent 协作 分阶段单人开发,每阶段手动切换
安装方式 Python 3.11+,curl 安装脚本 零安装,一条 TRAE 命令
与 TRAE 集成 无原生适配,只能终端手动调用 深度嵌入 TRAE 记忆系统,project_memory.md 兜底加载
学习成本 需要理解 goal、claim、lease、quota、capability 等概念 一条命令,零学习成本
更新频率 每个 Turn 自动更新 每阶段手动触发

打个比方:LoopX 是一套完整的工厂流水线控制系统,适合管理 10 台机器 24 小时运转。/看板是工位上的任务交接白板,一个人干完一个阶段,擦掉旧内容写上新的,下一个接班的扫一眼就知道该干嘛。不是替代关系,是不同粒度的工具。

如果你需要的是建立在 TRAE 内、零配置、一条命令就搞定的方案,/看板 就够了。如果要做真正的多 Agent 无人值守长跑,那确实应该直接上 LoopX。


新项目和老项目都能用

不需要手动初始化。首次执行 /看板 时,命令会自动创建 .trae/ 目录和所有初始文件,无论新项目还是老项目。

文件结构一览

项目根目录/
├── project_memory.md          ← 指针 + 约定(稳定,不随会话变化)
├── .trae/
│   ├── state.json             ← 真相源(结构化,增量更新)
│   ├── boot-packet.md         ← 薄启动入口(< 500 字)
│   ├── project_summary.md     ← 人类可读看板
│   └── evidence/              ← 截图、日志等证据文件

如果你也在做分阶段开发,或者受够了每次新会话都要重新喂上下文——试试这个方案,欢迎反馈和改进建议。

LoopX 项目:github.com/huangruiteng/loopx

就是说每次对话都会多一个流程,那这样多出来的消耗咋算

已更新为命令和skill双版本,选择其一使用即可,感兴趣的可以去我的GitHub上下载skill版本
GitHub地址:agent-skills-zh/trae-kanban at main · LAUFLO/agent-skills-zh · GitHub

暂时没有考虑到消耗问题,我自己用的时候使用自带的deepseek-v4-pro模型每次大概消耗9积分左右,后续我看一下是否有优化的地方可以减少消耗

我的操作是一个项目根据内容分为不同的阶段,每个阶段一个会话,每个阶段任务完成后执行一下命令即可,不需要太频繁使用这个命令记录,如果考虑token消耗问题,可以了解一下我文章末尾提到的loopx开源项目

2 个赞