Bundle
dsh-web-service-manager
Manage the DSH web service from a settings panel: status, version, restart, stop, and one-click updates.
- Source
- wiyi
- stars
- 3 stars
- License
- MIT
- Updated
- Updated 4 days ago
Readme
# dsh-web-service-manager 在 DeepSeek Harness 内部管理 `dsh web` 服务 —— 日常操作无需再开终端。Manage the `dsh web` service from inside DeepSeek Harness — no terminal needed for day-to-day operations. [](LICENSE) [](https://github.com/topics/dsh-plugin) [](https://awesome-dsh-plugin.com) <p align="center"><img src="assets/screenshot.png" alt="DSH Web 服务 设置面板 | DSH web service settings panel" width="560"></p> [English](#english) | [中文](#中文) --- ## 中文 ### 功能 - **状态面板**(设置 → DSH Web 服务):运行状态、版本、端口、PID、会话运行时长。 - **重启**:先把替换实例放进独立进程会话,再退役当前进程 —— 新服务不受旧进程优雅清理(SIGTERM → 根 fiber dispose)的影响。 - **停止**:终止当前服务(面板所在的 GUI 会随之关闭)。 - **版本检查**:与 npm registry 对比当前运行版本。 - **一键更新**:发现新版本后,通过 `npx` 拉取最新 `@deepseek-ai/dsh` 并自动重启。 ### 安装 ```sh # 从 GitHub 直接安装: dsh plugin --profile web add github:wiyi/dsh-web-service-manager # 发布 npm 后也可以: dsh plugin --profile web add dsh-web-service-manager ``` 重启一次 web 服务,然后打开 设置 → **DSH Web 服务**。 ### 工作原理 宿主半提供 `GET /dsh-web-manager/status`、`GET /dsh-web-manager/check`、`POST /dsh-web-manager/restart`、`POST /dsh-web-manager/update`、`POST /dsh-web-manager/stop`;写操作要求同源请求。 重启与更新使用小型看门狗链:替换实例以独立进程会话(`detached: true`)启动,**先于**旧进程退役。因为 SIGTERM 会让 harness 销毁整个组合 —— 包括所有托管子进程;只有脱离进程组的替换实例能在这场清理中存活下来。 ### 注意事项 - **停止**会关掉你正在使用的 GUI;重新启动需在终端运行 `npx @deepseek-ai/dsh web`。 - **重启/更新**后,等新实例接管端口,再手动刷新页面。 - 安装插件意味着以你的权限运行第三方代码。本插件会停止、启动和更新 web 服务进程,在重要环境安装前请阅读源码。 ## English ### Features - **Status panel** (Settings → DSH Web 服务): running state, version, port, PID, session uptime. - **Restart**: detaches a replacement instance into its own process session before retiring the current one, so the new server survives the old process's graceful teardown. - **Stop**: terminates the current service (this also closes the GUI the panel lives in). - **Version check**: compares the running version with the npm registry. - **Update & restart**: pulls the latest `@deepseek-ai/dsh` through `npx` and restarts on it. ### Install ```sh # Directly from this repo: dsh plugin --profile web add github:wiyi/dsh-web-service-manager # Or, once published to npm: dsh plugin --profile web add dsh-web-service-manager ``` Restart the web service once, then open Settings → **DSH Web 服务**. ### How it works The host half serves `GET /dsh-web-manager/status`, `GET /dsh-web-manager/check`, `POST /dsh-web-manager/restart`, `POST /dsh-web-manager/update`, and `POST /dsh-web-manager/stop`. Mutating routes require a same-origin request. Restart and update use a small watchdog chain: the replacement instance is spawned in its own process session (`detached: true`) *before* the current process is retired — on SIGTERM the harness disposes its whole composition, including every managed child process, and a detached replacement is the only child that survives that cleanup. ### Notes - **Stop** ends the GUI you are using; start it again from a terminal with `npx @deepseek-ai/dsh web`. - After **restart** or **update**, refresh the page once the new instance has taken over the port. - Installing a plugin runs third-party code with your own permissions. This plugin stops, starts and updates the web service process; read the source before installing it anywhere important. ## License MIT
Install
dsh plugin --profile web add github:wiyi/dsh-web-service-manager
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-web-service-manager from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.