DeepSeek Harness 插件

dsh-7d-tray-win

Windows-only composition bundle for DeepSeek Harness web: a system-tray icon auto-appears while `dsh web` runs (open UI / open logs / stop server), plus an auto-installed silent desktop launcher.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
7dgroup-ai/dsh-7d-tray-win
最近更新
2026年8月21日
分类
插件开发工具
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/7dgroup-ai/dsh-7d-tray-win
插件名:dsh-7d-tray-win
作者:7dgroup-ai

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

<p align="center"> <img src="screenshots/banner.png" alt="DSH 7D Tray Win banner" width="800"> </p>

<p align="center"> <img alt="npm version" src="https://img.shields.io/npm/v/@7dgroup/dsh-7d-tray-win?style=flat-square&color=4b6fff"> <img alt="license MIT" src="https://img.shields.io/badge/license-MIT-263146?style=flat-square"> <img alt="node" src="https://img.shields.io/badge/node-%5E22.19%20%7C%7C%20%3E%3D24-339933?style=flat-square"> <img alt="platform" src="https://img.shields.io/badge/platform-win32-0078D4?style=flat-square"> <img alt="by 7DGroup" src="https://img.shields.io/badge/by-7DGroup-7da1de?style=flat-square"> </p>

<p align="center">

<strong>English</strong> | <a href="README.zh.md">中文</a>

</p>

@7dgroup/dsh-7d-tray-win

Author: 7DGroup

A Windows-only system-tray plugin for DeepSeek Harness (dsh). While dsh web is running, the DeepSeek whale icon appears in the system tray; when the server stops, the tray icon disappears within 3 seconds — the tray shares the full lifecycle of the service. It also maintains a silent desktop launcher (DSH.lnk): double-click it to start the server in the background with no console window and open the browser automatically.

---

📌 Project Info

| Field | Value | |---|---| | Author | 7DGroup | | Version | 0.3.0 | | Platform | Windows 10/11 (win32; auto-skipped on other platforms) | | Runtime | Node ^22.19.0 \|\| >=24.0.0 · pnpm 10+ · dsh CLI | | Plugin name | tray-7d-win | | Peer dependency | @deepseek-ai/cordis ^4.0.1 | | Repository | github.com/7dgroup-ai/dsh-7d-tray-win | | License | MIT |

🖼️ Plugin Effect

After dsh web starts, the DeepSeek whale icon appears in the system tray, and the desktop shortcut DSH.lnk is created automatically:

<p align="center"> <img src="screenshots/tray-context-menu.png" alt="DSH desktop shortcut and tray context menu" width="520"> </p>

  • Double-click icon: opens the Web UI (port auto-detected from server config)
  • Right-click menu: Open DSH Web / Open log folder / Restart service / Exit (stop server)

When the server exits (including crashes), the tray icon and tray agent process disappear automatically.

✨ Core Capabilities

  • System-tray icon: official DeepSeek whale logo; double-click opens the Web UI, right-click menu supports opening logs, restarting the service, and exiting.
  • One-click restart: right-click → "Restart Service" confirms, then kills the server process tree and restarts dsh web via npx automatically.
  • Dynamic port resolution: the tray URL is read from the running webserver service at runtime — no hardcoded port. Works with any custom port configuration.
  • Lifecycle sync: no matter how dsh web is started (desktop shortcut, command line, script), the tray appears automatically; it disappears within 3 seconds after the server exits.
  • Silent desktop launcher: automatically maintains the desktop DSH.lnk; double-click it to start the server in the background with no window and open the browser.
  • Clean startup chain: built-in PowerShell startup script and npmmirror registry configuration avoid host environment pollution and work reliably in mainland China.
  • Zero core changes / safe upgrades: pure Cordis composition bundle. It only adds one row to your profile via cordis.patch.yml; no files in the official DSH packages are overwritten or modified. Removing the plugin (dsh plugin remove) restores the original state, and upgrading the official DSH version will not conflict with this plugin as long as the Cordis lifecycle stays compatible.

✅ Features

  • ✅ Windows system tray auto-show/hide
  • ✅ Double-click tray to open Web UI
  • ✅ Right-click menu: Open DSH Web / Open log folder / Restart service / Exit
  • ✅ One-click restart with confirmation dialog
  • ✅ Dynamic port resolution from cordis runtime (no hardcoded port)
  • ✅ Tray auto-cleanup after server stops
  • ✅ Silent desktop launcher DSH.lnk auto-maintained
  • ✅ First-run auto-compilation of .NET launcher (requires .NET Framework 4)
  • ✅ Refreshes shipped assets on every boot
  • ✅ Auto-skips on non-win32 platforms without errors

📂 Project Structure

dsh-7d-tray-win/
├── assets/                         # assets shipped with the package
│   ├── DSH.ico                     # tray icon
│   ├── tray-agent.ps1              # tray agent script
│   ├── starter.ps1                 # dsh web startup chain script
│   ├── starter-launcher.cs         # silent desktop launcher source
│   └── make-shortcut.ps1           # desktop shortcut maintenance script
├── lib/                            # runtime entry
│   └── index.js                    # Cordis plugin: tray control logic
├── cordis.patch.yml                # composition patch layer
├── package.json
├── LICENSE
├── README.md
└── README.zh.md

🚀 Quick Start

Requirements

  • Windows 10/11 (win32)
  • Node.js ^22.19.0 || >=24.0.0
  • pnpm 10+
  • .NET Framework 4 (ships with Windows; used once to compile the silent launcher)
  • PowerShell (ships with Windows)

Install into the web profile (recommended)

Most sessions boot the default web profile (dsh web is shorthand for dsh --profile web), so installing into web is recommended:

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

Or install from a local path (useful for development/testing):

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

After installation, start dsh web; the tray icon and desktop shortcut will take effect automatically.

Install into another profile

If you use a custom profile, replace web with your profile name. The plugin only activates in the profile it is installed into.

💡 Usage

Tray Icon Interactions

ActionBehavior
Double-click iconopens the Web UI (port auto-detected)
Right-click → Open DSH Webopens the Web UI (port auto-detected)
Right-click → Open log folderopens %LOCALAPPDATA%\dsh-7d-tray-win\
Right-click → Restart serviceconfirms, then kills and restarts dsh web
Right-click → Exitstops dsh web and closes the tray

Silent Desktop Launcher

On first boot the plugin compiles starter-launcher.cs into starter-launcher.exe and creates/refreshes the desktop DSH.lnk. From then on:

  • Double-click desktop DSH.lnk → no console window appears
  • dsh web starts in the background (port read from cordis config)
  • Browser opens automatically to the Web UI
  • DeepSeek whale icon appears in the system tray

📁 Runtime Directory

All runtime assets and logs are stored in %LOCALAPPDATA%\dsh-7d-tray-win\:

FilePurpose
DSH.icotray icon
tray-agent.ps1tray agent script
starter.ps1dsh web startup chain script
starter-launcher.cssilent launcher source
starter-launcher.execompiled silent launcher
make-shortcut.ps1shortcut maintenance script
dsh-launch.logservice startup chain log (npx/dsh output)
tray-agent.logtray agent lifecycle log
plugin-debug.logplugin apply/spawn/dispose debug log

On every boot the plugin refreshes these files to the latest versions shipped with the package.

⚠️ Notes

1. Windows-only: the plugin auto-skips on non-win32 platforms; no tray or shortcut is created. 2. First-run compile: the first run requires .NET Framework 4 to compile the silent launcher. If csc.exe is missing, the desktop shortcut feature is unavailable, but the tray still works. 3. Launcher has no tray: DSH.lnk itself shows no tray; the tray is provided by this plugin while dsh web runs. 4. Asset refresh: every dsh web boot overwrites the files in %LOCALAPPDATA%\dsh-7d-tray-win\ with the plugin's latest assets. Do not store custom persistent files there. 5. Dynamic port: the tray icon URL is resolved at runtime from the webServer cordis service — it follows whatever port dsh web is actually listening on, including custom ports configured via cordis.patch.yml or --port. 6. Official-version safe: this plugin is a Cordis composition bundle; it does not overwrite or patch any files inside the official DSH packages. Upgrading DSH will not break the plugin as long as the Cordis lifecycle remains compatible. 7. Single instance recommended: all running instances share the runtime directory %LOCALAPPDATA%\dsh-7d-tray-win\ and the desktop DSH.lnk; when multiple dsh web instances run concurrently, the last one to start wins the shared files. Run only one instance at a time.

❓ FAQ

Q: It says pnpm is not found during installation. A: dsh plugin delegates to pnpm, so make sure pnpm is installed and on PATH:

npm install -g pnpm@10

Q: The tray icon does not appear. A: Please check:

  • You are on Windows 10/11;
  • The plugin is installed into the profile you actually boot (default is web);
  • dsh web started successfully;
  • Inspect %LOCALAPPDATA%\dsh-7d-tray-win\plugin-debug.log and tray-agent.log for errors.

Q: The desktop shortcut is not created. A: Check %LOCALAPPDATA%\dsh-7d-tray-win\plugin-debug.log for csc.exe not found or launcher compile failed. The first run requires .NET Framework 4 that ships with Windows.

Q: How do I uninstall? A: Run:

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

Then you may manually delete %LOCALAPPDATA%\dsh-7d-tray-win\ and the desktop DSH.lnk.

Q: Can it be installed on non-win32 platforms? A: Yes, but the plugin will auto-skip and create neither tray icon nor shortcut.

Q: Will upgrading the official DSH version break this plugin? A: No. This plugin is a Cordis composition bundle; it only adds one row to your profile's cordis.patch.yml and does not overwrite or modify any official DSH package files. As long as the Cordis lifecycle remains compatible, the plugin continues to work after an official upgrade.

📄 License

[MIT](LICENSE) · Copyright (c) 2026 7DGroup