对于 Trellis 框架的 Q & A

桃酥 2026-01-28 17:46 1

从避免ai把事情搞得一团糟的 coding 辅助框架堂堂开源继续讨论:


发现有不少佬友对框架使用有些问题,顺手开个qa贴,这样我给朋友解释的时候也可以直接甩个链接不用重复解释了 ^-^


Q: AI 怎么知道之前的对话内容?

A: 每次结束对话时用 /record-session ,AI 会把会话摘要写入 .trellis/workspace/{name}/journal-N.md ,并在 index.md 建立索引。下次 /start 时,AI 会自动读取最近的 journal 和 git 信息,恢复上下文。所以理论上直接扒每天的 journal 文件就能当你的工作日报提交了^-^。




Q: 我自己项目本身没有spec,还能用吗

A: 在 trellis init 之后会自动创建一个 00-bootstrap 的task,里面就是引导ai帮你完善对应当前项目的开发规范的,我们对于前端,后端都预设了一些空的模板文件,会引导ai读取你自己的项目规范进行填充,当然有时间有条件还是推荐自己去完善填充spec,毕竟当你有 AI 自己想不到的架构洞察时,能把团队踩过的坑教给 AI 并且拉高团队开发水平,这就是你不会被 AI 取代的原因。




Q: 看着很好用但理念听起来很复杂,怎么快速上手使用?

A: npm install -g @mindfoldhq/trellis@latest, 在你的项目下面 用 tl init 进行初始化, 然后就可以直接开始使用了,



  1. 如果是 claude code 用户,


打开一个新的cc 窗口就可以直接开始使用(可以先手动执行 /start 一遍了解下流程),说需求ai就会自动创建task, 然后创建对应需要的 feature 信息文档,以及 spec 文件文档(spec 文件里面会存放各个对应开发规范的实际文件路径,然后通过claude code的hook 注入给后续干活的ai), 然后让你进行review 需求,确认之后就会调用对应的一个 implement agent(被注入了上一步获取的所有spec 规范)去实际干活, 最后你验收通过之后使用 /record-session ,ai 会自动记录本次的工作日志


以及后续连 /start 都不用使用,我们已经用了claude code 的session start hook, 把每次ai初始化需要的各种信息(trellis 本身工作流程,你最近的git提交信息,最近你跟ai对话的jounrl记录,项目本身信息)都会自动注入给ai,直接开始对话即可




  1. 如果是 cursor/codex 用户 (codex 使用 $ 而不是 /

    使用流程大概是 /start 启动会话并说出需求, 使用 /before-*-dev (backend/frontend) 让ai了解本次需求需要了解的相关开发规范, 开发结束之后使用 /check-* 去让ai重新获取本次涉及的开发规范,并进行自检,最后用 /record-session 记录对话




  2. 其它用户(trae,opencode,windsurf…)

    跟cursor 类似,可以根据自己用的ide/cli 手动创建对应的slash command 然后按流程使用






Q: worktree 那套怎么用?

A: 目前只对 cc 有比较好的支持,想并行开发多任务可以在会话开始的时候使用 /parallel, 然后跟cc 讨论需求,它会自动创建对应的task, 然后调用我们封装好的脚本(.trellis/scripts/multi-agent/start.sh)在对应目录创建worktree, 然后用 claude -p --agent dispatch 的方式启动后台进程,dispatch agent会读取task 里面的说明,自行调用implement agent去干活,再调用check agent去自检,最后调用 .trellis/scripts/multi-agent/create-pr.sh 去提pr, 然后可以通过.trellis/scripts/multi-agent/status.sh 实时获取后台任务的状态,如果阻塞了会打印 cd xxx && claude --resume xxxx 的命令方便你直接继续跟它对话解决问题




Q: 这个流程看起来很复杂, ai 会不会不遵守? 就像不遵守skill,不遵守cursor rules那样

A: 大部分的流程我们都封装成脚本让ai直接调用,会尽可能的遵守这套工作流的规范(比如每次 /start 获取工作流,git,journal 信息; 记录journal ,创建worktree并运行等等)

,另外我们内部最佳实践是,除了 /parallel 的流程以外,其它情况在一次ai chat 中,都尽可能只让它干一件事,避免上下文过长的情况

比如有一个很复杂的需求,你可以 /start 一次,然后跟它讨论确认需求, 然后创建一个task,然后就可以 /record-session 直接记录journal ,然后开一个新的会话窗口, 输入 /start 让ai自动了解上次的情况, 然后帮你开始具体实施干活

最新回复 (19)
  • 桃酥 楼主 01-29 11:39
    1

    Q: 多个不同的项目,有自己封装的组件,如果想共用研发规范之类的,用trellis框架应该如何实践

    A: 最推荐的方式是 monorepo 或者 git sub module, 直接把仓库物理层面上就能都用一个目录在ide一起打开,

    然后我们内部有两种实践方式(目前还没比出来哪种更好)




    1. 在根目录的 .trellis/spec 下面再按照不同的项目创建子目录,里面再存放子项目的后端/前端/其它 spec,比如这样



      然后在 {.claude | .cursor}/commands/ 目录下面的 before-{backend|frontend}-dev 的slash command 里面修改对应的spec,说明一下先根据用户需求查看是要开发哪个项目,然后再去对应 xxx 路径下面找对应开发规范




    2. 在根目录的 .trellis/spec 下面存放一些所有项目都能用的公共包的规范, 然后再在每个子项目的目录下面也执行 trellis init , 然后在对应的spec 下面存放只属于这个项目自己的开发规范

      项目根目录:



      子项目1 .trellis 目录:



      子项目2 .trellis 目录:



  • lwaay 01-29 16:15
    2

    支持codex吗

  • 桃酥 楼主 01-29 16:17
    3



    我们也想支持codex, 我自己之前就是codex 忠诚用户… 奈何codex迭代真的太慢了,什么功能都不出

  • lwaay 01-29 16:23
    4

    codex 0.91版本最新功能collab(subagent、mutiagent)开启方法(强烈推荐开启) 最新版本应该是有支持subagent了

  • 桃酥 楼主 01-29 16:28
    5

    太久没用codex了,信息源落伍了 ^-^


    我们争取下一波把codex和opencode 都做好原生支持

  • lwaay 01-29 17:15
    6

    大佬666。下一波大概什么时候更新

  • 桃酥 楼主 01-29 17:33
    7

    争取这两天把各位佬友提到的不支持Windows,不支持codex,opencode 等问题都集中解决一下,今天一直在当客服回问题了,佬友们太热情了 ^-^

  • cf 01-29 17:53
    8

    牛逼,等支持Windows+codex就用起来试试 ^-^

  • wayne 01-29 21:58
    9


    1. 其它用户(trae,codex,opencode,windsurf…)

      跟cursor 类似,可以根据自己用的ide/cli 手动创建对应的slash command 然后按流程使用



    期待windows + codex ^-^

  • 花季无言 01-29 23:07
    10

    佬有几个问题简单问问,可能我用着用着也会继续过来问。


    1.在项目里init后,claude.md那个xml我删掉的话影响会很大吗?如果我平时用commands去直接调的话

    2.佬是怎么解决多人一起开发的时候整个.trellis维护的?

    3.我看仓库里还有某些skill,有类似于superpowers的脑暴的skill吗

    4. .trellis文档维护如果出现漂移,应该怎样去修复?

    5. 能不能支持这种项目结构的,一个root的目录,下面有前端目录 下面有后端目录,整一个开发全在root目录进行

  • 且笑风尘不敢造次 01-29 23:15
    11

    争取这两天把各位佬友提到的不支持Windows,不支持codex,opencode 等问题都集中解决一下



    期待一下

  • 桃酥 楼主 01-29 23:16
    12

    1. 我很久没用过 claude.md 了,你说的 xml 是啥东西? 我们的commands 是存放在 .claude/commands/trellis/ 目录下面,跟根目录的 claude.md 没啥关系

    2. 分task给不同开发者, 然后每个人写对应新feature or debug, 目前spec 相关的我们还没遇到过冲突, task 是有创建人和指派人的, 也不会冲突, journal 等个人信息存放在 .trellis/workspace/{developer} 目录下面,物理隔离不会冲突

    3. 有,就是我们的plan agent, 后续会在 plan agent 的prompt 里加上脑爆相关的指引提示词

    4. finish-work 在每次开发结束后进行 spec 是否需要更新的检查, 也有 update-spec 这个手动让 ai 更新spec的指令

    5. 你是说 monorepo 吗?这个没大听懂,可以看看 对于 Trellis 框架的 Q & A - #2,来自 taosu0216 这个评论是否能解决你的问题

  • 花季无言 01-29 23:32
    13

    1.这个呀–好吧是agent.md,不过也不是XML


    5.应该是的,等会我实践下

  • 桃酥 楼主 01-29 23:33
    14

    影响不是很大,这个主要是给 codex 等非cc用户使用的

  • 桃酥 楼主 01-29 23:45
    15

    open-typelsee 的 use-case 基本功能已实现(macos 按住右 option 进行语音识别转录,需要配置火山大模型的 id 和 key)

    明天大概率会开个新帖讲这个项目是怎么配合trellis一下午^-^一晚上搓出来的, 有兴趣的佬友可以关注一下


  • zione 01-29 23:59
    16

    里面有很多活是用 subagent 干来解决部分上下文太多的问题吗?不过我记得 subagent 是一个很耗 token 的东西 ^-^

  • 桃酥 楼主 01-30 00:03
    17

    子 agent 我们是当给主agent的tool用的, 只要主 agent 的上下文窗口保持尽可能的干净就能达到我们的需求, 至于token的话我们团队人均 200$ cc 套餐,基本用不完

  • 花季无言 01-30 08:26
    18

    1.流程限制的有点死啊,我必须提交commit才让归档和record

    2.一个任务完成,什么情况下的会进spec中维护的文档中去

  • 桃酥 楼主 01-30 08:40
    21


    1. 可以先归档再commit, 主要是record 需要记录git commit hash,所以需要先commit 再record




    2. finish-work 里有对ai 的相关指引,如果这个任务引入了新的相关开发规范/组件,或者修改了旧有的开发规范,都应该更新spec文档,而且如果开发者觉得这次任务需要spec,也可以手动调用 update-spec 的 slash command 去让ai根据任务情况更新相关spec



* 帖子来源Linux.do
返回