
从 open-code-review、worktrunk 和 RustFS 出发,分别练习 LLM 工具的分层设计、git 工作树并行与 S3 对象存储服务端,并给出今晚能跑通的最小路径。
v1.12.3、v1.12.4 两个版本,9 月 17 日又发布 v1.12.5;worktrunk 在 9 月 17 日(北京时间)发布 0.78.0;RustFS 的 1.0.0 正式版在 9 月 16 日傍晚发布,9 月 17 日连发两个 1.0.1 预览版。worktrunk 与 rustfs 的主分支到 9 月 18 日早上还有提交,open-code-review 在 9 月 17 日晚上也在更新。123456ocr scan 则不看差异,直接审查整个文件或某个目录,用来读陌生代码库。7v1.12.5 里既有新增的 Kimi Code 插件,也有对 Agent 预算控制的修复:--max-tokens-budget 现在在每一轮模型调用之前检查,而不再只在派发下一组任务时检查,超预算的组会拿到最后一轮提交发现的机会。同一批提交还处理了增量审查评论的重复上报。12message_en.properties 和 message_zh.properties 放进同一组)、每个文件匹配哪几条规则,全部由工程代码决定。每个文件组带着独立上下文并发生成子 Agent,改动再大也能保住文件覆盖率。7ocr delegate preview 让本机已有的编码 Agent 自己执行审查,这个工具只负责选文件和解析规则,不需要配置模型。7npm install -g @alibaba-group/open-code-review
ocr config provider
ocr config model
cd your-project
ocr reviewocr config 命令是交互式的,会依次让你选服务商、填密钥、选模型,并自动测一次连通性。装好之后,ocr review 在工作区模式下审查已暂存、未暂存和未跟踪的改动;换成分支区间就是 ocr review --from main --to feature-branch,审查单个提交是 ocr review --commit abc123;没有 git 历史的目录用 ocr scan --path <目录>。7ocr review,逐条核对它报出的位置是否真的落在你的改动上;再用 ocr review --format json --output result.json 存一份结果,改一处代码后重跑,比较两次报出的问题有什么变化。想读源码,README 给的例子是扫描 internal/agent 这个目录,可以从 Agent 循环和文件分组这两处看起。7v1.12.5。9 月 16—17 日的修复集中在预算控制、增量评论去重和路径校验,这几处直接决定长改动集上的稳定性。1git worktree add -b feat ../repo.feat,再是 cd ../repo.feat。worktrunk 把这个过程压成一条命令,作者的目标场景是同时跑五到十个编码 Agent。90.78.0;往前一版是 9 月 9 日,大约每周一个版本。主分支最新一次提交在 9 月 18 日早上,内容是给交互式选择器补录演示,并修掉演示过程中暴露的几个 bug。34wt list --full 会按分支列出 CI 状态和 AI 生成的改动摘要,模板过滤器 hash_port 能给每个工作树分一个独立端口,几个并行开发服务器就不会抢端口。9wt config shell install 会在 bash、zsh、fish、nushell、pwsh 里装一个 wrapper,wt switch 才能真正把当前目录切过去——README 里写得很直白:shell integration allows commands to change directories。想弄清一条 CLI 的能力边界在哪,这是现成的例子。9wt 本身是纯命令行工具,可以先把并行工作树跑顺,再决定要不要接 Agent。9brew install worktrunk && wt config shell install
cd your-repo
wt switch --create feature-a
wt list
wt merge mainwt switch --create feature-a 从当前分支新建分支和工作树,并直接切过去;wt list 列出所有工作树的状态;wt merge main 把当前分支压缩成一次提交、变基到 main 并快进合并,最后在工作树干净时删掉工作树和分支。要给并行 Agent 分发任务,用 -x 在切换后起一个程序,-- 后面的参数原样传给这个程序。9wt switch -x claude -c feature-a -- 'Add user authentication'wt list,看差异统计、ahead/behind 和 CI 状态这几列怎么显示;再去读一遍 wt config shell install 装进 shell 的那个 wrapper,看它怎么把命令输出的路径变成一次 cd。这一处能解释很多「命令行为什么看起来不像普通子进程」的问题。90.78.0。这一版有破坏性改动:钩子脚本收到的 JSON 换了键名(worktree 改成 worktree_path、repo_root 改成 repo_path、main_worktree 改成 repo、main_worktree_path 改成 primary_worktree_path),配置模板会在加载时自动迁移,但自己解析这段 JSON 的脚本要跟着改。同一版还修了几个丢数据的隐患:status.showUntrackedFiles = no 时不再把只放着未跟踪文件的工作树当成干净的直接删掉,继承 GIT_DIR 时 wt remove 与 wt merge 会检查正确的工作树,被 git worktree lock 锁住的工作树不再被删除。31.0.0 正式版在 9 月 16 日傍晚发布,成为当前标记为 Latest 的稳定版本;9 月 17 日又连发 1.0.1-preview.1 与 1.0.1-preview.3 两个预览版。主分支在 9 月 18 日早上还有提交,一处修纠删码存储的位翻转写入,一处让扫描器在换主之后能续跑检查点。5611rio-v2 特性后面,属于预览,而且 MinIO 加密过的对象读不出来。判断任何一个号称兼容某协议的项目,先翻它的兼容矩阵与不支持项列表,这一步比读 README 第一段快得多。1012docker run 起服务,S3 API 在 9000 端口,Web 控制台在 9001 端口,数据与日志目录需要把属主改成 10001。读源码的门槛高一档,仓库有六千多次提交,工作区里分成 crates/、rustfs/、protocol/ 几块,顺着目录读容易迷路;建议从兼容矩阵里挑一个想确认的 API,反着找它的实现。10mkdir -p data logs && chown -R 10001:10001 data logs
docker run -d -p 9000:9000 -p 9001:9001 \
-v $(pwd)/data:/data -v $(pwd)/logs:/logs \
rustfs/rustfs:latestcurl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh,或者用仓库根目录的 docker-compose-simple.yml 起 compose。10http://127.0.0.1:9001 进控制台建一个桶,再让任意 S3 客户端指向 http://127.0.0.1:9000:aws-cli、boto3、rclone 的 S3 后端都能连上。10rustfs/rustfs:latest 或 rustfs/rustfs:1.0.1;1.0.1-preview.3 属于预发布,按预发布对待,读它的发布说明再决定要不要跟。单盘部署不能原地扩容,池布局另有兼容与回归测试文档,动扩容之前先看那份文档。101113| 你想练的主线 | 仓库与本期信号 | 最小条件 | 第一条可观察路径 | 主要限制 |
|---|---|---|---|---|
| LLM 工具的分层设计:哪一步交给模型,哪一步交给代码 | open-code-review · v1.12.5,9 月 17 日发布 | Node.js、Git 2.41 以上,模型端点(delegate 模式不需要) | 在自己的项目里跑 ocr review,改一处代码后重跑,比对两次结果 | 完整能力需要模型端点;召回率有意低于通用 Agent;Apache-2.0。7 |
| git 内部结构与 CLI 的能力边界 | worktrunk · 0.78.0,9 月 17 日发布 | 一条安装命令,无外部服务 | wt switch --create 开第二个工作树,wt list 对比两个工作树的状态 | 0.78.0 有破坏性改动(钩子 JSON 键名);MIT 或 Apache-2.0。3 |
| 对象存储服务端:S3 协议、纠删码、修复 | rustfs · 1.0.0 正式版,9 月 16 日发布 | Docker 或 podman | 一条 docker run 起服务,用 S3 客户端传一个文件,回控制台看它落在哪 | 仓库体量偏大;单盘不能原地扩容;MinIO 加密对象读不出来;Apache-2.0。10 |
ocr review 一条命令、wt switch --create 一条命令、一条 docker run。先跑出第一个能看见的结果,再决定晚一点往源码的哪一层读。github.com
github.com
github.com
github.com
github.com
github.com
github.com
huggingface.co
github.com
github.com
github.com
github.com
github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.