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

海豚托盘 konmins/delfin

DeepSeek Harness
konmins53 天前有提交已提供中文文档扫描:无法判定

在系统托盘一键启停 dsh 并管理版本更新

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

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

自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/konmins/delfin.git
按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]!
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
数据截至 2026/09/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 53 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安装兼容性检查需源码安装

仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装

展开查看检查明细 ↓

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

✗npm 包delfin(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:24:33

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/4(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

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

功能亮点

  • 托盘一键启停dsh
  • 管理版本更新

dsh 的 Windows 托盘启动器:一键启停、版本管理与更新

README

由 DeepSeek 最新模型翻译生成
简体中文 · English Delfin DeepSeek Harness(dsh)的 Windows 系统托盘控制器 服务状态一眼可见,启停重启一键完成,内置版本管理与一键更新。 Delfin —— 德语与西班牙语里的「海豚」。就像任务栏角落那只小海豚,安静地守着你的 dsh。 Release License: MIT Platform Python Unofficial 这是什么 DeepSeek Harness(命令 dsh)提供了一个本地 Web 控制台。但它需要一直挂着一个终端窗口,出了问题也只能对着滚动的日志发呆。 Delfin 把这些收进系统托盘: - 海豚图标右下角一个 绿点/红点,扫一眼就知道服务活着没有 - 右键即可 启动 / 停止 / 重启,打开 Web 界面 - 内置 版本检查与一键更新,还能在 latest / next / alpha 通道之间切换 - 全程 没有控制台窗口,也不占用任务栏 功能特性 | 特性 | 说明 | | 状态可视化 | 托盘图标右下角状态点:绿=运行中,红=已停止;悬停显示版本与 PID | | 一键控制 | 启动 / 停止 / 重启服务,停止时会连子进程一起收干净 | | 打开 Web 界面 | 自动从服务日志里取出带 token 的地址再打开浏览器(新版本 dsh 直连会 401) |
展开完整文档(README 剩余 1 节)
简体中文 · English

Delfin

DeepSeek Harness(dsh)的 Windows 系统托盘控制器

服务状态一眼可见,启停重启一键完成,内置版本管理与一键更新。

Delfin —— 德语与西班牙语里的「海豚」。就像任务栏角落那只小海豚,安静地守着你的 dsh。

Release
License: MIT
Platform
Python
Unofficial

这是什么

DeepSeek Harness(命令 dsh)提供了一个本地 Web 控制台。但它需要一直挂着一个终端窗口,出了问题也只能对着滚动的日志发呆。

Delfin 把这些收进系统托盘:

- 海豚图标右下角一个 绿点/红点,扫一眼就知道服务活着没有
- 右键即可 启动 / 停止 / 重启,打开 Web 界面
- 内置 版本检查与一键更新,还能在 latest / next / alpha 通道之间切换
- 全程 没有控制台窗口,也不占用任务栏

功能特性

| 特性 | 说明 |
| 状态可视化 | 托盘图标右下角状态点:绿=运行中,红=已停止;悬停显示版本与 PID |
| 一键控制 | 启动 / 停止 / 重启服务,停止时会连子进程一起收干净 |
| 打开 Web 界面 | 自动从服务日志里取出带 token 的地址再打开浏览器(新版本 dsh 直连会 401) |
| 版本管理 | 自带本地受管运行时(runtime/),版本可控、可随时切换 |
| 一键更新 | 停服务 → 下载安装 → 自动重启,全程只弹一个气泡 |
| 多通道 | latest / next / alpha 三个通道,偏好记在 settings.json |
| 中英双语 | 界面文案内置中英两套,默认跟随系统语言,也可在托盘菜单里随时切换 |
| 自动检查 | 启动 8 秒后静默查一次,只在真有新版时提示,不打扰 |
| 单实例 | 命名互斥体保证只有一个托盘进程,重复双击不会叠出好几只海豚 |
| 崩溃有据 | 所有异常写入 logs/tray.log;轮询线程永不退出,消息循环意外结束会自动重建图标 |
| 开箱自检 | dsh-tray.exe --selftest 不需要开图形界面就能验证菜单、图标与网络 |

使用说明

右键托盘图标:

菜单随服务状态实时变化:服务没跑时「停止 / 重启」自动置灰,「检查更新」会就地给出结果。

| 菜单项 | 说明 |
| 状态: 运行中 · v0.1.5-rc.1 | 只读状态行,顺带显示当前版本 |
| 打开 Web 界面 (http://127.0.0.1:3080) | 打开带 token 的完整地址;服务没跑时置灰 |
| 启动服务 / 停止服务 / 重启服务 | 服务未运行时「停止/重启」置灰,反之亦然 |
| 检查更新 | 查询 npm registry 的 dist-tags |
| 更新到 v0.1.6(通道 latest) | 有新版时才出现;已是最新时显示 已是最新(vX) |
| 更新通道 ▸ | latest / next / alpha 单选,选择后立即重查 |
| 查看更新日志 | 打开 logs/update.log(含完整 npm 命令行) |
| 查看服务日志 | 打开 logs/dsh.log |
| 语言 / Language ▸ | 简体中文 / English 单选,选中立即生效并记入 settings.json |
| 退出托盘 | 只关掉托盘进程,不会停止服务 |

关于界面语言:首次运行按 Windows 界面语言自动选择(非中文系统用英文)。
语言子菜单里的名称固定用各自母语书写(简体中文 / English),所以即使自动判断猜错了,你也能在自己看得懂的那半边找到切换入口。「语言 / Language」这一项本身也是双语的。

找不到图标? Windows 默认把新出现的托盘图标收进「隐藏的图标」溢出区(任务栏那个 ^ 箭头)。
从溢出面板里把海豚拖到任务栏上即可固定常驻。

开机自启

把 start-tray.vbs 的快捷方式丢进启动目录:

1. 右键 start-tray.vbs → 发送到 → 桌面快捷方式
2. Win+R 输入 shell:startup 回车
3. 把快捷方式拖进去

start-tray.vbs 用 WScript.Shell.Run(..., 0, False) 启动,所以不会闪任何窗口。

快速开始

方式一:下载现成的 exe

到 Releases 下载 dsh-tray.exe,放到任意目录,双击即可。
需要本机已装 Node.js(dsh 依赖它)。
⚠️ 这个 exe 可能被 Windows Defender 误报拦截

它用 PyInstaller 单文件打包,且尚未做代码签名,因此会被 Defender 的机器学习启发式判成 Trojan:Win32/Sabsik.FL.A!ml。

注意 !ml 这个后缀 —— 它表示启发式/机器学习判定,并非匹配到了真实的病毒特征。
这是 PyInstaller --onefile 长期存在的已知误报,与代码本身无关。本项目全部源码公开,你随时可以按方式二自己跑一遍再打包。

被拦时的处理办法见下方「常见问题」;按里面的步骤仍然装不上,欢迎开 issue。

方式二:从源码运行

git clone https://github.com/konmins/delfin.git
cd delfin

pip install -r requirements.txt
python dsh-tray.py

想打包成单文件 exe:

build.bat

等价于:

pyinstaller --onefile --noconsole --name dsh-tray ^
--icon assets\dsh-tray.ico ^
--hidden-import dsh_icons --hidden-import dsh_update ^
dsh-tray.py

系统要求

- Windows 10 / 11(依赖 Win32 API:命名互斥体、taskkill、netstat)
- Node.js 18+(建议 20 或 22 LTS),dsh 本体由它运行
- Python 3.9+(仅源码运行时需要)
- 默认端口 3080,可用环境变量 DSH_PORT 改

更新机制

这里有个坑值得说明。早期版本用 npx -y @deepseek-ai/dsh web 启动,而 npx 会把版本锁进缓存——一旦缓存里解析成 ^0.1.1-rc.2 这类范围,预发布版本只有 major.minor.patch 完全相同才满足约束,结果是永远不会升级,还看不出来。

所以现在改成托盘自己管一份运行时:

runtime/ ← 托盘创建和维护 ├── package.json ← 私有清单,dependencies 里精确锁定 dsh 版本 └── node_modules/@deepseek-ai/dsh/

- 启动时优先用 runtime\ 里的 dsh,没有才回退到 npx(dsh-runner.cmd)
- 更新走 npm install @deepseek-ai/dsh@ --save-exact,版本号写死,不留歧义
- 首次使用不需要手动初始化,点一次「更新到 vX」它自己就把 runtime/ 建好

目录结构

delfin/
├── dsh-tray.py 主程序:托盘图标、菜单、状态轮询、服务控制 ├── dsh_update.py 纯逻辑模块:semver 比较、registry 查询、运行时安装 ├── dsh_i18n.py 界面文案的中英双语表 + 系统语言自动检测 ├── dsh_icons.py 自动生成的图标(base64 内嵌,保证 exe 自包含) ├── make_icon.py 图标生成器:形状遮罩 + 状态点 → dsh_icons.py / .ico / preview.png ├── dsh-runner.cmd 服务启动器,被托盘调用 ├── start-tray.vbs 无窗口启动托盘(推荐) ├── start-tray.bat 同上,cmd 备用 ├── build.bat 一键打包 exe ├── selftest.py 纯逻辑自检(不含 GUI):semver / registry / 图标解码 ├── dsh-tray.spec PyInstaller 配置 ├── assets/ │ ├── whale_mask.png 海豚形状遮罩(重新生成图标所需) │ ├── dsh-tray.ico 多尺寸 exe 图标(16~256) │ └── donate/ 赞赏码 ├── preview.png 图标多尺寸预览(浅底 / 深底) └── runtime/ 本地受管 dsh 运行时(首次更新时生成,不进版本库)

常见问题

下载 exe 被拦,或者下载完文件就消失了?

这是 Defender 对「PyInstaller 单文件 + 未签名」的误报(Trojan:Win32/Sabsik.FL.A!ml),详见方式一里的说明。不是真的病毒,处理办法:

1. 文件下载后消失 → Defender 把它隔离了。到「Windows 安全中心 → 病毒和威胁防护 → 保护历史记录」,找到那条 Trojan:Win32/Sabsik.FL.A!ml,点「操作 → 还原」。
2. 还原不了(显示已删除) → 先加排除项再重新下载:「病毒和威胁防护 → 管理设置 → 排除项 → 添加或删除排除项 → 添加 → 文件夹」,选中你打算放 dsh-tray.exe 的目录(或先建一个空目录专门放它)。
3. Edge 提示「已阻止不安全的下载」 → 在下载提示上点 … → 选「保留」。
4. 不想折腾杀软设置 → 走方式二,源码全在仓库里,自己跑。

顺带一提:如果只是弹「Windows 已保护你的电脑 / 未知发布者」,那只是 SmartScreen 对「从 Internet 下载且无签名」文件的例行提示,可以勾选「更多信息 → 仍要运行」。
也可以用 Unblock-File .\dsh-tray.exe 去掉文件的「来自 Internet」标记 ——但这只影响 SmartScreen 提示,不能解除 Defender 的病毒判定。

托盘里找不到海豚?
被 Windows 收进溢出区了,见上方「使用说明」末尾。

「打开 Web 界面」打不开或提示 401?
新版 dsh 要求地址带 ?token=…。托盘会从 logs/dsh.log 里抓最后一条完整地址。
如果日志被清空过,先「重启服务」让新地址落盘。

更新失败怎么办?
打开「查看更新日志」,里面记着完整的 npm 命令与返回码。常见原因是 npm 不在 PATH 里,或网络访问 registry 超时。也可以直接删掉 runtime/ 目录重新更新一次。

托盘莫名其妙消失了?
看 logs/tray.log。所有未捕获异常、pystray 内部错误、消息循环重建记录都在里面。

能改端口吗?
可以,设置环境变量 DSH_PORT 后重启托盘,菜单和探测都会跟着走。

界面语言能改吗?
能。右键托盘 → 语言 / Language → 选 简体中文 或 English,选中立即生效并记入 settings.json。
首次运行按 Windows 界面语言自动判断(非中文系统用英文)。也可以用 dsh-tray.exe --lang en 在启动时强制指定,写 --lang 时 dsh-tray.exe --lang=en 这种形式同样有效。

免责声明

- 本项目是第三方非官方工具,与 DeepSeek 官方无任何隶属或背书关系。
- 图标使用的 DeepSeek 海豚标志是其权利人的商标,此处仅用于标识「这个托盘控制的是 dsh」。
商标不适用本仓库的 MIT 许可(详见 LICENSE 与下方说明)。
- 程序按「原样」提供,不对因使用造成的任何后果负责。
- 本仓库不包含 dsh 本体,也不随源码分发其二进制;运行时由你的机器通过 npm 自行安装。

赞赏

如果这个小工具帮到了你,欢迎请作者喝杯咖啡 ☕

也可以直接给这个仓库点个 ⭐ —— 那是最不要钱的鼓励。

许可

MIT © 2026 Konmin

关于图标与商标:assets/whale_mask.png、assets/dsh-tray.ico、dsh_icons.py 与 preview.png 中包含的形状源自 DeepSeek 的官方标志,其商标权归权利人所有。上述文件仅为表明本项目是 dsh 的配套工具而使用,不包含在 MIT 许可的授权范围内。若权利人提出异议,可自行用 make_icon.py 换掉形状遮罩重新生成一套图标。

Delfin is an unofficial Windows system-tray controller for
DeepSeek Harness (dsh).

Full English documentation: README.en.md
预览分享卡片长什么样 ↓konmins/delfin
分享 · DeepSeek Harness Hub
konmins/delfin

在系统托盘一键启停 dsh 并管理版本更新

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