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

Windows 托盘插件 7dgroup-ai/dsh-7d-tray-win

DeepSeek 客户端
7dgroup-ai75 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

服务运行时自动显示托盘图标,退出后自动消失

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/7dgroup-ai/dsh-7d-tray-win.git

状态速览

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

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

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@7dgroup/dsh-7d-tray-win(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 18:26:41

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

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 30 处,展示前 29 条)
  • 写入本地文件
    lib/index.js:58
    appendFileSync(DBG(), line)
  • 写入本地文件
    lib/index.js:79
    mkdirSync(local, { recursive: true })
  • 写入本地文件
    lib/index.js:82
    for (const f of ASSET_FILES) copyFileSync(join(assetSrc, f), join(local, f))
  • 读取本地文件
    lib/index.js:86
    if (!existsSync(exe)) {
  • 读取本地文件
    lib/index.js:91
    ].find(p => existsSync(p))
  • 执行外部命令来自配置/变量
    lib/index.js:93
    const r = spawnSync(csc, ['/nologo', '/target:winexe', `/out:${exe}`, join(local, 'starter-launcher.cs')], { windowsHide: true })
  • 执行外部命令来自配置/变量
    lib/index.js:175
    const agent = spawn(powershellExe(), agentArgs, { windowsHide: true, stdio: 'ignore' })
  • 执行外部命令来自配置/变量
    lib/index.js:193
    spawn(taskkillExe(), ['/PID', agentPid, '/T', '/F'], { windowsHide: true, stdio: 'ignore' })
  • 读取本地文件
    lib/index.js:200
    if (existsSync(exe)) {
  • 执行外部命令来自配置/变量
    lib/index.js:201
    spawn(powershellExe(), [
  • 执行外部命令来自配置/变量
    lib/index.js:240
    const child = spawn(psExe, [
  • 执行外部命令来自配置/变量
    lib/index.js:279
    spawn(execPath, args, {
  • 执行外部命令固定命令
    lib/launch-description.js:139
    const ps = spawnSync(
  • 写入本地文件
    lib/launch-description.js:219
    mkdirSync(dirname(path), { recursive: true })
  • 写入本地文件
    lib/launch-description.js:220
    writeFileSync(path, JSON.stringify(description, null, 2) + '\n', 'utf8')
  • 读取本地文件
    lib/launch-description.js:230
    if (!existsSync(path)) return undefined
  • 读取本地文件
    lib/launch-description.js:232
    const raw = JSON.parse(readFileSync(path, 'utf8'))
  • 写入本地文件
    lib/instance-store.js:70
    mkdirSync(dirname(path), { recursive: true })
  • 写入本地文件
    lib/instance-store.js:72
    writeFileSync(path, JSON.stringify(record, null, 2) + '\n', 'utf8')
  • 读取本地文件
    lib/instance-store.js:84
    if (!existsSync(path)) return undefined
  • 读取本地文件
    lib/instance-store.js:86
    const raw = JSON.parse(readFileSync(path, 'utf8'))
  • 读取本地文件
    lib/instance-store.js:117
    if (!existsSync(path)) return
  • 删除本地文件递归
    lib/instance-store.js:119
    rmSync(dirname(path), { recursive: true, force: true })
  • 读取本地文件
    lib/instance-store.js:131
    if (!existsSync(root)) return
  • 读取本地文件
    lib/instance-store.js:132
    for (const entry of readdirSync(root, { withFileTypes: true })) {
  • 读取本地文件
    lib/instance-store.js:135
    if (!existsSync(activePath)) continue
  • 删除本地文件递归
    lib/instance-store.js:139
    rmSync(join(root, entry.name), { recursive: true, force: true })
  • 删除本地文件递归
    lib/instance-store.js:143
    rmSync(join(root, entry.name), { recursive: true, force: true })
  • 删除本地文件递归
    lib/instance-store.js:146
    rmSync(join(root, entry.name), { recursive: true, force: true })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • 服务运行时显示托盘图标
  • 退出后自动消失
  • 自动维护桌面启动器

README

由 DeepSeek 最新模型翻译生成
@7dgroup/dsh-7d-tray-win 作者:7DGroup DeepSeek Harness(dsh)的 Windows 专属系统托盘插件。在 dsh web 运行期间,系统托盘会自动出现 DeepSeek 鲸鱼图标;服务停止后,托盘图标 3 秒内自动消失——托盘与服务同生命周期。同时自动维护一个静默桌面启动器 DSH.lnk,双击即可无窗口启动服务并打开浏览器。 📌 项目信息 | 字段 | 值 | | 作者 | 7DGroup | | 版本 | 0.3.0 | | 运行平台 | Windows 10/11(win32;其他平台自动跳过) | | 运行时 | Node ^22.19.0 \|\| >=24.0.0 · pnpm 10+ · dsh CLI | | 插件名称 | tray-7d-win | | Peer dependency | @deepseek-ai/cordis ^4.0.1 | | 仓库 | github.com/7dgroup-ai/dsh-7d-tray-win | | 许可证 | MIT | 🖼️ 插件效果 运行 dsh web 后,系统托盘区将出现 DeepSeek 鲸鱼图标,同时桌面会自动生成 DSH.lnk 快捷方式: - 双击图标:打开 Web UI(端口自动从服务配置读取)
展开完整文档(README 剩余 1 节)
@7dgroup/dsh-7d-tray-win

作者:7DGroup

DeepSeek Harness(dsh)的 Windows 专属系统托盘插件。在 dsh web 运行期间,系统托盘会自动出现 DeepSeek 鲸鱼图标;服务停止后,托盘图标 3 秒内自动消失——托盘与服务同生命周期。同时自动维护一个静默桌面启动器 DSH.lnk,双击即可无窗口启动服务并打开浏览器。

📌 项目信息

| 字段 | 值 |
| 作者 | 7DGroup |
| 版本 | 0.3.0 |
| 运行平台 | Windows 10/11(win32;其他平台自动跳过) |
| 运行时 | Node ^22.19.0 \|\| >=24.0.0 · pnpm 10+ · dsh CLI |
| 插件名称 | tray-7d-win |
| Peer dependency | @deepseek-ai/cordis ^4.0.1 |
| 仓库 | github.com/7dgroup-ai/dsh-7d-tray-win |
| 许可证 | MIT |

🖼️ 插件效果

运行 dsh web 后,系统托盘区将出现 DeepSeek 鲸鱼图标,同时桌面会自动生成 DSH.lnk 快捷方式:

- 双击图标:打开 Web UI(端口自动从服务配置读取)
- 右键菜单:打开 DSH Web / 打开日志文件夹 / 重启服务 / 退出(停止服务)

服务退出(含崩溃)后,托盘图标与托盘代理进程自动消失。

✨ 核心功能

- 托盘图标:官方 DeepSeek 鲸鱼标志;双击打开 Web UI,右键菜单支持打开日志、重启服务、退出。
- 一键重启:右键 →「重启服务」弹出确认对话框,确认后自动杀掉服务进程树并通过 npx 重新启动 dsh web。
- 动态端口解析:托盘 URL 在运行时从 webserver 服务读取,不硬编码端口——无论用户配置了什么端口都能正确打开。
- 生命周期同步:无论通过桌面快捷方式、命令行还是脚本启动 dsh web,托盘都会自动出现;服务退出后托盘 3 秒内自动消失。
- 静默桌面启动器:自动维护桌面 DSH.lnk,双击后无任何窗口,服务在后台启动并自动打开浏览器。
- 自带干净启动链:内置 PowerShell 启动脚本与 npmmirror 镜像源配置,避免宿主环境变量污染,国内网络也可正常启动。
- 零核心改动 / 官方升级无影响:纯 Cordis 组合层插件,仅通过 cordis.patch.yml 在 profile 组合层中插入一行;不覆盖、不修改 DSH 官方包内的任何文件。执行 dsh plugin remove 即可恢复原始状态;只要 Cordis 生命周期保持兼容,升级 DSH 官方版本不会与本插件产生冲突。

✅ 功能清单

- ✅ Windows 系统托盘自动显隐
- ✅ 双击托盘打开 Web UI
- ✅ 右键菜单:打开 DSH Web / 打开日志文件夹 / 重启服务 / 退出
- ✅ 一键重启(带确认对话框)
- ✅ 动态端口解析(从 cordis 运行时读取,不硬编码端口)
- ✅ 服务停止后托盘自动清理
- ✅ 静默桌面启动器 DSH.lnk 自动维护
- ✅ 首次启动时自动编译 .NET 启动器(需 .NET Framework 4)
- ✅ 每次启动自动刷新插件携带的最新资源
- ✅ 非 win32 平台自动跳过,不报错

📂 项目结构

dsh-7d-tray-win/
├── assets/ # 随包发布的资源文件 │ ├── DSH.ico # 托盘图标 │ ├── tray-agent.ps1 # 托盘代理脚本 │ ├── starter.ps1 # dsh web 启动链脚本 │ ├── starter-launcher.cs # 静默桌面启动器源码 │ └── make-shortcut.ps1 # 桌面快捷方式维护脚本 ├── lib/ # 运行时入口 │ └── index.js # Cordis 插件:托盘控制逻辑 ├── cordis.patch.yml # 组合层补丁 ├── package.json ├── LICENSE ├── README.md └── README.zh.md

🚀 快速开始

环境要求

- Windows 10/11(win32)
- Node.js ^22.19.0 || >=24.0.0
- pnpm 10+
- .NET Framework 4(系统自带,用于一次性编译静默启动器)
- PowerShell(系统自带)

安装到 web profile(推荐)

大多数会话默认启动 web profile(dsh web 是 dsh --profile web 的简写),因此推荐直接安装到 web profile:

dsh plugin --profile web add @7dgroup/dsh-7d-tray-win

或从本地路径安装(开发/测试时):

dsh plugin --profile web add C:\path\to\dsh-7d-tray-win

安装后启动 dsh web,托盘图标与桌面快捷方式即自动生效。

安装到其他 profile

如果你使用自定义 profile,请将上述命令中的 web 替换为对应的 profile 名称。插件只在它被安装到的 profile 中生效。

💡 使用说明

托盘图标交互

| 操作 | 行为 |
| 双击图标 | 打开 Web UI(端口自动检测) |
| 右键 → 打开 DSH Web | 打开 Web UI(端口自动检测) |
| 右键 → 打开日志文件夹 | 打开 %LOCALAPPDATA%\dsh-7d-tray-win\ |
| 右键 → 重启服务 | 确认后杀掉并重启 dsh web |
| 右键 → 退出 | 停止 dsh web 服务并关闭托盘 |

静默桌面启动器

插件首次启动时会编译 starter-launcher.cs 为 starter-launcher.exe,并生成/刷新桌面 DSH.lnk。此后:

- 双击桌面 DSH.lnk → 无任何窗口弹出
- dsh web 在后台启动(端口从 cordis 配置读取)
- 浏览器自动打开 Web UI
- 系统托盘出现 DeepSeek 鲸鱼图标

📁 运行时目录

所有运行资源与日志存放在 %LOCALAPPDATA%\dsh-7d-tray-win\:

| 文件 | 用途 |
| DSH.ico | 托盘图标 |
| tray-agent.ps1 | 托盘代理脚本 |
| starter.ps1 | dsh web 启动链脚本 |
| starter-launcher.cs | 静默启动器源码 |
| starter-launcher.exe | 编译后的静默启动器 |
| make-shortcut.ps1 | 快捷方式维护脚本 |
| dsh-launch.log | 服务启动链日志(npx/dsh 输出) |
| tray-agent.log | 托盘代理生命周期日志 |
| plugin-debug.log | 插件 apply/spawn/卸载调试日志 |

每次服务启动时,插件都会将携带的最新资源刷新到该目录。

⚠️ 注意事项

1. Windows 专属:插件在检测到非 win32 平台时会自动跳过,不会安装托盘或报错。
2. 首次编译:首次运行需要 .NET Framework 4 编译静默启动器;若缺少 csc.exe,桌面快捷方式功能将不可用,但托盘功能不受影响。
3. 启动器无托盘:DSH.lnk 本身不显示托盘;托盘由本插件在 dsh web 运行时提供。
4. 资源刷新:每次 dsh web 启动都会覆盖 %LOCALAPPDATA%\dsh-7d-tray-win\ 下的资源文件为插件携带的最新版本,请勿在该目录中存放需要持久化的自定义文件。
5. 动态端口:托盘图标 URL 在运行时从 webServer cordis 服务读取,自动跟随 dsh web 实际监听的端口——无论是通过 cordis.patch.yml 还是 --port 参数自定义的端口都能正确打开。
6. 官方版本升级无影响:本插件是纯 Cordis 组合层插件,不覆盖、不修改 DSH 官方包内的任何文件;只要 Cordis 生命周期保持兼容,升级 DSH 官方版本不会破坏本插件。
7. 建议单实例运行:所有运行中的实例共享运行时目录 %LOCALAPPDATA%\dsh-7d-tray-win\ 与桌面快捷方式 DSH.lnk;若同时运行多个 dsh web 实例,后启动的实例会覆盖共享文件,请同一时间只运行 1 个实例。

❓ 常见问题

Q: 安装时提示找不到 pnpm?
A: dsh plugin 会调用 pnpm 安装依赖,请确保 pnpm 已安装并在 PATH 中:

npm install -g pnpm@10

Q: 托盘图标没有出现?
A: 请确认:
- 当前系统为 Windows 10/11;
- 插件安装到了你实际启动的 profile(默认是 web);
- dsh web 已成功启动;
- 查看 %LOCALAPPDATA%\dsh-7d-tray-win\plugin-debug.log 与 tray-agent.log 排查错误。

Q: 桌面快捷方式没有生成?
A: 检查 %LOCALAPPDATA%\dsh-7d-tray-win\plugin-debug.log 中是否有 csc.exe not found 或 launcher compile failed 日志。首次运行需要系统自带 .NET Framework 4。

Q: 如何卸载?
A: 运行:

dsh plugin --profile web remove @7dgroup/dsh-7d-tray-win

然后可手动删除 %LOCALAPPDATA%\dsh-7d-tray-win\ 与桌面 DSH.lnk。

Q: 可以在非 win32 平台安装吗?
A: 可以安装,但插件会自动跳过,不会创建托盘或快捷方式。

Q: 升级 DSH 官方版本会影响本插件吗?
A: 不会。本插件是纯 Cordis 组合层插件,仅向 profile 的 cordis.patch.yml 添加一行;不覆盖、不修改 DSH 官方包内的任何文件。只要 Cordis 生命周期保持兼容,官方版本升级后本插件继续生效。

📄 许可证

MIT · Copyright (c) 2026 7DGroup
预览分享卡片长什么样 ↓7dgroup-ai/dsh-7d-tray-win
分享 · DeepSeek Harness Hub
7dgroup-ai/dsh-7d-tray-win

服务运行时自动显示托盘图标,退出后自动消失

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