- Agent Harness:workflow state、hook、skill、sub-agent 和平台适配层,用来约束 AI coding 工作怎么推进。
- Built-in LLM wiki:spec、task、research、journal 存在仓库里,让 AI session 从文件重新加载项目知识。
- Team-level layer:workflow、spec、task 走 git 跟踪,workspace memory 按 developer 隔离,让多人和多 AI 工具使用同一套约定。
Trellis 采用 AGPL-3.0 协议。团队内部使用不需要额外授权;基于 Trellis 衍生产品或服务做商业化,需要提前联系:[email protected]。
设计理念
Trellis 把 AI coding 当成工作流和知识管理问题,而不是一次聊天。Feature 全景
Agent Harness
Built-in LLM wiki
Team-level behavior
Feature 到模块映射
Workflow module
.trellis/workflow.md 是 Trellis Plan -> Execute -> Finish 契约的事实源。
- phase 定义和编号步骤
- 按平台能力区分的 skill / sub-agent 路由
- 每轮 breadcrumb hook 读取的
[workflow-state:STATUS]blocks
.trellis/workflow.md。
Workflow-state module
在支持 hook 的平台上,inject-workflow-state.py 或等价 plugin 会在每条用户 prompt 时运行。
运行时契约是:
- 从
cwd解析 Trellis 根目录。 - 解析当前 session 的 active task。
- 读取
task.json.status;没有 active task 时合成no_task。 - 解析
.trellis/workflow.md。 - 把匹配的
[workflow-state:STATUS]正文注入到<workflow-state>...</workflow-state>。
Refer to workflow.md for current step.
默认状态:
task.py create 会尽量设置当前 session 的 active-task pointer,所以 brainstorm 和 JSONL 整理阶段可以看到 planning。
Task store module
每个任务是一个目录:
Task lifecycle hook 是命令事件,不是通用 status watcher:
Active-task runtime module
Current task 按 session 隔离:.trellis/.current-task 是命令行场景的 fallback。平台能提供 session identity 时,session runtime pointer 优先。
Context-loading module
Trellis 通过三条路径加载上下文:
JSONL 行是普通文件引用:
jsonl entries -> prd.md -> design.md if present -> implement.md if present。
implement.jsonl 和 check.jsonl 列 spec 和 research 文件。没有 file 字段的
seed row 会被 reader 跳过。源文件由实现和 review 时按需读取,不预先登记在
JSONL 里。
Platform adapter module
Trellis 使用每个平台可用的原语。真实项目以本地生成文件为准,默认能力分组如下:
如果本地 settings 文件跟这张表不一致,以本地 settings 为准。Trellis 项目本来就允许定制。
Agent and skill module
平台支持 sub-agent 时,Trellis 默认提供三个角色:
Skill 覆盖主会话需要指导的阶段:brainstorm、before-dev、check、update-spec、finish-work 和 meta customization。没有 sub-agent 的平台上,skill 会承担更多主会话内执行逻辑。
已经移除的 0.4 机制:
dispatch、plan、debugsub-agent 由 skill routing 替代。- 基于 SubagentStop 的 Ralph Loop 由
trellis-check自己的重试循环替代。 - Trellis 不再自带
/parallelworktree 编排;多 worktree 并行用平台原生能力。
LLM wiki modules
Wiki 侧是一组 AI session 可以反复读取的仓库文件。
稳定团队规则放
.trellis/spec/。任务事实放任务目录。Session notes 放 .trellis/workspace/<developer>/。
Finish module
Trellis 把实现、工作 commit、收尾记账分开:- Implement/check agent 产出通过检查的 diff。
- 主会话做最终验证,并运行
trellis-update-spec。 - Phase 3.4 生成分批 commit 计划,等待一次用户确认后 stage 指定文件并运行
git commit。不 amend,不 push。 /trellis:finish-work分类脏文件;如果当前任务改动仍未提交就停止,然后归档任务并写 workspace journal。
/trellis:finish-work 不是提交功能代码的命令。工作 commit 先发生;archive 和 journal 是之后的收尾记录。
生成文件和受保护文件
trellis init 和 trellis update 会生成本地文件,但本地改动本身很重要:
做本地定制时,用内置
trellis-meta skill 当地图。它会要求 AI 先读本地架构 references,检查项目实际文件,再修改项目副本,而不是去改 node_modules 或全局安装目录。