dsh-tray
已验证 · 实测可装 qing3a
✓ 持续维护 基于 2 个官方 DSH 包
0Stars
0Forks
0未关闭 issue
JavaScript语言
2026-08-15最近推送
跨平台平台
功能简介
dsh-tray — DSH 插件(工具)
我们的评价
可用 — 实测通过,早期项目
可用 — 实测通过,早期项目
dsh-tray — DSH 插件(工具) 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-tray
DeepSeek Harness Windows 系统托盘插件:托盘图标 + 菜单(打开界面 / 状态 / 退出)+ 气泡通知。 > 基于[email protected](exe 宿主进程 + TCP + XML 协议,无 native 编译)。win32-only。
> 状态:✅ 已在本地 DSH 源码环境验证(web 单托盘进程 + headless 降级,2026-08-14)。
功能
- 系统托盘图标(默认 default.ico,可配置 iconPath) - 菜单:打开界面(读 webServer.port 动态拼接 URL)/ 状态 / 退出 - 气泡通知(info 风格) - **headless 兼容**:无 webServer 时自动降级(不崩、不阻塞加载)安装
``bash
生产安装(npm,agent 可直接执行)
pnpm dsh plugin --profile web add @qing3a/dsh-tray
pnpm dsh --profile web
Windows 任务栏应出现 DSH 托盘图标
开发模式(需 Node >= 22 + pnpm)
git clone https://github.com/qing3a/dsh-tray.git
cd dsh-tray && pnpm install && pnpm build
cd <path-to-deepseek-harness>
pnpm dsh plugin --profile web add link:$(pwd)/dsh-tray
`
卸载
`bash
pnpm dsh plugin --profile web remove @qing3a/dsh-tray
`
配置
| 键 | 默认 | 说明 |
|---|---|---|
| enabled | true | 总开关 |
| title | DSH | 托盘标题(决定 temp 命名) |
| iconPath | 空 | 自定义图标路径(.ico/.png Buffer);留空用 default.ico |
已知实现要点
- **不用 trayicon 的 useTempDir**:复制 exe 到 temp 后立即 spawn 在 Windows 会 spawn EBUSY(文件句柄未释放),直接 spawn 包内 exe 无此问题
- **并发去重**:start() 幂等(pending promise 共享),避免 apply 与 inject 并发调用导致双托盘
- **非 win32 平台自动跳过**(process.platform !== 'win32')
- webServer 用 ctx.inject` 动态注入(headless 无此服务不阻塞)
许可
MIT安装
🧩 让 Agent 自动装(推荐)
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-tray」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:qing3a/dsh-tray Headless(CLI)profile:
dsh plugin --profile headless add github:qing3a/dsh-tray 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。
使用场景
扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。
适合谁
想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。
二次开发建议
工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。