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

插件集合仓库 BitDG/dsh-plugins

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

集中管理多个独立插件仓库的版本与开发环境

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 35 处,展示前 27 条)
  • 发起网络请求
    plugins/music-player/src/media-proxy.ts:33
    const response = await fetch(url, { headers, redirect: 'manual', signal: controller.signal })
  • 发起网络请求
    plugins/music-player/src/online-music-providers.ts:53
    const response = await fetch(url, { ...init, redirect: 'error', signal: controller.signal })
  • 发起网络请求
    plugins/music-player/src/runner-child.ts:57
    const response = await fetch(url, { ...init, redirect: 'manual', signal: controller.signal, headers: { accept: 'application/json,text/plain;q=0.9', 'u
  • 执行外部命令来自配置/变量
    plugins/music-player/src/runner.ts:19
    const child = spawn(process.execPath, ['--permission', `--allow-fs-read=${this.childPath}`, this.childPath], {
  • 写入本地文件
    plugins/music-player/src/service.ts:31
    for (const directory of [config.storageRoot, this.reviewsRoot, this.installedRoot, this.generationsRoot]) mkdirSync(directory, { recursive: true })
  • 写入本地文件
    plugins/music-player/src/service.ts:98
    writeFileSync(codePath, code, { encoding: 'utf8', flag: 'wx' })
  • 写入本地文件
    plugins/music-player/src/service.ts:99
    writeFileSync(join(this.reviewsRoot, `${id}.json`), JSON.stringify(result, null, 2), { encoding: 'utf8', flag: 'wx' })
  • 读取本地文件
    plugins/music-player/src/service.ts:107
    const code = this.reviewCode.get(reviewId) ?? (review.codePath === undefined ? undefined : readFileSync(review.codePath, 'utf8'))
  • 写入本地文件
    plugins/music-player/src/service.ts:112
    writeFileSync(tempCode, code, 'utf8'); writeFileSync(tempManifest, JSON.stringify(descriptor, null, 2), 'utf8')
  • 写入本地文件
    plugins/music-player/src/service.ts:113
    renameSync(tempCode, codePath); renameSync(tempManifest, manifestPath)
  • 写入本地文件
    plugins/music-player/src/service.ts:122
    const id = randomUUID(); const directory = join(this.generationsRoot, id); mkdirSync(directory, { recursive: false })
  • 读取本地文件
    plugins/music-player/src/service.ts:144
    if (job.status === 'waiting-for-ai' && existsSync(job.outputPath)) {
  • 读取本地文件
    plugins/music-player/src/service.ts:146
    try { job.review = await this.review(readFileSync(job.outputPath, 'utf8')); job.status = 'reviewed' }
  • 读取本地文件
    plugins/music-player/src/service.ts:170
    if (!existsSync(path)) throw new Error('Review not found')
  • 读取本地文件
    plugins/music-player/src/service.ts:171
    const review = JSON.parse(readFileSync(path, 'utf8')) as ReviewResult
  • 读取本地文件
    plugins/music-player/src/service.ts:177
    for (const name of readdirSync(this.installedRoot)) {
  • 发起网络请求
    plugins/music-player/src/trusted-providers.ts:70
    const response = await fetch(url, { ...init, redirect: 'error', signal: controller.signal })
  • 发起网络请求
    plugins/music-player/src/trusted-providers.ts:84
    const response = await fetch(url, { ...init, redirect: 'error', signal: controller.signal })
  • 执行外部命令来自配置/变量
    plugins/music-player/src/youtube-evaluator.ts:14
    const child = spawn(process.execPath, ['--max-old-space-size=64', '--permission', `--allow-fs-read=${this.childPath}`, this.childPath], {
  • 读取本地文件
    plugins/reference-library/src/index.ts:246
    const info = await stat(catalogPath)
  • 读取本地文件
    plugins/reference-library/src/index.ts:249
    const parsed = JSON.parse(await readFile(catalogPath, 'utf8')) as RawCatalog
  • 读取本地文件
    plugins/reference-library/src/index.ts:272
    entries = await readdir(directory)
  • 读取本地文件
    plugins/reference-library/src/index.ts:279
    const canonical = canonicalGitHubRepositoryUrl((await readFile(resolve(directory, entry), 'utf8')).trim())
  • 写入本地文件
    plugins/reference-library/src/index.ts:295
    await mkdir(directory, { recursive: true })
  • 读取本地文件
    plugins/reference-library/src/index.ts:296
    const realDirectory = await realpath(directory)
  • 写入本地文件
    plugins/reference-library/src/index.ts:301
    await writeFile(target, `${url}\n`, { encoding: 'utf8', flag: 'wx', mode: 0o600 })
  • 读取本地文件
    plugins/reference-library/src/index.ts:355
    rootPromise = realpath(nextRoot)
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 集中管理插件仓库
  • 独立版本管理

DeepSeek Harness 插件的公开合集,各自独立版本管理

README

由 DeepSeek 最新模型翻译生成
DSH 插件 这是 DeepSeek Harness 插件的公开集合仓库。集合只保存开发工具、文档和插件版本指针;每个插件都是独立的公开 GitHub 仓库,通过 Git submodule 固定到经过验证的提交。 插件 | 路径 | 独立仓库 | 用途 | | plugins/model-radar | BitDG/dsh-model-radar | 模型选择雷达视图 | | plugins/project-actions | BitDG/dsh-project-actions | 工作区项目快捷操作 | | plugins/workflow-governance | BitDG/dsh-workflow-governance | 工作流约束、证据与经验管理 | | plugins/cloud-model-providers | BitDG/dsh-cloud-model-providers | Ant Digital MaaS 与 NVIDIA NIM 模型路由 | | plugins/omniroute-persistent | BitDG/dsh-omniroute-persistent | OmniRoute 本地生命周期与持久化接入 |
展开完整文档(README 剩余 1 节)
DSH 插件

这是 DeepSeek Harness 插件的公开集合仓库。集合只保存开发工具、文档和插件版本指针;每个插件都是独立的公开 GitHub 仓库,通过 Git submodule 固定到经过验证的提交。

插件

| 路径 | 独立仓库 | 用途 |
| plugins/model-radar | BitDG/dsh-model-radar | 模型选择雷达视图 |
| plugins/project-actions | BitDG/dsh-project-actions | 工作区项目快捷操作 |
| plugins/workflow-governance | BitDG/dsh-workflow-governance | 工作流约束、证据与经验管理 |
| plugins/cloud-model-providers | BitDG/dsh-cloud-model-providers | Ant Digital MaaS 与 NVIDIA NIM 模型路由 |
| plugins/omniroute-persistent | BitDG/dsh-omniroute-persistent | OmniRoute 本地生命周期与持久化接入 |
| plugins/tablerag | BitDG/dsh-TableRAG | 将一个只读 TableRAG 目录接入 DSH MCP 工具注册表 |

获取完整集合

git clone --recurse-submodules https://github.com/BitDG/dsh-plugins.git
cd dsh-plugins
corepack enable
pnpm run setup

已有 clone 可运行:

git submodule sync --recursive
git submodule update --init --recursive
pnpm run setup

setup 会在声明了开发锁文件的插件仓库中安装依赖;纯配置 bundle 不需要依赖安装。集合根目录不会生成共享依赖树。

开发运行

设置 DSH_ROOT 指向 DeepSeek Harness checkout;未设置时默认查找集合相邻的 ../KB/deepseek-harness:

$env:DSH_ROOT = 'F:\path\to\deepseek-harness'
pnpm run dev

开发脚本会从 cordis.dev.yml 生成忽略提交的本机 overlay,把治理数据定向到集合的 tmp/,并默认监听 127.0.0.1:3081。端口被占用时,可在运行前设置 $env:DSHP_DEV_PORT = '3082'。云模型路由、OmniRoute 替换包和 TableRAG 目录连接不会被自动启用,需要按各自仓库 README 显式安装和配置。

验证

pnpm run verify

集合验证会检查 submodule 指针、必需文件、禁止嵌套目录和插件工作树状态。每个插件的完整验证命令记录在其独立仓库 README 和 package.json 中。

新插件

1. 从 templates/plugin 创建独立仓库;
2. 完成 LICENSE、README、测试、构建和真实 Harness 加载验证;
3. 将公开仓库作为 submodule 添加到 plugins/;
4. 更新本表、cordis.dev.yml 和集合验证脚本。

插件契约、生命周期与加载说明见 docs/。

License

集合仓库使用 MIT 许可证。各插件仓库独立授权;派生自 DeepSeek Harness 的代码保留原始版权与许可证说明。
预览分享卡片长什么样 ↓BitDG/dsh-plugins
分享 · DeepSeek Harness Hub
BitDG/dsh-plugins

集中管理多个独立插件仓库的版本与开发环境

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