dsh-co-authored-by

by shelken

工作流与自动化github收录于 08-23

dsh (DeepSeek Harness) 插件:agent 提交时自动注入 Co-authored-by 信息

安装

dsh plugin --profile web add github:shelken/dsh-co-authored-by

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

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

原始 README: https://github.com/shelken/dsh-co-authored-by/blob/main/README.md ↗