面向 DeepSeek Harness 的官方级 GitHub CI:composite action.yml、PR 审查机器人(幂等行内评论 + 状态检查门禁),以及 PR/issues 工具…
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
dsh plugin --profile web add @perrylink/dsh-github状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 02:40:13
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
查看扫描证据(共 9 处,展示前 9 条)
- 执行外部命令固定命令lib/git.js:14
execFile('git', args, { cwd: options.cwd, windowsHide: true, signal: options.signal, maxBuffer: 8 * 1024 * 1024 }, (error, stdout) => { - 执行外部命令固定命令lib/credential.js:20
execFile('gh', args, { windowsHide: true, signal, maxBuffer: 1024 * 1024 }, (error, stdout) => { - 发起网络请求lib/github.js:134
const response = await this.transport.request(method, path, { ...options, accept: options.accept ?? JSON_ACCEPT }); - 发起网络请求lib/github.js:155
const response = await this.transport.request(method, path, { ...options, accept: 'application/vnd.github.diff' }); - 发起网络请求lib/github.js:192
const response = await this.transport.request('POST', '/graphql', { body: { query: document, variables }, accept: JSON_ACCEPT, signal }); - 写入本地文件lib/ci/pipeline.js:104
mkdirSync(dir, { recursive: true }); - 写入本地文件lib/ci/pipeline.js:107
writeFileSync(jsonPath, JSON.stringify({ schemaVersion: 1, ...result, files: { json: jsonPath, markdown: markdownPath } }, null, 2) + '\n'); - 写入本地文件lib/ci/pipeline.js:108
writeFileSync(markdownPath, formatMarkdownReport(result, { blocking: state.config.ci.blocking, checkName: state.config.ci.checkName }) + '\n'); - 写入本地文件lib/ci/pipeline.js:111
appendFileSync(outputFile, `verdict=${result.verdict}\n`
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
@deepseek-ai/dsh-util-values@deepseek-ai/dsh-agent@deepseek-ai/dsh-attachment@deepseek-ai/cordis@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-credentials@deepseek-ai/dsh-jobs@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-settings@deepseek-ai/dsh-subagent@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
界面预览
2 张 · 点击查看大图功能亮点
- PR审查机器人
- 幂等行内评论
- 写操作需人工批准
展开完整介绍(133 字)↓
面向 DeepSeek Harness 的官方级 GitHub CI:composite action.yml、PR 审查机器人(幂等行内评论 + 状态检查门禁),以及 PR/issues 工具,所有写操作都需人工批准(Apache-2.0,dsh-plugin)。
最近更新
在 GitHub 查看全部 →README
由 DeepSeek 最新模型翻译生成展开完整文档(README 剩余 1 节)
dsh-github
发布标记:0.7.16(2026-10-04)。
包名。 本项目在 npm 上发布为 @perrylink/dsh-github。裸 npm 名 dsh-github 属于另一个无关项目——安装它并不会装上这个插件。
dshfind
为 DeepSeek Harness 提供 GitHub PR、审查、issue 与 CI——每次写入都要人工批准,token 永不写入日志。
在智能体里创建、审查、合并、搜索 GitHub,附带 CI 复合 action、轮询审查机器人和状态检查门禁。
官方仓库。 这是 dsh-github 唯一的官方仓库,由 PerryLink 维护。其他账号下的同名仓库均与本项目无关。
dsh-doctor
DSH Market
- 1024 store channel:先执行一次 npm i -g dsh1024,再执行 dsh1024 plugin --profile web add @perrylink/dsh-github(会计入 deepseek1024.com 的安装排名)。
English · 简体中文 · Español · Português · हिन्दी
dsh plugin --profile <name> add @perrylink/dsh-github
安装与卸载
- git 渠道(最新的 main):dsh plugin --profile web add github:PerryLink/dsh-github——prepare 脚本只用生产依赖构建。
- npm 渠道(已发布的版本):dsh plugin --profile web add @perrylink/dsh-github。
- tarball 渠道:在本仓库执行 pnpm pack,然后执行 dsh plugin --profile web add ./perrylink-dsh-github-<version>.tgz。
- 卸载:执行 dsh plugin --profile web remove @perrylink/dsh-github(或从配置档补丁中删掉对应行)。
dsh-github 是什么?
dsh-github 为 DeepSeek Harness 提供 GitHub PR、评审、issue 和 CI 能力——每次写入都要人工批准,token 永不写入日志。
在智能体里创建、评审、合并和搜索 GitHub,附带 CI 复合 action、轮询评审机器人和状态检查门禁。
dsh-github 的工作流示意图:请求 → 策略 / 评审 → 裁决。
工作流概览:请求 → 策略 / 评审 → 裁决。下面的示例都用真实命令接口。
📚 目录
- dsh-github 是什么?
- 兼容性
- 你能得到什么
- 快速开始
- 安装与卸载
- 配置
- 工具与接口
- 架构
- 权限与数据
- 安全边界
- 已知限制
- 开发
- 仓库结构
- 与其他 DSH 插件的互操作
- Topics
- 贡献者
- PerryLink DSH 插件家族
- 许可证
兼容性
| 接口 | 状态 |
| Harness | DeepSeek Harness dsh-v0.2.1-rc.2(2026-10-18 验证):engines.dsh >=0.2.1-0 <0.3.0;P0 兼容路径有回归测试。 |
| Node | ^22.19.0 \|\| >=24.0.0 |
| 平台 | 全部(宿主插件;出站网络连 GitHub) |
| 模型 | 任意(静态评审是确定性的;reviewMode: "model" 可选) |
你能得到什么
dsh-github 补上了 dsh 与 Claude Code、Codex 这类工具之间的 GitHub 缺口:你的智能体可以读取、评审、打开、更新和合并 pull request,读取仓库元数据和文件,评论和关闭 issue,还能搜索——同时每次写入都由人工批准,token 保持机密。
- 15 个工具——pr_create、pr_merge、pr_update、gh_review、review_post、gh_issue、issue_open、issue_comment、issue_close、gh_search、gh_repo、gh_file、gh_repo_search、gh_checks,全部通过 defineTool 输出规范 JSON,另外在 ci.enabled 打开时还有一次性的 ci_run。
- 4 组命令——/pr create、/review(start/stop/post)、/issue open 和 /ci(scan/status/start/stop/run <pr>,在 ci.enabled 下注册)。
- 完整 PR 生命周期——创建 → 评审 → 更新(title/body/state/base)→ 合并(merge/squash/rebase,可选删除 head 分支)。
- 行内评审——review_post 针对 PR head commit 发一条汇总评论,或发按行锚定的评审评论。
- 审批门控写入 — 每次 GitHub 写入都走 ctx.approval(默认 ask,失败即关闭);审批理由会预览标题、正文大小和评论覆盖。
- token 保密 — 凭据接缝 → 环境变量 → gh 命令行,按操作解析,绝不出现在日志、事件、渲染结果或错误里。
- 后台审查任务 — /review 跑在 ctx.jobs 上,复用宿主自带的 job_list / job_output / job_kill 接口。
- 韧性 — 429 重试,按 Retry-After/x-ratelimit-reset 退避;读工具并发安全;所有调用都响应取消。
- CI 接口 — 一次性 ci_run 工具、轮询式审查机器人,以及状态检查门(复合 action action.yml)。
快速开始
dsh plugin --profile web add github:PerryLink/dsh-github
1. install the bundle into your profile
dsh plugin --profile web add github:PerryLink/dsh-github
or from npm (published releases)
dsh plugin --profile web add @perrylink/dsh-github
2. restart and verify the row
dsh --profile web --dump-config | grep -A3 'id: dsh-github'
示例
这些是插件的真实入口;装一次,然后调用其中一个。
详细示例
命令
~~~sh
pr_create
输入
~~~json
{
"title": "feat: shiny",
"body": "desc"
}
输出
~~~text
created pull request #7: https://github.com/o/r/pull/7 (main ← feat/shiny)
摘自 plugins/dsh-github/test/tools.test.ts:69-74 (fixture + assertions); renderer at plugins/dsh-github/src/tools.ts:189
失败分支
输入
~~~text
{"title":"x"} (credentials seam empty; GITHUB_TOKEN unset; gh not logged in)
输出
~~~text
{
"status": "error",
"code": "no-token",
"message": "no GitHub token found (source: credentials/env/gh)",
"guidance": "Configure one of: 1) a dsh credential for this reference (recommended; $DSH_HOME/.credentials.yaml), 2) the same-named environment variable, or 3) gh auth login for the gh CLI. Set tokenSource in cordis.yml to pin one source."
}
摘自 plugins/dsh-github/src/credential.ts:96-104; plugins/dsh-github/test/tools.test.ts:88-93
简要示例
- pr_merge
- gh_review
配置
所有可调项都是 Schemastery Config 字段(可在 cordis.yml 中修改)。按 id 定向的覆盖会替换整行 — 需要哪些键就全部重写。cordis.patch.yml 在每个键旁都有行内说明。在 GUI 里,Plugins 页面设置卡片(Official 分组)从条目自己的配置表单读取 tokenRef — 0.1.7-alpha.1 宿主移除了 ctx.settingsScope 绑定以及它背后的命名空间注册接缝,所以卡片不再拥有设置命名空间。token 本身是条目的 githubToken 字段:卡片写在那里,宿主侧解析它时优先于凭据文件、环境变量和 gh 命令行。
| 键 | 默认值 | 含义 |
| tokenSource | auto | auto(页面字段 → 凭据 → 环境变量 → gh),或 config / credentials / env / gh 之一 |
| tokenRef | GITHUB_TOKEN | 凭据接缝引用 / 环境变量名 |
| githubToken | — | 从插件页面保存的 token;在配置档配置里是明文,非空时优先尝试 |
| defaultOwnerRepo | — | 调用未指定 owner/repo 且 git 没有 origin 时的回退值 |
| autoCommit | false | /pr create 是否可以先指示模型 commit+push |
| maxDiffChars | 8000 | 读入评审的 PR diff 字符上限 |
| renderExcerptChars | 2000 | 渲染到工具输出里的 diff 摘录字符上限 |
| maxComments | 20 | gh_review 列出的 PR 评论上限 |
| reviewJobTimeoutMs | 600000 | 单个后台评审任务的截止时间(超时以 timeout 失败) |
| maxReviewRecords | 50 | 内存中评审任务记录的上限;已结束的最旧记录先被淘汰 |
| maxFileChars | 12000 | gh_file 读取文件内容的字符上限 |
| maxFindings | 50 | 每次评审的分析器发现项上限 |
| maxLineLength | 300 | 行长度超过此值时,分析器标记一条长行发现项 |
| reviewMode | static | 评审引擎:static(确定性分析器)或 model(通过宿主的 subagents 接缝跑一次性子代理;接缝缺失时直接报错) |
| modelReviewProvider | — | reviewMode: "model" 使用的子代理服务商名;默认取第一个注册的服务商 |
| maxRetries | 3 | 每个请求的 429 重试次数 |
| retryBaseMs | 500 | 重试退避基数(每次尝试翻倍) |
| retryMaxWaitMs | 60000 | 重试退避上限 |
| requestTimeoutMs | 30000 | 单请求硬超时;超时即中止 fetch |
| apiBaseUrl | https://api.github.com | GitHub REST 基础 URL(GitHub Enterprise) |
| allowedActions | ['pr.create','pr.merge','pr.update','review.post','issue.create','issue.comment','issue.close','ci.run'] | 写操作白名单;其余操作在审批前即被拒绝 |
| workspaceDir | 进程 cwd | 只读 git 检查的工作目录 |
| ci | { enabled: false, … } | CI 集成段:轮询评审机器人、状态检查门禁,以及一次性 ci_run 工具(所有 ci. 键都在其中) |
工具与入口
| 入口 | 类型 | 说明 |
| pr_create | 工具 | 创建 pull request(写操作;需审批) |
| pr_merge | 工具 | 合并 PR(merge/squash/rebase,可选删除 head 分支) |
| pr_update | 工具 | 更新 PR(title/body/state/base) |
| gh_review | 工具 | 读取 PR:元数据、限长 diff、评论、CI、静态发现项 |
| review_post | 工具 | 发布评审评论(摘要或按行锚定的行内评论) |
| gh_issue | 工具 | 列出 / 获取 / 评论 issue(PR 标记为 kind: "pr") |
| issue_open | 工具 | 创建 issue |
| issue_comment | 工具 | 评论 issue 或 PR |
| issue_close | 工具 | 关闭 issue(可选状态原因) |
| gh_search | 工具 | 搜索 issue 和 PR(独立搜索配额) |
| gh_repo | 工具 | 读取仓库元数据 |
| gh_file | 工具 | 读取某个分支/标签/提交上的单个文件 |
| gh_repo_search | 工具 | GraphQL 仓库搜索(独立搜索配额) |
| gh_checks | 工具 | GraphQL PR 状态检查(check runs + commit statuses) |
| /pr create | 命令 | 读取 git 状态,排队一条 pr_create 指令 |
| /review | 命令 | 启动 / 停止 / 发布后台审查任务 |
| /issue open | 命令 | 排队一条 issue_open 指令 |
| ci_run | 工具 | 由 composite action / CI 驱动执行的一次性 CI 审查 |
| review bot | 界面 | 轮询式审查机器人,发布幂等的行内评论(ci.) |
| status-check gate | 界面 | 按每个 PR 头提交发布 success / needs-changes 结论(action.yml) |
架构
- 凭据接缝。 tokenSource: auto 按操作解析凭据,顺序为凭据接缝(GITHUB_TOKEN 引用)→ 环境变量 → gh 命令行 token。解析结果存为局部变量,交给 REST 客户端;它不会进入规范值、渲染结果、卡片、命令输出、注入通知、任务输出、审批原因或错误消息。
- 审批闸门。 所有写操作都走模型工具。tools/pre-execute 瀑布监听器对写工具返回 ask,于是注册表通过 ctx.approval 询问人类(宿主记录 approval/asked + approval/decided 这对审计事件),没有应答者时按失败关闭处理。命令从不直接写:写命令先收集只读上下文,再唤醒智能体,让模型在某一轮里运行受闸门管控的工具。
- 后台审查任务。 /review <pr> 在 ctx.jobs 上启动 github-review 任务;任务拉取元数据(记下头提交 SHA,供行内发布用)、截断后的 diff、CI 检查和已有评论,然后运行确定性的多文件分析器(src/review.ts)。任务归调用方智能体的裸 SessionId 所有 —— 0.1.7-alpha.1 在 SessionId 上围住注册表,没有 Agent 联合类型 —— 所以必须组合 dsh-tool-jobs,否则 start 会拒绝。reviewMode: "model" 时,任务把截断后的 diff 交给一次性子代理,走宿主的 subagents 接缝。任务完成后经宿主的 dsh-tool-jobs 消费者送达会话;模型用 job_output 读取,再用 review_post 发布。
- CI composite action / review bot / status-check gate。 仓库附带一个 composite action(action.yml),负责审查 PR、修复 CI、写出报告;轮询式审查机器人发布幂等的行内评论;status-check gate 按每个 PR 头提交发布结论。一次性 ci_run 工具驱动无头运行。所有写操作仍受审批闸门管控。
权限与数据
- 权限:写操作走官方审批通道,既不重新实现,也不绕过。插件在工作区清单里声明 network:outbound 和 filesystem:write。
- 数据:审查报告放在进程内存里,以 job id 为键;不向磁盘写入任何持久内容。
- 会话日志:插件不新增自定义会话事件类型;所有模型可见内容都经由宿主记录的表层(tool/result、user/message、command/run、approval/asked……)。命令排队的通知携带插件自己的可合并扩展来源类型 { kind: 'dsh-github', form: 'notice', summary } —— 宿主没有兜底的 plugin 类型,其会话格式准入路径会直接拒绝这种类型。
安全边界
- 审批,而非强制执行。 写操作只在官方通道上产生 ask/拒绝决定;沙箱和审批系统仍是强制执行方。
- 失败即关闭。 缺少审批应答方时降级为最严格的决策 —— 绝不静默放行。
- token 永不离开进程。 每次操作时读取,只放在 Authorization 头里发送;绝不记录日志、渲染、注入,也不在错误信息中暴露。
- 审批之外不写。 /pr create 自己从不提交或推送;开启 autoCommit: true 时,模型通过 bash 工具自己的审批门执行这些写操作。审查任务不执行写操作;只有 review_post 在审批后发布。
- 不可信内容会转义并标记。 formatPostBody 对来自 diff 的文件名做反引号和 HTML 转义;外部 GitHub 内容(文件、正文、评论、搜索结果)在渲染时标记为外部内容。
- 工作量与速率受限。 429 按退避策略重试;每次结果都会显示剩余配额,失败时也一样。
已知限制
- 没有自定义会话事件 —— 这是有意为之(见架构);审计轨迹依赖宿主自己的事件词汇。
- 默认使用静态分析器 —— 确定性规则(src/review.ts),零 token,可复现。reviewMode: "model" 消耗 token,需要 subagents 通道和已注册的服务商。
- 任务和记录都是进程本地的 —— 审查报告放在插件内存里,以 job id 为键;记录映射受 maxReviewRecords 限制(先淘汰最旧的已结束记录)。
- npm 的 latest dist-tag 已过时 —— 通过 dsh-base 提供的配置档闭包安装;绝不要裸跑 npm i @deepseek-ai/dsh-tools。
开发
pnpm install # node ^22.19 || >=24
pnpm run build # tsc --noEmitOnError → lib/
pnpm run prepare # self-contained git-install build (scripts/prepare.mjs)
pnpm run prepublishOnly # build + test before publishing
pnpm test # vitest run
pnpm run typecheck # tsc --noEmit
pnpm run check:readmes # cross-checks TOC anchors, tools, and config keys in all 5 READMEs
仓库结构
src/index.ts 插件入口(name/inject/apply,测试用 applyWithDeps) src/config.ts Schemastery Config src/types.ts 宿主服务的本地结构化视图 + Context 合并 src/credential.ts token 解析(seam → env → gh),按操作 src/github.ts REST 客户端:429 重试、速率限制、diff media type src/git.ts 只读 git 检查 + 任意 API 宿主的 origin 解析 src/review.ts 确定性 diff 分析器 + 脱敏评论草稿 src/jobs.ts github-review 后台任务生产者(metadata + diff + CI + comments) src/approval-gate.ts tools/pre-execute 询问/拒绝闸门,带写入预览 src/tools.ts 十四个面向模型的工具(外加 src/ci/ 下的 ci_run) src/commands.ts /pr、/review、/issue src/present.ts 纯 UI 卡片展示器 test/ vitest 测试套件 + mock 宿主脚手架 + 可选 e2e 冒烟测试 cordis.patch.yml 打包补丁(一行 insert) scripts/prepare.mjs 自包含的 git 安装构建
与其他 DSH 插件的互操作性
已针对 DSH 0.2.0-rc.2(本 README 对应的运行时)验证,并对照 2026-10-05 调研的高星插件集。
本插件不干扰其他插件,包括广泛安装的高星插件:
- 无工具名冲突。 每个工具都带命名空间;不注册任何已发布工具或其他插件占用的裸名。
- 无服务键冲突。 它完全不提供服务键,因此不可能在服务键上冲突。
- 无槽位冲突。 它不注册客户端槽位键,因此不会争抢 shadows-shipped-ui 的席位。
- 无 HTTP 路由冲突。 它不注册 webServer 前缀。
- 无补丁层冲突。 打包补丁只 insert 自己那一行;从不覆盖内置行的 config。
- 无全局改动。 它不改原型、不改写 process.env、不替换全局 fetch 调度器。
共享事件监听器在设计上互不干扰。 它用 ctx.on() 观察对顺序敏感的事件 tools/pre-execute —— 这是 Cordis 的广播注册方式,每个监听器都会执行,谁也无法饿死别人。这里每个监听器都通过 next() 委托,所以调用链从不短路;改动施加在 next() 产出的值上,而不是替换它返回:
- tools/pre-execute —— cc-safety-net(1576★)也在用。
静态证据:dsh-plugin-doctor 的 K10–K13 对本仓库的每项检查都报告 pass。
Topics
dsh · dsh-plugin · deepseek-harness · github · pull-request · code-review · issue-tracker
贡献者
- @JosephTian876 —— 未打包 lib/client.js 的报告(#11)。
- @womeimingzi11 —— 浏览器半侧模块加载器注册的报告(#14);后续版本改为发布工厂包装的 bundle。
- @PerryLink — 创建者与维护者:GitHub 工具面、审批闸门、后台审查任务、CI 复合 action、审查机器人、状态检查闸门,以及五种语言的文档。
- @AraragiEro — Plugins 设置页里的 GitHub token 设置卡片(#6)。
- @alexchenzl — 邀请插件入驻 DSH Directory(#5)。
PerryLink DSH 插件家族
本项目属于 PerryLink 的 DeepSeek Harness 插件家族。下面这份名单默认折叠,好让每个 README 的首屏都保持简短;展开即可看到每一行及其状态。
展开全部插件
| 插件 | 状态 |
| dsh-aqua-input-check | |
| dsh-archive-check | |
| dsh-auto-review | |
| dsh-autotier | |
| dsh-bid-ca-precheck | |
| dsh-bid-qual-check | |
| dsh-cert-mcp | |
| dsh-checkpoint-rewind | |
| dsh-click | |
| dsh-composer-history | |
| dsh-contract-stance | |
| dsh-customs-doc-check | |
| dsh-data-quality | |
| dsh-demurrage-ledger | |
| dsh-doublecheck | |
| dsh-drill-script-check | |
| dsh-eia-guide-check | |
| dsh-emergency-plan | |
| dsh-essay-rubric-check | |
| dsh-evidence-check | |
| dsh-export-ctl-check | |
| dsh-fast | |
| dsh-fmea-table-check | |
| dsh-forecast-penalty | |
| dsh-fund-research | |
| dsh-github | |
| dsh-gongwen-flow-check | |
| dsh-gongwen-word-check | |
| dsh-guard-plan-qc | |
| dsh-hazchem-check | |
| dsh-hazplan-check | |
| dsh-hidden-risk-map | |
| dsh-hs-classify | |
| dsh-icd-rule-check | |
| dsh-industry-research | |
| dsh-lawcite-adapter | |
| dsh-laya | |
| dsh-lc-doc-check | |
| dsh-learning-gap-check | |
| dsh-library | |
| dsh-local-ai | |
| dsh-lsp-actions | |
| dsh-mask | |
| dsh-mcp-panel | |
| dsh-medrec-qc | |
| dsh-memento | |
| dsh-nsfc-form-check | |
| dsh-nurse-record-check | |
| dsh-observe | |
| dsh-origin-rvc-check | |
| dsh-ota-review-check | |
| dsh-output-styles | |
| dsh-paper-doc-adapter | |
| dsh-permission-rules | |
| dsh-permit-report-check | |
| dsh-pipeline-check | |
| dsh-pleading-draft | |
| dsh-plugin-doctor | |
| dsh-plugin-guide | |
| dsh-plugin-kit | |
| dsh-plugin-upgrade | |
| dsh-policy-brief-draft | |
| dsh-power-loss-split | |
| dsh-power-ticket-check | |
| dsh-ppap-check | |
| dsh-protest-deadline | |
| dsh-railway-window | |
| dsh-repair-order-qc | |
| dsh-research-report | |
| dsh-review-reply-check | |
| dsh-rulefile-check | |
| dsh-safety-brief-check | |
| dsh-score | |
| dsh-session-sync | |
| dsh-site-log-check | |
| dsh-skill-pack-security | |
| dsh-soe-decision-check | |
| dsh-soilwater-check | |
| dsh-sop-sync-check | |
| dsh-spc-gbt-adapter | |
| dsh-talk | |
| dsh-tender-extract | |
| dsh-tender-matrix | |
| dsh-test-drive | |
| dsh-ticktick | |
| dsh-translate | |
| dsh-warranty-calc | |
| dsh-budget | 🧊 已冻结 — 见仓库 README |
| dsh-claude-move | 🧊 已冻结 — 见仓库 README |
| dsh-defend | 🧊 已冻结 — 见仓库 README |
| dsh-draw | 🧊 已冻结 — 见仓库 README |
| dsh-reach | 🧊 已冻结 — 见仓库 README |
| dsh-background-agents | 🚫 已退役 — 见仓库 README |
| dsh-session-pin | 🚫 已退役 — 见仓库 README |
| dsh-team-rooms | 🚫 已退役 — 见仓库 README |
许可证
Apache License 2.0 © 2026 dsh-github contributors预览分享卡片长什么样 ↓
面向 DeepSeek Harness 的官方级 GitHub CI:composite action.yml、PR 审查机器人(幂等行内评论 + 状态检查门禁),以及 PR/issues 工具…