🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

GitHub 经典脚本适配 shuqingyang666/dsh-github-adapted

DeepSeek Harness
shuqingyang66631 天前有提交已提供中文文档扫描:含敏感能力

修复插件在 DSH 0.2 启动崩溃,恢复 GitHub 功能

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add shuqingyang666/dsh-github-adapted
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · platform
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
数据截至 2026/11/04·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 31 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
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:19
    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`
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-client-ui-plugin-manager@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-credentials@deepseek-ai/dsh-jobs@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-settings@deepseek-ai/dsh-subagent
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 修复启动崩溃
  • 恢复GitHub功能
  • 适配指定版本构建

适配 @perrylink/dsh-github 0.7.15 的构建,用于 DeepSeek Harness 0.2.0-rc.2——经典脚本客户端注册(上游 #12/#13,修复 PR #14)

README

由 DeepSeek 最新模型翻译生成
dsh-github DSH 0.2 适配版 @perrylink/dsh-github 0.7.15 在 DeepSeek Harness 0.2.0-rc.2 上的适配构建。 上游仓库:PerryLink/dsh-github(Apache-2.0)。 问题 上游 0.7.15 发布的 lib/client.js 是 tsc 编译的 ESM 输出(带顶层 import)。 DSH 0.2.0-rc.2 的 client-modules 系统把插件 client 条目当作经典脚本执行(合并 combo URL,经典 语义),顶层 import 直接 SyntaxError,导致整个 application boot batch 解析失败: Error: web boot: 1 entry did not activate @perrylink/dsh-github: import failed (see console for the import error) Uncaught SyntaxError: Cannot use import statement outside a module 桌面端连续崩溃两次后,宿主会自动把插件从 bundles 摘掉才恢复启动。 上游对应 issue:#12、 #13;修复 PR:#14(撰写本文时尚未合并发布)。
展开完整文档(README 剩余 1 节)
dsh-github DSH 0.2 适配版

@perrylink/dsh-github 0.7.15 在 DeepSeek Harness 0.2.0-rc.2 上的适配构建。
上游仓库:PerryLink/dsh-github(Apache-2.0)。

问题

上游 0.7.15 发布的 lib/client.js 是 tsc 编译的 ESM 输出(带顶层 import)。
DSH 0.2.0-rc.2 的 client-modules 系统把插件 client 条目当作经典脚本执行(合并 combo URL,经典 语义),顶层 import 直接 SyntaxError,导致整个 application boot batch 解析失败:

Error: web boot: 1 entry did not activate
@perrylink/dsh-github: import failed (see console for the import error)

Uncaught SyntaxError: Cannot use import statement outside a module

桌面端连续崩溃两次后,宿主会自动把插件从 bundles 摘掉才恢复启动。

上游对应 issue:#12、 #13;修复 PR:#14(撰写本文时尚未合并发布)。

适配原理

从宿主 0.2.0-rc.2 代码确认的 client 契约:

- client.js 是经典脚本,执行时调用
window.__ModuleLoader__.load({ id, factory }) 自注册;
- factory(require) 返回 module.exports,require 可解析宿主 seed 模块表(react、react-dom、@deepseek-ai/dsh-client-ui-primitives、 @deepseek-ai/dsh-client-ui-slots、@deepseek-ai/dsh-client-ui-dockkit 等);
- 启动图(boot graph)row 的 inject/external 来自插件 package.json 的 dsh.client 声明,无需改动。

因此只需把 ESM client 用 esbuild 打成 CJS(external 上述两个依赖),再包一层注册壳(与宿主里其他经典 client 的形态一致):

(() => {
try {
window.__ModuleLoader__.load({
id: "@perrylink/dsh-github",
factory: (require) => {
var module = { exports: {} };
var exports = module.exports;
/* esbuild CJS bundle */
return module.exports;
}
});
} catch (err) {
console.warn("[dsh-github] client bootstrap failed:", err);
}
})();

插件其余部分(cordis 服务半、15 个工具、斜杠命令)在 0.2.0-rc.2 上可直接工作,无需改动。

安装

本仓库根目录本身就是一个可安装的插件包(dsh-github-adapted),推荐 git 通道直装:

dsh plugin --profile desktop add github:shuqingyang666/dsh-github-adapted
或 web profile
dsh plugin --profile web add github:shuqingyang666/dsh-github-adapted

也可以用仓库内的 tarball 产物:

dsh plugin --profile desktop add ./dist/dsh-github-adapted-0.7.15-dsh2.tgz

重启宿主(或刷新页面)后生效。

注意:适配包名是 dsh-github-adapted(cordis 服务 id 仍是 dsh-github,Plugins 页卡片不变)。
与官方 @perrylink/dsh-github 二选一安装,避免同一服务注册两次。

从源码构建

依赖:Python 3.8+、pnpm(pnpm dlx esbuild)、node(验证脚本)。

1. 取上游 npm 包
pnpm pack @perrylink/dsh-github@0.7.15 --pack-destination .

2. 构建(解包 → esbuild CJS → 包注册壳 → 组装到仓库根目录 lib/,同步改写 package.json / cordis.patch.yml 的包名绑定,并重打包 dist/)
python scripts/build.py perrylink-dsh-github-0.7.15.tgz

3. 验证
node scripts/verify-client.mjs lib/client.js

scripts/verify-served.py 用于对运行中的 profile 做实机验证(拉取宿主实际下发的 client 脚本并跑同样的契约测试):

dsh --profile web --no-open --port 34199 # 另一个终端
export DSH_WEB_BASE=http://127.0.0.1:34199
export DSH_WEB_TOKEN=<启动输出里的 ?token=... 值>
python scripts/verify-served.py

验证覆盖

- node --check:经典脚本解析(ESM 顶层 import 会在此失败)
- VM 契约测试(verify-client.mjs):模拟宿主的 __ModuleLoader__ 队列外观,断言注册 id、factory(require) 返回值形态(cordis 插件的 inject + apply)
- 实机验证:0.2.0-rc.2 web profile 启动无崩溃、插件进入启动编排图、宿主下发的脚本字节与适配构建一致且通过同样的契约测试

上游发布后回归官方版

PR #14 合并并发布后,直接覆盖安装官方包即可:

dsh plugin --profile desktop add @perrylink/dsh-github

上游 0.7.15 的 lib/client.js 是 tsc 编译出的 ESM 产物(顶层 import)。
DeepSeek Harness 0.2.0-rc.2 把插件客户端入口当 classic script 执行,于是这条 import 语句成了 SyntaxError,整个应用启动批次都失败("web boot: 1 entry did not activate")。

本仓库把客户端重新构建成 classic script,通过
window.__ModuleLoader__.load({ id, factory }) 自注册 —— 这正是 0.2.0
client-modules 系统消费的形态 —— 并重写上游包,只改这一个文件(dsh-github-adapted 0.7.15-dsh2)。仓库根目录就是可安装的插件。
其余部分(cordis 宿主半边、工具、命令)在 0.2.0-rc.2 上原样可用。

安装:dsh plugin --profile desktop add github:shuqingyang666/dsh-github-adapted。
构建:见上面的中文小节(scripts/build.py)。

License

Apache-2.0,基于 PerryLink/dsh-github 0.7.15 修改,仅替换 lib/client.js 并提升版本号,详见 NOTICE。
预览分享卡片长什么样 ↓shuqingyang666/dsh-github-adapted
分享 · DeepSeek Harness Hub
shuqingyang666/dsh-github-adapted

修复插件在 DSH 0.2 启动崩溃,恢复 GitHub 功能

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部