ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Worktrunk LLM提交信息生成:Claude Code与Codex等5种工具配置全解

Worktrunk LLM提交信息生成:Claude Code与Codex等5种工具配置全解 Worktrunk LLM提交信息生成Claude Code与Codex等5种工具配置全解【免费下载链接】worktrunkWorktrunk is a CLI for Git worktree management, designed for parallel AI agent workflows项目地址: https://gitcode.com/GitHub_Trending/wo/worktrunkWorktrunk 是一款专为 AI 智能体并行工作流设计的 Git worktree 管理 CLI其LLM 提交信息生成功能可以把git diff交给 Claude Code、Codex、OpenCode、llm、aichat 等 5 种任意命令行工具自动生成规范的提交信息。本文是一份面向新手的完整配置指南帮你 3 分钟接通 AI 自动写 commit message。工作原理三步搞定 AI 提交信息Worktrunk 的 LLM 提交信息生成逻辑很简单构建模板提示词 → 通过 stdin 交给外部命令 → 把输出作为提交信息。整个过程由 src/llm.rs 实现收集上下文读取暂存区 diff、diff 统计、当前分支、最近 5 条提交用于风格参考渲染模板用 minijinja 模板引擎类似 Jinja2 语法拼装出提示词执行命令提示词从 stdin 传给[commit.generation]里配置的命令stdout 就是生成的提交信息贴心细节大 diff 自动瘦身diff 超过 100KB 时先剔除 lock 文件再按文件截断每文件最多 50 行、每行最多 500 字符保证提示词不会撑爆模型上下文逻辑见 src/llm.rs兜底机制没配置 LLM 命令时会退化为确定性消息如Changes to auth.rs config.rs流程不会中断首次运行自动检测第一次提交时Worktrunk 会检测你机器上装了 claude / codex / opencode 哪个并主动提供一键配置源码在 src/output/commit_generation.rs5种工具配置全解一键复制即用所有配置都写在用户配置文件的[commit.generation]段macOS/Linux 位于~/.config/worktrunk/config.toml。官方推荐命令以 dev/config.example.toml 为唯一事实来源五种工具的完整配置如下1️⃣ Claude Code 配置[commit.generation] command MAX_THINKING_TOKENS0 claude -p --no-session-persistence --modelhaiku --tools --safe-mode --setting-sourcesuser --system-prompt各参数用途官方文档 docs/public/llm-commits.md 有逐字解释--no-session-persistence避免提交对话污染claude --continue的会话--safe-mode屏蔽 hooks、插件、MCP、skills、CLAUDE.md保持纯净运行需 Claude Code ≥ 2.1.169--setting-sourcesuser把配置范围限定在用户级防止项目.claude/settings.json覆盖认证其余参数关闭工具调用、系统提示和 thinking追求快速纯文本输出2️⃣ Codex 配置[commit.generation] command codex exec -m gpt-5.6-luna -c model_reasoning_effortlow -c system_prompt --sandboxread-only --json - | jq -sr [.[] | select(.item.type? \agent_message\)] | last.item.text要点使用 Codex 模型族中快速低成本的变体并设低推理强度 空系统提示--sandboxread-only保证 AI 不会在生成提交信息时改动文件管道末端的jq负责从 JSON 流里提取最终文本——需要本机安装jq3️⃣ OpenCode 配置[commit.generation] command opencode run -m anthropic/claude-haiku-4.5 --variant fast直接指定快速模型变体一条命令即完成配置。4️⃣ llm 配置[commit.generation] command llm -m claude-haiku-4.5llmSimon Willison 的通用 LLM CLI配置最简洁换模型只需改-m参数。5️⃣ aichat 配置[commit.generation] command aichat -m claude:claude-haiku-4.5aichat 用户只需把-m换成本人偏好的模型标识即可。 通用原则任何从 stdin 读入提示词、向 stdout 输出提交信息的命令都能接入以上 5 种只是官方推荐的开箱即用方案。三大命令的实测效果配置完成后以下三个命令都会自动调用 LLM 生成提交信息wt step commit— 暂存并提交$ wt step commit ◎ Generating commit message and committing changes... (2 files, 26) feat(validation): add input validation utilities ✓ Committed changes a1b2c3dwt step squash— 把分支上多个提交压缩为一个$ wt step squash ◎ Squashing 3 commits into a single commit (5 files, 16)... ◎ Generating squash commit message... feat(auth): Implement JWT authentication system Add comprehensive JWT token handling including validation, refresh logic, and authentication tests. ✓ Squashed a1b2c3dwt merge— 终极合并工作流压缩 生成信息 合并到主分支 清理 worktree$ wt merge ◎ Squashing 3 commits into a single commit (5 files, 16)... ✓ Squashed a1b2c3d ✓ Merged to main (1 commit, 5 files, 16) ◎ Removing feature worktree branch in background自定义提示词模板控制 AI 的文风默认模板源码见 src/llm.rs要求标题行 50 字符以内、祈使语气、匹配仓库既有提交风格如 Conventional Commits。你也可以在[commit.generation]里用自己的template完全替换它可用变量一览变量说明{{ git_diff }}完整 diff普通提交为暂存区squash 为合并 diff{{ git_diff_stat }}diff 统计改动文件数、增删行数{{ branch }}/{{ repo }}当前分支 / 仓库名{{ recent_commits }}最近 5 条提交标题风格参考{{ commit_details }}被 squash 的提交列表仅 squash 模板{{ target_branch }}合并目标分支仅 squash 模板更轻量的方式template-append 追加指南不想重写整个模板用template-append往提示词尾部追加一段风格约定它同时支持用户级个人偏好和项目级团队共享两层配置。项目级写在.config/wt.toml并提交到仓库这样每个同事的 LLM 都遵守同一套规范示例见 dev/wt.example.toml# .config/wt.toml [commit.generation] template-append - Use conventional commits (feat:, fix:, docs:, …) - Reference the related issue ID in the body 安全性设计很到位项目级片段首次发送前会弹出一次性审批提示和项目 hooks 同款闸门之后不重复询问拒绝也不致命LLM 会照常运行。用户级片段则无需审批。进阶玩法LLM 分支摘要配置好命令后再开启一行配置[list] summary truewt switch交互选择器的 summary 预览页、wt list --full的 Summary 列就会出现每个分支的AI 一句话摘要——并行管理 5-10 个 AI 智能体时扫一眼就能知道每个分支在干什么。摘要带缓存只有 diff 变化时才重新生成。常见问题排查Q如何调试提示词到底长什么样用wt step commit --show-promptsquash 用wt step squash --show-prompt预览完整提示词而不执行 LLM。命令本身失败时错误信息里会附带一条可直接复制的复现命令。Q命令配置了但报错配置了[commit.generation]后 LLM 命令失败会显式报错而不是静默退化——这是有意设计避免你误以为生成了 AI 消息。检查命令是否在 PATH 中、Codex 场景是否装了jq。Q旧模板里用了commits变量会怎样commits已废弃squash 模板改用commit_details运行wt config update可自动迁移无需手动改。QWindows 上能用吗可以。所有 LLM 命令统一经由平台 shellUnix 用 shWindows 用 Git Bash执行因此KEYvalue cmd这类行内环境变量写法都能正常工作实现见 src/llm.rs。写在最后Worktrunk 的 LLM 提交信息生成把写 commit message这件最容易被 AI 工作流忽略的小事彻底自动化了5 种工具任选其一、一行command配置接入模板变量、diff 预算、团队共享风格指南、分支摘要一应俱全。配合 src/llm.rs 的兜底策略即便 LLM 缺席工作流也照常运转——这正是为 AI 智能体并行工作流而生的工具该有的样子。【免费下载链接】worktrunkWorktrunk is a CLI for Git worktree management, designed for parallel AI agent workflows项目地址: https://gitcode.com/GitHub_Trending/wo/worktrunk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表