dsh-co-authored-by
dsh (DeepSeek Harness) 插件:agent 提交时自动注入 Co-authored-by 信息
[!NOTE]
本仓库代码完全使用 DeepSeek V4 进行规划和编码
功能
- agent 直接执行
git commit 时懒安装 prepare-commit-msg hook,自动追加 Co-Authored-By: <model> <noreply@deepseek.com> 与 Generated-By: dsh <版本> trailer(不改命令,幂等)
- hook 安装后覆盖该仓库后续所有 commit(含脚本内间接 commit)
- 与仓库已有 hook 兼容:安装前备份、链式执行;会话结束自动卸载并恢复
- 模型身份取当前会话实际使用的模型显示名,解析失败回退模型 id / unknown
- read-only 沙箱下 commit 被拒时,可经用户批准一次性升级到 workspace-write
快速上手
- 本地开发用 patch 覆盖层:
dsh web --patch ./cordis.patch.yml(需 dsh CLI)
- 安装到 profile:
dsh plugin --profile demo add <包名或 tarball>
- agent 正常提交即可,无需额外命令
详细说明见用户指南
配置
零配置即用。全部字段有默认值,可按需在 profile 的 cordis.patch.yml 覆盖:
- insert:
- id: co-authored-by
config:
enable: true
emailDomain: noreply@deepseek.com
modelNameFormat: display
sandboxUpgradeRequest: true
| 字段 |
默认值 |
作用 |
enable |
true |
插件总开关 |
emailDomain |
noreply@deepseek.com |
Co-Authored-By trailer 的邮箱域名 |
modelNameFormat |
display |
模型名取显示名(display)还是 id(id) |
sandboxUpgradeRequest |
true |
read-only 沙箱下是否请求升级;false 时不请求,由 dsh 内置 sandbox_permissions 机制兜底 |
测试
- 单元:trailer 注入逻辑、模型身份回退链、配置校验、hook 安装/链式/卸载
- e2e:真实 dsh 栈(agent loop + bash 工具)驱动
git commit,断言注入与会话结束卸载
贡献
提 issue 或 PR,见 GitHub 仓库。规划与决策票见 wayfinder 地图 issue(wayfinder:map 标签)。版本发布流程见 docs/versioning.md。
许可证
MIT