shelken / dsh-co-authored-by

Listed

dsh plugin: auto-inject Co-Authored-By and Generated-By trailers on git commit

mainOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:shelken/dsh-co-authored-by

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 94f2083Synced Aug 18, 2026

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
字段默认值作用
enabletrue插件总开关
emailDomainnoreply@deepseek.comCo-Authored-By trailer 的邮箱域名
modelNameFormatdisplay模型名取显示名(display)还是 id(id)
sandboxUpgradeRequesttrueread-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

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected
DocumentationDetected

Repository information

Language
TypeScript
License
Not reported
Latest release
v0.1.1
Last updated
Aug 13, 2026, 6:14 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.