deepseek-harness-action
by lixiaoyiao
直接从 GitHub PR、issue、失败 CI 与维护者自动化里运行 DeepSeek Harness
Run DeepSeek Harness directly from GitHub pull requests, issues, failed CI jobs, and maintainer-authored automations.
安装
dsh plugin --profile web add github:lixiaoyiao/deepseek-harness-actionGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
让 GitHub 里的 PR、Issue、失败 CI 和维护者编写的自动化流程直接调用 DeepSeek Harness。
GitHub PR / Issue / CI → DeepSeek Harness → Review / Diagnose / Fix / Issue → PR
Action 会启动与凭据隔离的 DSH worker,校验结构化结果,再由受信任的 Controller 发布评论或经过验证的改动。这是社区项目,并非 DeepSeek 或 GitHub 官方产品,由 @Lixiaoyiao 维护。
核心能力
| 能力 | 作用 |
|---|---|
| PR 审查 | 审查新提交,发布一条汇总,并为高置信度问题添加行内评论 |
| 通用任务 | 回答仓库问题,或执行经过明确授权的编码任务 |
| CI 诊断与修复 | 读取失败的检查和日志;受信任 workflow 可以验证并发布修复 |
| Issue 实现 | 把经过授权的 Issue 请求实现为已验证的分支和 PR |
| 受控工具 | 通过 strict、standard 和精确的 custom 档位使用 Bash、Web Search、Subagent、固定命令、MCP、Bundle 与 Plugin |
| 结构化结果 | 无论成功或失败,都提供稳定的标量 outputs 和 schema-v1 result-json |
v0.5.3 是一次小型 architecture/security hardening patch:稳定错误身份,收紧 Git checkout 与 Controller materialized tree 的来源契约,并澄清验证安全边界,不增加 Agent 或产品功能。经过审计的 DeepSeek Harness 精确版本仍为 0.1.1-rc.2。
真实运行
以下是本仓库的公开运行记录,可以直接查看评论和 Actions 日志。
| 场景 | 运行记录 |
|---|---|
| PR 审查,以及复跑时不重复发评论 | PR #3 · Actions run |
| 根据失败的检查和日志进行诊断 | Actions run |
| 在受信任写模式下修复并验证 | Actions run |
| 实现 Issue 后创建 PR | Issue #4 → PR #5 |
快速开始
在需要接入的仓库根目录运行安装器:
npm create deepseek-harness-action@latest
选择一种模式:
- PR Review 创建
.github/workflows/dsh-review.yml。 - @dsh Coding Commands 创建
.github/workflows/dsh-commands.yml。 - Both 创建以上两个 workflow 文件。
在 CI 或其它非交互环境中,必须显式传入 mode,安装器不会等待 stdin:
npm create deepseek-harness-action@latest -- --mode both
安装器会按需创建 .github/workflows/,如果目标 workflow 已存在则拒绝覆盖。它不会添加 Secret、commit 或 push 改动,也不会创建 PR。生成的 workflow 会把 Action 固定到 v0.5.2 的不可变 release commit。
安装完成后,在 Settings → Secrets and variables → Actions 中添加 DEEPSEEK_API_KEY。打开或更新一个非 draft PR 即可触发 Review;使用 Coding Commands 时,把 @dsh 命令写在 Issue 或 PR 评论的第一行。完整 onboarding 与安全说明见安装指南。
手工安装
先在仓库的 Settings → Secrets and variables → Actions 中添加 DEEPSEEK_API_KEY,再创建 .github/workflows/dsh-review.yml:
name: DSH review
on:
pull_request_target:
types: [opened, synchronize, ready_for_review, reopened]
permissions:
contents: read
pull-requests: write
jobs:
review:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
ref: ${{ github.event.pull_request.base.sha }}
persist-credentials: false
fetch-depth: 1
- uses: Lixiaoyiao/deepseek-harness-action@v0.5.3
with:
deepseek-api-key: ${{ secrets.DEEPSEEK_API_KEY }}
dsh-version: 0.1.1-rc.2
打开一个非 draft PR。Action 只会检出受信任的 base SHA,通过 GitHub API 读取 PR,并且不会运行 fork 中的代码。
生产环境应把 v0.5.3 替换为该版本发布时的完整、不可变 commit SHA。权限、版本固定、安全检出规则和完整模板见安装指南。
常用 @dsh 命令
命令必须写在 Issue 或 PR 评论的第一行。
| 命令 | 用途 |
|---|---|
@dsh task --read <问题> |
解释代码、检查仓库或回答通用问题 |
@dsh task --write <任务> |
请求编码任务;所有写入关卡仍须通过 |
@dsh review |
重新审查当前 PR |
@dsh diagnose |
诊断失败的检查和日志 |
@dsh fix |
在受信任写模式下修复同仓库 PR |
@dsh implement |
实现 Issue 并创建 PR |
--write、fix 和 implement 只是请求能力,并不授予权限。workflow 必须显式启用写模式,并提供由 Controller 执行的验证命令。命令和自动化用法见使用指南,完整关卡见配置参考。
安全边界
- Agent 不会拿到真实的
GITHUB_TOKEN或 DeepSeek key。只有 Controller 能调用 GitHub 写入 API。 - 仓库内容、diff、Issue、PR、评论、日志、模型输出和工具输出始终是不可信数据。
- fork 审查使用没有
.git、没有凭据的 worker;workflow 只能检出受信任的 base SHA,并设置persist-credentials: false。 - 写入需要受信任的同仓库上下文、通过授权检查的操作者、Docker、
allow-write: "true"、非空固定验证命令,以及全部验证成功;受保护路径和 Validation Integrity 检查仍然有效。 - Validation Integrity 针对已支持的 entrypoint、package script、test/config 变弱、lock/toolchain 控制和已知 wrapper/interpreter 提供高置信度变弱检测与 baseline replay;它不是完整的跨语言 dependency provenance 或形式化完整性证明。
- Validation 可能使用 Docker bridge network。在 self-hosted runner 或企业网络中,仓库验证代码可能访问 runner 可达的网络服务;应使用专用 runner 以及 runner 级网络分段和出口控制。
- 获准的 Bundle、Plugin 或 stdio MCP server 属于受信任的 worker code。ToolRuntime 只能限制模型路由的调用,不能沙箱化扩展启动、后台任务或直接进程 I/O。
启用写模式、host 执行、网络访问或第三方扩展前,请完整阅读安全策略。
文档
| 指南 | 内容 |
|---|---|
| 安装指南 · English | 安装器、手工安装、Secret、权限、安全检出和模板 |
| 使用指南 · English | @dsh 命令、task、review、diagnose、fix、implement 和自动化 |
| 配置参考 | 输入、权限档位、工具、验证、扩展和输出 |
| 故障排查 | 权限拒绝、Docker、超时、取消、验证和扩展故障 |
| 安全策略 | 信任模型、凭据边界、网络行为和已知限制 |
| 扩展契约 | MCP、Profile、Bundle、Plugin、ToolRuntime 和 receipts 的深层技术约束 |
| 维护者发布指南 | 本地检查、核心 E2E、release canary、版本更新和发布 |
| 贡献指南 · 更新记录 | 开发流程和版本历史 |
开发
需要 Node.js 24。
npm ci
npm run check
具体流程见 CONTRIBUTING.md。用于 GitHub Marketplace 的 dist/ 会随版本提交,请勿手工修改。
许可证
本项目采用 MIT 许可证。第三方许可见 THIRD_PARTY_NOTICES.md 和 BUNDLED_DEPENDENCIES.md。
DeepSeek Harness 提供 headless runtime 和官方扩展机制。GitHub 集成还参考了采用 MIT 许可证的 Claude Code Action 模式,以及 Codex GitHub Action 对执行权限和发布权限的分离方式;准确的来源说明记录在第三方许可文件中。
原始 README: https://github.com/Lixiaoyiao/deepseek-harness-action/blob/main/README.zh-CN.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent