启停控制台 brittanistrehlowll-oss/dsh-lifecycle
DeepSeek Harness在网页端一键重启或关闭服务,停止后仍可重新启动
26.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/7 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add brittanistrehlowll-oss/dsh-lifecycle该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 70 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
- 读取本地文件lib/dsh-restart-button.mjs:75
const text = await readFile(pidFile, 'utf8'); - 写入本地文件lib/dsh-restart-button.mjs:637
await writeFile(requestFile, `restartId=${restartId} requested by restart-button at ${new Date().toISOString()}\\n`, 'utf8'); - 写入本地文件lib/dsh-restart-button.mjs:659
await writeFile(stopFile, `stopId=${actionId} requested by restart-button at ${new Date().toISOString()}\\n`, 'utf8'); - 发起网络请求controller/dsh-controller.mjs:70
const req = http.get(url, { timeout: timeoutMs }, res => { - 写入本地文件controller/dsh-controller.mjs:152
await writeFile(marker, `${action}Id=${id} requested by dsh-controller at ${new Date().toISOString()}\n`, 'utf8'); - 读取本地文件controller/dsh-controller.mjs:382
const s = await stat(file);
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 一键重启或关闭服务
- 停止后可重新启动
- 独立启动页
DeepSeek Harness 网页版的生命周期控制:重启/停止按钮、接管浮层、独立启动页(中英双语)
README
由 DeepSeek 最新模型翻译生成dsh-lifecycle
dsh-lifecycle 为 DeepSeek Harness 网页端提供完整的生命周期控制:侧边栏的 重启 / 关闭 按钮、重启过程中的 macOS 风格全屏接管界面,以及 DSH 停止后仍可用的独立启动页面。
面向普通用户设计:界面不出现 PID、端口、Watchdog 等技术名词。真正的进程管理由一组标记文件 + 外部 watchdog 进程完成——插件绝不直接终止宿主进程(会话内重启是自杀式的,因为 agent 运行在宿主作业对象内)。
功能
- 重启 —— 确认卡片 → 全屏接管层(柔和模糊 + 呼吸图标)→ 新实例就绪后自动恢复,无需手动刷新。
- 关闭 —— 确认卡片 → 通过标记优雅停止 → 自动跳转独立启动页。
- 独立启动页 —— 由 dsh-controller 在 http://127.0.0.1:3081/ 提供;DSH 停止后依然可用,随时可以再次启动 DSH。
- 真正的重启判定 —— 每次启动生成 bootId,重启前后比对;旧实例残留的 HTTP 200 不会被误判为成功。
- 慢启动与失败状态 —— 45 秒显示「启动时间比平时稍长」,90 秒出现恢复卡片(可重试)。
- 界面零技术名词。
展开完整文档(README 剩余 1 节)
dsh-lifecycle dsh-lifecycle 为 DeepSeek Harness 网页端提供完整的生命周期控制:侧边栏的 重启 / 关闭 按钮、重启过程中的 macOS 风格全屏接管界面,以及 DSH 停止后仍可用的独立启动页面。 面向普通用户设计:界面不出现 PID、端口、Watchdog 等技术名词。真正的进程管理由一组标记文件 + 外部 watchdog 进程完成——插件绝不直接终止宿主进程(会话内重启是自杀式的,因为 agent 运行在宿主作业对象内)。 功能 - 重启 —— 确认卡片 → 全屏接管层(柔和模糊 + 呼吸图标)→ 新实例就绪后自动恢复,无需手动刷新。 - 关闭 —— 确认卡片 → 通过标记优雅停止 → 自动跳转独立启动页。 - 独立启动页 —— 由 dsh-controller 在 http://127.0.0.1:3081/ 提供;DSH 停止后依然可用,随时可以再次启动 DSH。 - 真正的重启判定 —— 每次启动生成 bootId,重启前后比对;旧实例残留的 HTTP 200 不会被误判为成功。 - 慢启动与失败状态 —— 45 秒显示「启动时间比平时稍长」,90 秒出现恢复卡片(可重试)。 - 界面零技术名词。 - 左下角统一控制栏 —— 若同时安装可选的 dsh-quota-panel 插件,其额度胶囊(¥ 余额 ● 用量%)会被自动并入左下角的同一控制栏,与「重启 / 关闭」按钮用细分隔线隔开——两个角落的元素合并为一个整体控制区。 架构 浏览器(DSH 页面 / 启动页) │ ▼ ┌────────────────────────────┐ │ dsh-controller (3081) │ 独立进程,DSH 停止后仍运行 │ 启动页 + /api/status │ └──────────────┬─────────────┘ │ 只写标记文件(绝不杀进程) ▼ ┌────────────────────────────┐ │ watchdog(PowerShell) │ 轮询标记,负责真正的生命周期 │ restart / stop / start │ └──────────────┬─────────────┘ ▼ ┌────────────────────────────┐ │ DeepSeek Harness (3080) │ └────────────────────────────┘ 标记协议 | 标记文件 | 写入方 | 消费方 | 效果 | | logs/restart.requested | 插件 /api/restart | watchdog | 强制停止 + 启动新实例 | | logs/stop.requested | 插件 /api/stop | watchdog | 停止 DSH,控制器保持运行 | | logs/start.requested | 控制器 /api/start | watchdog | 启动 DSH | 安装 1. 将文件复制到 DSH 根目录(<dsh-root>,即包含 home/ 与 node_modules/ 的目录): cp lib/dsh-restart-button.mjs <dsh-root>/home/profiles/web/plugins/ cp controller/dsh-controller.mjs <dsh-root>/ cp scripts/Start-DSH-Watchdog.ps1 <dsh-root>/ cp scripts/Start-DSH-Web-Detached.ps1 <dsh-root>/ 2. 在 profile 补丁中注册插件(完整示例见 cordis.patch.yml): - insert: - id: restart-button name: './plugins/dsh-restart-button.mjs' inject: [webServer] 3. 启动 watchdog(它会顺带拉起 3081 控制器): pwsh -NoProfile -File Start-DSH-Watchdog.ps1 -IntervalSeconds 30 4. 重启一次 DSH 以加载插件:写入重启标记 Set-Content logs/restart.requested -Value "requested" -Encoding utf8 watchdog 会在约 30 秒内完成实际重启。 使用 - 生命周期控制栏:左下角(设置按钮上方)一个胶囊形控制栏,从左到右依次为:额度胶囊(若安装了 dsh-quota-panel)、细分隔线、⟳ 重启 / ⏻ 关闭 按钮。点击额度胶囊会在控制栏正上方展开详情卡片。 - 重启:点击 ⟳ 重启 按钮,确认。页面进入接管层,新实例就绪后自动重新加载。 - 关闭:点击 ⏻ 关闭 按钮,确认。DSH 停止,浏览器跳转到 http://127.0.0.1:3081/。 - 启动:在启动页点击 启动 DSH。完成后自动回到关闭前的页面(记录于 localStorage.dsh_lastUrl)。 - 额度:点击胶囊(¥ 余额 ● 用量%)展开/收起控制栏上方的额度卡片;卡片会始终锚定在左下角控制栏上方。 配置 插件支持以下选项(通过 profile 补丁的 config: 块): | 选项 | 默认值 | 说明 | | requestFile | <dsh-root>/logs/restart.requested | 重启标记路径 | | stopFile | <dsh-root>/logs/stop.requested | 关闭标记路径 | | watchdogPidFile | <dsh-root>/logs/watchdog.pid | watchdog PID 文件(状态探测用) | | controllerUrl | http://127.0.0.1:3081/ | 启动页地址 | 控制器只监听 127.0.0.1:3081,绝不监听 0.0.0.0。 文件 | 路径 | 用途 | | lib/dsh-restart-button.mjs | 宿主插件:路由 + 注入页面脚本 | | controller/dsh-controller.mjs | 独立控制服务 + 启动页 | | scripts/Start-DSH-Watchdog.ps1 | 外部 watchdog,负责生命周期 | | scripts/Start-DSH-Web-Detached.ps1 | 分离式启动器(watchdog 调用) | | docs/design-v2.md | V2 设计基线(英文) | | docs/design-v2.zh.md | V2 设计基线(中文) | 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
brittanistrehlowll-oss/dsh-lifecycle
在网页端一键重启或关闭服务,停止后仍可重新启动
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9