Worktrunk:并行工作树、生命周期控制与源码分析
动手设计 Worktrunk 只读就绪报告:从证据走向可控扩展
用分支、配置和未解决风险设计一个小型学习项目,不自动批准钩子、合并代码或删除工作树。
你将学会
- 有价值的扩展先减少不确定性
- 先定义输入输出,再选择展示方式
- 验收应防止报告悄悄变成执行器
开始前需要
- 基础 Git 分支和命令行导航知识
- 可用于选做练习的一次性仓库
解释工作树边界,核对首次检出结果,并在采用自动化前审阅配置命令。
先看结论
- 就绪报告是作者提案,不是上游既有功能。
- 未知必须显式保留,不能自动当通过。
- 报告不能悄悄变成操作真实仓库的执行器。
有价值的扩展先减少不确定性
一个规模可控的实践项目是就绪报告,而不是再造一个自动合并按钮。输入已记录的工作树清单和手工审阅的配置摘要,输出尚缺的决定:分支负责人、端口分配、钩子审阅人以及清理保留策略。这是本文提出的学习练习,不是 Worktrunk 已有功能,也不是上游公布的路线图。
第一版只使用合成输入,读取明确提供的记录并输出报告。不扫描个人目录寻找配置或秘密,不批准命令,不调用模型,也不执行钩子。离线起步可以让报告结果可检查,并把“报告是否正确”与“操作真实仓库是否危险”拆成两个独立问题,避免练习过早扩大权限。
先定义输入输出,再选择展示方式
每条记录包含分支、路径、负责人、可选端口、配置版本以及三态审阅字段。未知必须区别于否:没有干净状态观测,不代表已经确认工作树脏;没有风险记录,也不代表安全。输出应把缺失证据与已确认冲突分开,例如两条记录声明同一端口,就是可以从输入中直接判断的冲突。
先用可读、可测试的文本或 JSON 报告。SVG 足以展示共享服务和任务归属,也不要求读者执行 JavaScript 才能获取信息。只有真正需要空间交互时才考虑 Three.js,小型依赖图不会因为变成三维就更准确;将来增加交互界面,也应保留可访问的静态信息。
验收应防止报告悄悄变成执行器
准备重复端口、未知状态、相似路径和配置版本变化等测试输入,要求输出稳定、能指出具体记录及缺失证据。同时断言报告生成不触发子进程、网络请求、批准修改和删除动作。这些是未来扩展的建议测试,与本系列已经提供的简化批准教学模型不是同一组证据。
后续接入真实工具前,先审阅版本兼容性与路径处理,再考虑消费文档支持的机器可读清单。执行保持为独立且明确的用户动作,不能把一份绿色报告当作合并或删除许可。即使尚未接入真实 Worktrunk,这个练习也能教会读者建模证据、未知状态和操作边界。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
定义合成分支、路径、负责人和端口记录。
- 2
分别输出缺失证据与已确认冲突。
- 3
验证输出稳定且不触发外部动作。
- 4
单独审阅兼容性后再接入真实工具。
可复制示例
{
"proposal": true,
"records": [
{
"branch": "demo-review",
"path": "/example/review",
"owner": null,
"port": 3000,
"clean": null,
"configRevision": null
}
],
"findings": [
"未记录负责人",
"未观测干净状态",
"缺少配置版本"
],
"executeActions": false
}常见问题
Worktrunk 已经内置这个扩展了吗?
没有。它是本文提出的学习练习。
需要使用 Three.js 吗?
不需要。本文提出的信息关系用 JSON、文本和可访问 SVG 已经可以清晰表达。
资料来源
- Worktrunk / docs/src/content/docs/config.md来源核查 2026-09-14
- Worktrunk / docs/src/content/docs/list.md来源核查 2026-09-14
- Worktrunk / docs/src/content/docs/hook.md来源核查 2026-09-14