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

插件领地体检 JinYihang1011/dsh-plugins

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

只读检查共存插件的插槽占用与样式冲突

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/11/04·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 33 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/11/4) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 53 处,展示前 38 条)
  • 发起网络请求
    dsh-refresh-button/client.v2.js:145
    const response = await fetch(RESTART_ROUTE, { method: "POST" })
  • 发起网络请求
    dsh-refresh-button/client.v3.js:203
    const response = await fetch(ACTION_ROUTE, {
  • 写入本地文件
    dsh-refresh-button/index.js:68
    mkdirSync(dir, { recursive: true })
  • 写入本地文件
    dsh-refresh-button/index.js:77
    appendFileSync(logPath(), `${new Date().toISOString()} [host] ${message}\n`)
  • 读取本地文件
    dsh-refresh-button/index.js:91
    if (existsSync(candidate)) return candidate
  • 读取本地文件
    dsh-refresh-button/index.js:116
    if (!file || !existsSync(file)) {
  • 执行外部命令来自配置/变量
    dsh-refresh-button/index.js:125
    const child = spawn(
  • 读取本地文件
    dsh-refresh-button/index.js:169
    if (!existsSync(DSH_EXE)) {
  • 发起网络请求
    dsh-session-ops/client.js:102
    const response = await window.fetch(API, {
  • 写入本地文件
    dsh-session-ops/index.js:112
    appendFileSync(join(dshHome(), "session-ops.log"), `[${new Date().toISOString()}] ${message}\n`, "utf8")
  • 读取本地文件
    dsh-session-ops/index.js:128
    return await realpath(raw)
  • 读取本地文件
    dsh-session-ops/index.js:195
    projectDirs = await readdir(root, { withFileTypes: true })
  • 读取本地文件
    dsh-session-ops/index.js:204
    files = await readdir(sessionDir, { withFileTypes: true })
  • 读取本地文件
    dsh-session-ops/index.js:250
    entries = await readdir(join(root, prefix), { withFileTypes: true })
  • 读取本地文件
    dsh-session-ops/index.js:290
    info = await fsStat(target)
  • 读取本地文件
    dsh-session-ops/index.js:340
    sizeBytes = (await fsStat(file)).size
  • 写入本地文件
    dsh-session-ops/index.js:407
    await mkdir(trashDir, { recursive: true })
  • 写入本地文件
    dsh-session-ops/index.js:408
    await copyFile(source, trashFile)
  • 写入本地文件
    dsh-session-ops/index.js:409
    await writeFile(
  • 写入本地文件
    dsh-session-ops/index.js:428
    await mkdir(dirname(destination), { recursive: true })
  • 写入本地文件
    dsh-session-ops/index.js:430
    await writeFile(temporary, bytes)
  • 删除本地文件
    dsh-session-ops/index.js:433
    await rm(source, { force: true })
  • 删除本地文件递归
    dsh-session-ops/index.js:434
    await rm(dirname(source), { recursive: true, force: true })
  • 删除本地文件
    dsh-session-ops/index.js:442
    await rm(destination, { force: true })
  • 删除本地文件
    dsh-session-ops/index.js:621
    await rm(join(sessionDir, relative), { force: true })
  • 删除本地文件递归
    dsh-session-ops/index.js:640
    await rm(sessionDir, { recursive: true, force: true })
  • 发起网络请求
    dsh-tiger-talisman/client.js:202
    const response = await window.fetch(API_PATH, { headers: { accept: "application/json" } });
  • 写入本地文件
    dsh-tiger-talisman/index.js:31
    appendFileSync(join(dshHome(), "tiger-talisman.log"), `[${new Date().toISOString()}] ${message}\n`, "utf8")
  • 读取本地文件
    dsh-tiger-talisman/index.js:45
    return JSON.parse(readFileSync(path, "utf8"))
  • 读取本地文件
    dsh-tiger-talisman/index.js:87
    return existsSync(candidate) ? candidate : null
  • 读取本地文件
    dsh-tiger-talisman/index.js:137
    if (!existsSync(dir)) return []
  • 读取本地文件
    dsh-tiger-talisman/index.js:139
    for (const entry of readdirSync(dir, { withFileTypes: true })) {
  • 读取本地文件
    dsh-tiger-talisman/index.js:142
    if (!existsSync(skillPath)) continue
  • 读取本地文件
    dsh-tiger-talisman/index.js:145
    text = readFileSync(skillPath, "utf8")
  • 写入本地文件
    dsh-ui-tweaks/index.js:30
    appendFileSync(join(dshHome(), "ui-tweaks.log"), `[${new Date().toISOString()}] ${message}\n`, "utf8")
  • 读取本地文件
    dsh-win-notify/index.js:194
    if (!existsSync(TOAST_SCRIPT)) {
  • 读取本地文件
    dsh-win-notify/index.js:198
    const powershell = existsSync(WINDOWS_POWERSHELL) ? WINDOWS_POWERSHELL : "powershell.exe"
  • 执行外部命令来自配置/变量
    dsh-win-notify/index.js:217
    child = spawn(
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

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

功能亮点

  • 只读检查插槽占用
  • 检测样式冲突

DSH 本地插件集:虎符咒(插件共存领地体检)、界面微调、Windows 通知、会话操作、界面菜单。每个插件一个子目录,各带自测。

README

由 DeepSeek 最新模型翻译生成
DSH 本地插件集(JinYihang1011) 一组为 DeepSeek Harness(DSH) 写的插件,每个插件一个子目录,都只依赖 DSH 自己的公开能力(cordis 插件 + 客户端插槽),不修改任何上游文件。 | 子目录 | 插件 | 一句话 | | dsh-tiger-talisman/ | 虎符咒 | 给共存的插件与 Skill 划领地:插槽(列表/独占/键控)、层级、样式、重复挂载,只读体检 | | dsh-ui-tweaks/ | 界面微调 | 用一张外挂样式表把第三方插件的侧栏入口/行距拉回与宿主一致(不碰上游) | | dsh-win-notify/ | Windows 通知 | 审批请求与用户问询出现时发系统通知 | | dsh-session-ops/ | 会话操作 | 会话行菜单补上「打开工作区位置 / 移动到工作区 / 删除会话(可撤销)」 | | dsh-refresh-button/ | 界面菜单 | 输入卡片下的「界面」菜单:刷新界面 / 重启 DSH / 关闭 DSH | | dsh-approval-rules/ | 审批规则 | 按命令的审批规则表:命中的提权/工具调用自动通过或直接拒绝 | 安装 每个插件都可以用 link: 从本机装:
展开完整文档(README 剩余 1 节)
DSH 本地插件集(JinYihang1011)

一组为 DeepSeek Harness(DSH) 写的插件,每个插件一个子目录,都只依赖 DSH 自己的公开能力(cordis 插件 + 客户端插槽),不修改任何上游文件。

| 子目录 | 插件 | 一句话 |
| dsh-tiger-talisman/ | 虎符咒 | 给共存的插件与 Skill 划领地:插槽(列表/独占/键控)、层级、样式、重复挂载,只读体检 |
| dsh-ui-tweaks/ | 界面微调 | 用一张外挂样式表把第三方插件的侧栏入口/行距拉回与宿主一致(不碰上游) |
| dsh-win-notify/ | Windows 通知 | 审批请求与用户问询出现时发系统通知 |
| dsh-session-ops/ | 会话操作 | 会话行菜单补上「打开工作区位置 / 移动到工作区 / 删除会话(可撤销)」 |
| dsh-refresh-button/ | 界面菜单 | 输入卡片下的「界面」菜单:刷新界面 / 重启 DSH / 关闭 DSH |
| dsh-approval-rules/ | 审批规则 | 按命令的审批规则表:命中的提权/工具调用自动通过或直接拒绝 |

安装

每个插件都可以用 link: 从本机装:

dsh plugin --profile desktop add "link:<本目录>/<插件目录>"

或直接引用本仓库(monorepo 子目录):

dsh plugin --profile desktop add "github:JinYihang1011/dsh-plugins#path:/dsh-tiger-talisman"

装完完全重启一次 DSH(profile composition 要重新组装)。

约定

- 不碰上游:优先用外挂样式表 / 事件转发,而不是改别人的 lib/client.js;上游升级时最坏情况只是某条规则不再命中,而不是报错。
- 每个插件自带自测:node test/*.mjs,不需要浏览器、不需要网络。
- HTML/CSS 里带 !important 的规则按特异度决胜:同表内互相压制是静默的,改之前先算特异度。

许可

MIT(见 LICENSE)。
预览分享卡片长什么样 ↓JinYihang1011/dsh-plugins
分享 · DeepSeek Harness Hub
JinYihang1011/dsh-plugins

只读检查共存插件的插槽占用与样式冲突

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