
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
harness-github
Advanced tools
DeepSeek Harness GitHub plugin: review PRs, triage issues, debug Actions CI, handle review feedback, and prepare code changes for review — via gh CLI or REST, no extra sign-in required.
DeepSeek Harness GitHub 插件 · A GitHub connector plugin for DeepSeek Harness (DSH).
处理 PR、issue、CI 与发布流程:检查 PR、分诊 issue、调试失败的 Actions 检查、处理 review 反馈、准备代码更改以供审查 —— 对齐 OpenAI Codex 插件市场的 GitHub 插件体验。
Handle PRs, issues, CI and releases: review PRs, triage issues, debug failed Actions checks, address review feedback, and prepare code changes for review — matching the OpenAI Codex GitHub plugin experience.
gh 命令。GITHUB_TOKEN,不做 GitHub App、不做 OAuth 网页流程、不做 Device Flow。ctx.approval,默认 ask,缺失 fail-closed 拒绝);token 永不进日志、永不写入配置文件。需要 DSH ≥ 0.1.0-rc.6。任意 profile(web / tui / headless):
Requires DSH ≥ 0.1.0-rc.6. From any profile (web / tui / headless):
dsh plugin add harness-github
dsh plugin add harness-github 会在 profile 目录执行 pnpm add 并登记 bundle;github:workflow 工作流指引,并注册 18 个 github_* 工具;用户:看看 deepseek-ai/deepseek-harness 有没有待处理的 issue
Agent:github_issue_list repo=deepseek-ai/deepseek-harness → 分诊列表
用户:这个 PR #123 的 CI 挂了,帮我看看
Agent:github_pr_view repo=o/r number=123 → 详情 + checks 汇总
github_workflow_run repo=o/r runId=… → 失败步骤与关键日志
修改本地代码 → 提交推送 → github_checks_view 确认
用户:处理一下这个 review 反馈,然后回复他们
Agent:github_review_feedback repo=o/r number=123 → 拉取评论线程
github_pr_comment repo=o/r number=123 → 回复(审批)
本地改代码 → 推送 → 再次 github_review_feedback 确认
用户:把我这些改动发个 PR
Agent:github_pr_prepare repo=o/r → 检查/提交/推送(审批)+ 建 PR(审批)
User: Any open issues in deepseek-ai/deepseek-harness worth triaging?
Agent: github_issue_list repo=deepseek-ai/deepseek-harness → triage list
User: CI is failing on PR #123, dig in.
Agent: github_pr_view repo=o/r number=123 → details + checks rollup
github_workflow_run repo=o/r runId=… → failed steps + key log lines
fix locally → commit & push → github_checks_view to confirm
User: Address the review feedback and reply.
Agent: github_review_feedback repo=o/r number=123 → pull comment threads
github_pr_comment repo=o/r number=123 → reply (approval)
fix locally → push → re-check with github_review_feedback
User: Ship my changes as a PR.
Agent: github_pr_prepare repo=o/r → check/commit/push (approval) + create PR (approval)
| 工具 / Tool | 功能 / What it does | 对应 gh 命令 / Equivalent gh command |
|---|---|---|
github_repo_view | 仓库概览(默认分支/语言/star/许可证/活跃度) | gh repo view <owner>/<repo> |
github_pr_list | 列 PR(open/closed/merged/all,可按作者/标签过滤) | gh pr list --repo <owner>/<repo> --state <state> |
github_pr_view | PR 详情 + 文件变更 + 评论 + checks 汇总 | gh pr view <n> --repo <owner>/<repo> --comments |
github_checks_view | 头提交状态检查 + Actions run 列表 | gh pr checks <n> --repo <owner>/<repo> |
github_workflow_run | 单 run 失败步骤 + 关键日志行 | gh run view <id> --repo <owner>/<repo> --log-failed |
github_issue_list | 列 issue(自动排除 PR) | gh issue list --repo <owner>/<repo> --state <state> |
github_issue_view | issue 详情 + 评论 | gh issue view <n> --repo <owner>/<repo> --comments |
github_search | 搜索 issue/PR/仓/代码(可按 repo 限定) | gh search issues/repos/code "<q>" |
github_release_list | 最近发布 | gh release list --repo <owner>/<repo> |
github_review_feedback | PR review 评论线程(逐条处理反馈) | gh pr view --comments + gh api .../reviews |
github_pr_create | 建 PR(防重复,draft 支持)✍️ | gh pr create --repo <owner>/<repo> --title ... |
github_pr_comment | 评论 PR/issue ✍️ | gh pr comment <n> --repo <owner>/<repo> --body ... |
github_review_submit | approve / comment / request-changes ✍️ | gh pr review <n> --repo <owner>/<repo> --approve |
github_pr_merge | merge / squash / rebase,可选删分支 ✍️ | gh pr merge <n> --repo <owner>/<repo> --squash |
github_issue_create | 建 issue(标签/负责人)✍️ | gh issue create --repo <owner>/<repo> --title ... |
github_issue_comment | 评论 issue ✍️ | gh issue comment <n> --repo <owner>/<repo> --body ... |
github_issue_close | 关闭 issue(可附原因评论)✍️ | gh issue close <n> --repo <owner>/<repo> |
github_pr_prepare | 本地流程:检查/提交/推送/建 PR ✍️ | git status && git push && gh pr create ... |
✍️ = 写操作,执行前需要人工审批(approval)。
gh auth status 有效)→ 直接复用,免 token;GITHUB_TOKEN(进程环境变量 / ctx.credentials 凭据库)→ REST 带 Bearer;gh auth login 或设置 GITHUB_TOKEN。| 操作类型 | 公开仓库 | private 仓库 | 需要 |
|---|---|---|---|
| 只读(10 个读工具) | ✅ 匿名可用 | 需 gh / token | 读权限 |
| 写(8 个写工具) | 需 gh / token | 需 gh / token | repo 写权限 + 每次人工审批 |
写操作的审批:默认策略 ask(弹出人工确认);审批不可用或策略为 never 时一律拒绝,绝不静默放行;审批拒绝 → 零副作用。
| 项 / Item | 要求 / Requirement |
|---|---|
| DSH | >= 0.1.0-rc.6 < 0.2.0(推荐 0.1.0-rc.7 / rc.8) |
| Node.js | ≥ 18(内置 fetch) |
| gh CLI | 可选(未安装自动走 REST) |
| GitHub | github.com(Enterprise host 二期支持) |
| profile | web / tui / headless 通用 |
自动回退 REST(fetch + token / 匿名只读),功能等价。只有需要本地 git 流程(github_pr_prepare)时才要求 git 本身(而非 gh)。
自动回退 REST。写操作请:gh auth login,或设置 GITHUB_TOKEN 环境变量,或在 DSH 设置里配置 GITHUB_TOKEN 凭据。
匿名只读限额很低(约 60 次/小时,搜索 10 次/分钟)。做一次 gh auth login 或配置 GITHUB_TOKEN 即解除;错误信息会明确提示。
不会。token 只在单次操作内存中使用(REST Bearer 头),永不写入 profile 配置文件,日志输出带防御性脱敏。
不会。所有写工具执行前调用 ctx.approval.request(...),仅 allowed-once 放行;approval 服务缺失、策略为 never、或用户拒绝,都会直接失败且零副作用。
github_pr_create 报 422 Validation Failed? / Why does github_pr_create fail with 422?GitHub 拒绝创建 base 与 head 之间没有提交差异的 PR(包括 head 分支直接指向 base 同一提交)。确保 head 分支上先有至少一个自己的提交并已 push,再创建 PR。
GitHub rejects PRs with no commit differences between base and head (including a head branch pointing at base's exact commit). Make sure the head branch has at least one commit of its own and is pushed first.
可能原因:仓库是 private(匿名访问 GitHub 对 private 仓库返回 404 而非 401);或 owner/repo 写错。检查 repo 参数格式为 owner/repo,并用 gh auth login/GITHUB_TOKEN 访问 private 仓库。
pnpm install
pnpm test # 47 个离线单测(node:test,mock gh/REST,不联网)
node scripts/check.mjs # 语法检查 + import 冒烟
npm pack --dry-run # 发布前检查包内容
MIT — 见 LICENSE。
FAQs
DeepSeek Harness GitHub plugin: review PRs, triage issues, debug Actions CI, handle review feedback, and prepare code changes for review — via gh CLI or REST, no extra sign-in required.
The npm package harness-github receives a total of 32 weekly downloads. As such, harness-github popularity was classified as not popular.
We found that harness-github demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.