全部插件

DSH / BUNDLE / CLIENT-UI

dsh-restart-systemd

v0.2.0RoyougiShiki / dsh-restart-systemd1e4206d4ef

可安装组合包UI 与客户端插件社区 · Topic 自动分析Web UI

概览

dsh-restart-systemd

源码级技术说明WebUI restart button (systemd) for DeepSeek Harness: a sidebar-footer restart trigger + /restart command that schedules systemctl --user restart dsh-web, with single-flight dedup, a loopback security fence, automatic session resume (agent/created -> followup continue) after the service comes back up, and a post-restart page reload driven by the client runtime's own connection state. WSL/Linux primary; Windows falls back to a detached spawn helper.展开完整技术说明收起技术说明
WebUI restart button (systemd) for DeepSeek Harness: a sidebar-footer restart trigger + /restart command that schedules systemctl --user restart dsh-web, with single-flight dedup, a loopback security fence, automatic session resume (agent/created -> followup continue) after the service comes back up, and a post-restart page reload driven by the client runtime's own connection state. WSL/Linux primary; Windows falls back to a detached spawn helper.

README / ZH

插件文档

目录摘要

WebUI restart button (systemd) for DeepSeek Harness: a sidebar-footer restart trigger + /restart command that schedules systemctl --user restart dsh-web, with single-flight dedup, a loopback security fence, automatic session resume (agent/created -> followup continue) after the service comes back up, and a post-restart page reload driven by the client runtime's own connection state. WSL/Linux primary; Windows falls back to a detached spawn helper.

dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。

在 GitHub 阅读完整 README

LIMITATIONS

已知限制

- **单一服务单元**:systemctl 命令固定 `dsh-web`(`SYSTEMD_UNIT`)。 - **非 systemctl 启动则不生效**:若以 `node …` 手跑,spawn systemctl 会失败并记日志,不产生重启。 - **续接等待会话被恢复,没有截止时间**:重启前记录的会话一旦被重新打开(浏览器自动重连、或用户稍后回到该对话)就会续接,无论隔了多久。判定门槛是「最后 turn 确实被中断」——用户若已手动恢复过,那个 turn 会以 `completed`/`aborted` 收尾,从而被跳过,所以不会打扰。仍在快照里但始终没被打开的会话(例如无头运行)只是留在内存里,不再写回磁盘:`dsh-restart-resume.json` 在读取时即被消费(删除),与 flag 同为一次性令牌。 - **Windows helper 为占位**:仅提供 spawn 目标,helper 本体机器相关,超出 WSL 主目标范围。 - 路由避开 `/plugins`(官方 client-modules 拥有该前缀),仅注册 `/api/restart-dsh`,无 bundle 供数冲突。 - **折叠(rail)侧边栏下核心不渲染连接指示器**:`ConnectionIndicator` 仅在 `wide` 时挂载(`sidebar.toggle.badge` 也会在断线时隐藏)。此时用户只能看到重启按钮自身的 spinner/禁用态;展开侧边栏即可看到核心的断线/重连提示。 - **续接消息的 source.kind 变了**:v0.1 用的是已废弃的共享 `kind: 'plugin'`,v0.2 按 harness 设计改为本插件自有的 `kind: 'dsh-restart-systemd'`(`MessageSourceMap` 合并扩展)。任何按 `source.kind === 'plugin'` 过滤注入消息的插件(如 `dsh-handoff-wall` 的取材过滤)需同步加上这个新 kind,否则 `Continue.` 会被当作真实对话取走。