按官方与自装分组管理插件,一键启停并检查更新
30.4/100
综合分
3
GitHub 星标
206
npm 周下载
—/5
用户评分
数据截至 2026/10/5 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-plugin-diraudnpm 源 · dsh-plugin-diraud 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 47 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-plugin-diraud @ 0.9.2
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/6 14:18:20
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 17 处,展示前 11 条)
- 读取本地文件lib/index.js:277
const existed = existsSync(patchPath); - 读取本地文件lib/index.js:278
const source = existed ? readFileSync(patchPath, "utf8") : "# Your patch layer for this dsh profile\n[]\n"; - 写入本地文件lib/index.js:289
writeFileSync(`${patchPath}.tmp`, text, "utf8"); - 写入本地文件lib/index.js:290
renameSync(`${patchPath}.tmp`, patchPath); - 读取本地文件lib/index.js:15930
if (!existsSync2(profilesDir)) return set2; - 读取本地文件lib/index.js:15932
for (const dirent of readdirSync(profilesDir, { withFileTypes: true })) { - 读取本地文件lib/index.js:15935
if (!existsSync2(manifestPath)) continue; - 读取本地文件lib/index.js:15937
const manifest = JSON.parse(readFileSync2(manifestPath, "utf8")); - 发起网络请求lib/index.js:16063
const response = await globalThis.fetch(url2, { signal: controller.signal }); - 写入本地文件lib/index.js:16189
writeFileSync2(workspacePath, applied.content, "utf8"); - 写入剪贴板lib/client.js:14719
await navigator.clipboard.writeText(text);
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-typert-protocol@deepseek-ai/cordis@deepseek-ai/dsh-typert-registry@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-commands给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 按来源分组展示插件
- 区分官方与自装
- 一键启停插件
将DeepSeek Harness插件列表按来源分组展示——官方插件与自行安装插件,一目了然。
README
由 DeepSeek 最新模型翻译生成dsh-plugin-diraud
基于 DeepSeek Harness(DSH)的插件管理增强:按「来源」分组插件列表,一眼区分官方自带插件与自装插件。
特性
- /plugin-audit 命令:按「官方 / 自装」分组列出当前已加载插件,支持 user / official / 关键词过滤;
- 自装插件开关(两处入口):
- 左侧菜单栏底部「插件目录」入口(图标按钮,点击弹出面板):按来源分组展示,每张自装插件卡片带启用 / 停用按钮(点一下就切换);
- 聊天命令:/plugin-audit disable|enable <关键词>;
- 均持久化到 profile 的 cordis.patch.yml(重启保留、可逆),并调用 ctx.loader.update 即时生效(不依赖 HMR);官方/内置插件锁定不可操作;
- 「插件目录」面板(v0.5 起):
- 卡片化分组展示,带来源徽标、已安装版本号、entry 标识与功能描述;搜索框按模块名 / entry 过滤,每个分组实时显示数量;加载失败时提供「重试」按钮;
- 双语描述(v0.6):内置「模块名 → 中/英」翻译字典优先取词(随系统语言变化),查不到再回退到包自身 description;
展开完整文档(README 剩余 1 节)
dsh-plugin-diraud
基于 DeepSeek Harness(DSH)的插件管理增强:按「来源」分组插件列表,一眼区分官方自带插件与自装插件。
特性
- /plugin-audit 命令:按「官方 / 自装」分组列出当前已加载插件,支持 user / official / 关键词过滤;
- 自装插件开关(两处入口):
- 左侧菜单栏底部「插件目录」入口(图标按钮,点击弹出面板):按来源分组展示,每张自装插件卡片带启用 / 停用按钮(点一下就切换);
- 聊天命令:/plugin-audit disable|enable <关键词>;
- 均持久化到 profile 的 cordis.patch.yml(重启保留、可逆),并调用 ctx.loader.update 即时生效(不依赖 HMR);官方/内置插件锁定不可操作;
- 「插件目录」面板(v0.5 起):
- 卡片化分组展示,带来源徽标、已安装版本号、entry 标识与功能描述;搜索框按模块名 / entry 过滤,每个分组实时显示数量;加载失败时提供「重试」按钮;
- 双语描述(v0.6):内置「模块名 → 中/英」翻译字典优先取词(随系统语言变化),查不到再回退到包自身 description;
- GitHub 链接(v0.8):若插件 package.json 的 repository / homepage 指向 GitHub,卡片会显示 GitHub 按钮,可直接打开详细功能介绍(独立于官方「插件列表」页);
- 自装插件更新(v0.6):
- 打开面板自动检查 npm registry;顶部「更新」区显示可更新总数(带「重新检查」与「全部更新」按钮),每个 registry 插件卡片带独立「更新」按钮与进行中进度条(执行 pnpm add <pkg>@latest --config.minimumReleaseAge=0,corepack / npx 兜底,实时输出);
- GitHub 插件更新(v0.9):github: / git+ / git:// / git@ 装的插件(没有 npm 包也能更新)——分支 / 默认分支引用用 git ls-remote 对比本地锁定 commit 与远端 HEAD,tag 引用自动列出全部 tag 找更新的稳定版 tag;执行时 pnpm add <原始 spec> 重解析分支,或换成新 tag spec;「钉死具体 commit」的引用标记为不可自动更新;
- 重命名检测(v0.9.1):若更新后发现旧包名仍锁旧版本、但已出现指向同一仓库的新包名,会提示「仓库已重命名(旧 → 新)」并给出移除旧包的命令,而不是笼统报「实际版本仍未更新」;
- 构建脚本白名单(v0.9.2):pnpm add 因「需要执行构建脚本却未进 allowBuilds」失败时,面板会读取 pnpm 给出的建议条目、自动追加到 pnpm-workspace.yaml 的 allowBuilds 后重试(git-hosted 插件追加 name@git-url#commit 全量形式——pnpm 11 不再按裸包名匹配 git 依赖,见 pnpm#12367);
- 更新任务在模块级 store 里排队:运行期间的点击合并进下一批,绝不并发启动两个 pnpm;关闭面板后任务继续、重开可恢复进度;
- 来源感知标注:Desktop 托管的 link: 插件显示「随桌面版更新」,本地 file: / workspace: 插件显示「本地插件」,避免把 pnpm 退出码 0 误报成实际更新成功;官方/内置插件与本插件自身(link: 安装、保护开发链路)锁定不可更新;
- 自装插件卸载(v0.6):每张自装卡片带红色「卸载」按钮(最右)——点击先确认,执行 pnpm remove,执行中按钮置灰,完成后刷新列表;非自装插件与本插件自身会拒绝卸载;
- 判定零依赖、可单测:包名作用域 + 用户显式安装集双重规则(@deepseek-ai/ 判官方、其余判自装);
- 完全可逆:只读展示,不改任何官方 bundle,一条命令卸载。
界面截图
左侧菜单栏底部「插件目录」入口(v0.5 起),点击弹出按来源分组的插件面板,每张卡片带启用/停用开关:
顶部为更新区(「可更新: 1」「重新检查」「全部更新」),下方是搜索框与分组卡片;每张卡片带启用/停用、版本号、GitHub 按钮、更新状态与卸载按钮:
插件目录
快速开始
前置:pnpm、dsh CLI。
安装(推荐:从 npm)
dsh plugin --profile web add dsh-plugin-diraud
或从 GitHub 主分支
dsh plugin --profile web add https://github.com/tttwh/dsh-plugin-diraud/archive/refs/heads/main.tar.gz
装完重启 dsh web,然后:
- 聊天框输入 /plugin-audit,或
- 点击左侧菜单栏底部的「插件目录」入口。
命令一览
| 命令 | 用途 |
| /plugin-audit | 概览:自装逐行 + 官方计数 |
| /plugin-audit user | 只看自装 |
| /plugin-audit official | 只看官方(逐行) |
| /plugin-audit <关键词> | 按包名 / entry 过滤 |
| /plugin-audit disable <关键词> | 停用匹配到的自装插件(持久化) |
| /plugin-audit enable <关键词> | 启用匹配到的自装插件(持久化) |
| dsh plugin --profile web remove dsh-plugin-diraud | 卸载 |
开关如何持久化:disable/enable 会把 - id: <配置行原始 id> + disabled: true 覆盖行写入 profile 的 cordis.patch.yml(用户配置层)。该文件被 dsh 的 watchUserPatches 监听(web profile 启动时会自动拉起监听),写入后即时生效;重启后保留;删除对应行即可恢复默认。
为什么是「原始 id」而不是 Loader 条目 id(v0.4 修复):Loader 树内条目的完整 id 带路径前缀(如 include:ssh),但 patch 层按配置行自身的 id 字段匹配,只认原始 id(ssh)。旧版本把带前缀的完整 id 写进 patch 文件,启动时被当作「找不到条目」跳过(每次 boot 打 warning),导致停用重启即失效——v0.4 起统一写原始 id,并自动清理历史遗留的 include:<id> 死行。
配置
来源判定默认按包名作用域;极端情况(如装了 @deepseek-ai/ 前缀的第三方包)用 extraUserPackages 覆盖。在 profile 的 cordis.patch.yml 里覆盖本插件行:
- id: plugin-audit
config:
extraUserPackages:
- '@deepseek-ai/dsh-my-fork' # 强制判为「自装」
目录结构
dsh-plugin-diraud/
src/classify.ts 来源判定纯函数(单一事实源,host / client 共用) src/patch.ts cordis.patch.yml 读写:disable/enable 持久化(行级 YAML,零依赖) src/toggle.ts 开关共享核心(持久化 + ctx.loader.update 即时生效) src/updates.ts 更新核心:semver 比较、registry/git 探测、pnpm 执行(可单测) src/gitspec.ts git-hosted 依赖解析与 lockfile/ls-remote 辅助(v0.9,纯函数可单测) src/metadata.ts GitHub 仓库链接提取(repository/homepage 归一化,v0.8) src/translations.ts 双语描述字典(模块名 → {zh, en},v0.6) src/render.ts /plugin-audit 命令输出渲染(分组视图) src/contract.ts typert wire 契约(pluginAudit/toggle,host/client 共用) src/typert.ts host 侧 manifest 注册 src/runtime.ts PluginAuditRuntime(@Remote toggle,executeToggle 可单测) src/index.ts host:/plugin-audit 命令 + 注册 remote src/client/ 侧边栏「插件目录」入口(React)+ 开关按钮 + client remote src/client/updateStore.ts 更新任务模块级 store(排队 + 关闭面板后恢复) build.mjs esbuild 构建(host ESM + client bundle) cordis.patch.yml profile bundle patch(插入本插件) demo/ 演示与验证脚本(真实 profile 分组输出)
文档
- DESIGN.md —— 设计背景与查证依据(为何新增 tab 而非改官方 tab、来源判定规则与边界)
相关项目
- deepseek-harness —— DeepSeek Harness 官方仓库(DSH 本体)
- omdsh-dev/community —— 社区插件收录与协作入口
许可
MIT · Copyright (c) 2025 tttwh预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
tttwh/dsh-plugin-diraud
按官方与自装分组管理插件,一键启停并检查更新
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目