dsh-co-authored-by
开发工具 活跃维护

dsh-co-authored-by

shelken/dsh-co-authored-by

生态Git提交插件,执行git commit时自动追加Co-Authored-By、Generated-By两类标准尾部标注,无需手动编写,统一规范协作贡献记录。

2
Stars 标星
0
Forks 分支
2
Watchers 关注
0
Open Issues
TypeScript
主要语言
None
开源协议
114 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:shelken/dsh-co-authored-by
git clone https://github.com/shelken/dsh-co-authored-by.git
git clone git@github.com:shelken/dsh-co-authored-by.git
README.md main

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

快速上手

  1. 本地开发用 patch 覆盖层:dsh web --patch ./cordis.patch.yml(需 dsh CLI)
  2. 安装到 profile:dsh plugin --profile demo add <包名或 tarball>
  3. 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