一键刷新、重启或关闭 DSH 服务进程
29.7/100
综合分
1
GitHub 星标
261
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-power-xcnpm 源 · dsh-power-xc 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 56 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-power-xc @ 0.1.4
✓Node 引擎要求 >=22.19 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/21 23:56:53
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 21 处,展示前 19 条)
- 读取本地文件lib/index.js:106
return JSON.parse(fs.readFileSync(markerPath(), "utf8")); - 写入本地文件lib/index.js:114
fs.mkdirSync(RUNTIME_DIR, { - 写入本地文件lib/index.js:118
fs.writeFileSync(markerPath(), JSON.stringify(data), { - 删除本地文件lib/index.js:132
fs.unlinkSync(markerPath()); - 删除本地文件lib/index.js:137
fs.unlinkSync(markerPath()); - 读取本地文件lib/index.js:174
const { size } = fs.statSync(file); - 写入本地文件lib/index.js:175
if (size > LOG_MAX_BYTES) fs.writeFileSync(file, "", "utf8"); - 写入本地文件lib/index.js:178
fs.appendFileSync(file, line, "utf8"); - 读取本地文件lib/index.js:215
for (const name of fs.readdirSync(RUNTIME_DIR)) { - 读取本地文件lib/index.js:219
if (fs.statSync(full).mtimeMs < cutoff) fs.unlinkSync(full); - 写入本地文件lib/index.js:243
fs.mkdirSync(RUNTIME_DIR, { - 写入本地文件lib/index.js:435
fs.mkdirSync(RUNTIME_DIR, { - 执行外部命令来自配置/变量lib/index.js:443
spawn(process.execPath, [HELPER_FILE], { - 发起网络请求lib/client.js:651
fetch(ACK, { - 发起网络请求lib/client.js:667
const r = await fetch(HEALTH, { cache: "no-store" }); - 发起网络请求lib/client.js:1281
fetch(endpoint, { - 发起网络请求lib/client.js:1308
up = (await fetch("/api/dsh-power-xc/health", { cache: "no-store" })).ok; - 发起网络请求lib/client.js:1333
const r = await fetch("/api/dsh-power-xc/health", { cache: "no-store" }); - 发起网络请求lib/client.js:1340
fetch("/api/dsh-power-xc/restart", {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-slots@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 刷新服务进程
- 重启服务进程
- 关闭服务进程
DSH 电源控制插件,带重启/关机菜单和 Windows 风格浮层动画
README
由 DeepSeek 最新模型翻译生成dsh-power-xc
license
DSH
DeepSeek Harness 的自包含电源与生命周期控制插件:侧边栏底部电源按钮 + 上拉刷新/重启/关机菜单 + 全屏过渡动画。重启/关机引擎内置在本插件中,不依赖第三方插件。
本插件基于 dsh-power-button 开发,在其基础上进行了改进和优化。
由 DeepSeek AI 辅助开发,发布前经人工 review。
功能
- 侧边栏电源按钮:注册到页脚操作位(sidebar.footer.action),主题自适应,外观与旁边的"设置"按钮一致
- 刷新/重启/关机菜单 + Windows 关机风格全屏过渡动画;重启确认后页面自动刷新
- 刷新功能:点击"刷新"菜单项即可刷新当前浏览器页面,用于页面状态异常时快速恢复,是比重启更轻量的操作
- 自包含重启引擎:写一个 detached 的 .cjs helper,等旧进程退出、端口释放后,用相同的 execPath/execArgv/argv/cwd 重新拉起 DSH。
展开完整文档(README 剩余 1 节)
dsh-power-xc license DSH DeepSeek Harness 的自包含电源与生命周期控制插件:侧边栏底部电源按钮 + 上拉刷新/重启/关机菜单 + 全屏过渡动画。重启/关机引擎内置在本插件中,不依赖第三方插件。 本插件基于 dsh-power-button 开发,在其基础上进行了改进和优化。 由 DeepSeek AI 辅助开发,发布前经人工 review。 功能 - 侧边栏电源按钮:注册到页脚操作位(sidebar.footer.action),主题自适应,外观与旁边的"设置"按钮一致 - 刷新/重启/关机菜单 + Windows 关机风格全屏过渡动画;重启确认后页面自动刷新 - 刷新功能:点击"刷新"菜单项即可刷新当前浏览器页面,用于页面状态异常时快速恢复,是比重启更轻量的操作 - 自包含重启引擎:写一个 detached 的 .cjs helper,等旧进程退出、端口释放后,用相同的 execPath/execArgv/argv/cwd 重新拉起 DSH。不使用 PowerShell、不使用 taskkill - /restart 与 /shutdown 命令,以及 restart_harness 模型工具(与 anweat/dsh-restart 同名;若名字已被其它插件占用则跳过注册) - 界面与宿主文案本地化(中文 / English),跟随 profile 的 locale.preference - 启动清理:自动清理运行目录下超过 7 天的 restart-helper-*.log 刷新 vs 重启 | 操作 | 刷新 | 重启 | | 重载插件 | ❌ | ✅ | | 重载配置 | ❌ | ✅ | | 进程重启 | ❌ | ✅ | | 页面刷新 | ✅ | ✅ | | 适用场景 | 页面状态异常 | 配置/插件变更 | 为什么需要刷新功能? - 当页面出现显示异常或响应迟缓时,刷新可以快速恢复 - 修改 DSH 设置后,刷新可以立即看到效果(部分设置需要重启) - 相比重启,刷新是轻量级操作,不会中断当前的 agent 任务 - 刷新不会重新加载插件和配置,适合仅需更新页面状态的场景 截图 ① 侧边栏电源按钮 —— 主题适配的底部常驻入口,风格与相邻的设置按钮一致。 侧边栏底部的电源按钮 ② 刷新 / 重启 / 关机菜单 —— 点击电源按钮展开,三个动作一次到位。 刷新 / 重启 / 关机菜单 ③ 关机确认对话框 —— 防误触设计:默认焦点在「取消」,只有显式确认才会真正停止进程。 关机确认对话框 ④ 关机进度遮罩 —— Windows 风格全屏过渡,进程收尾时显示当前阶段。 关机进度遮罩 ⑤ 重启完成提示 —— 页面自动重载后,成功提示确认 DSH 已恢复。 重启完成提示 安装 cd D:/workspace/dsh-power-xc && pnpm pack dsh plugin --profile web add file:D:/workspace/dsh-power-xc/dsh-power-xc-0.1.0.tgz 重启 DSH 后生效:侧边栏底部出现电源按钮。需要 Node ≥ 22.19。 配置 通过 profile 的 cordis 层配置(cordis.patch.yml 或设置界面): | 键 | 默认 | 含义 | | enableModelTool | true | 注册 restart_harness 模型工具。设 false 则重启仅保留在 GUI 按钮与 /restart。 | | maxDelayMs | 5000 | 模型工具 delayMs 参数的上限(ms)。有效下限为 1000 ms。 | 示例: - id: dsh-power-xc config: enableModelTool: true 工作原理 点击电源 → 菜单 → 刷新 [客户端] window.location.reload() ↓ (仅刷新浏览器页面,不重启进程) 点击电源 → 菜单 → 重启 [宿主] POST /api/dsh-power-xc/restart → 写 ~/.dsh/restart-helper--.cjs → spawn node (detached, windowsHide) [助手] 等旧 PID 退出 → 等端口释放 → 用相同 execPath/argv/cwd 重新拉起 DSH → 自删 [宿主] 响应刷出后终止 [客户端] 轮询 health → 确认新 instanceId → 自动刷新 关机则 POST /api/dsh-power-xc/shutdown,终止且不拉起。由于关机不可逆(进程停止后需手动启动),GUI 在关机前会弹确认对话框,需要再次点击确认才执行。(/shutdown 命令与模型工具保持单次触发;模型不暴露关机。) 开发中踩过的坑: - helper 必须脱离进程树(detached + unref),否则终止 DSH 时 helper 一起被杀 - helper 写成真实 .cjs 文件而非 node -e:多行 node -e 脚本会被 Windows CreateProcess 破坏成静默 SyntaxError - 重启成功以每次进程独立的 instanceId 变化(旧→新)为准,短暂离线本身不算成功 - 持久写静止检查:旧进程退出、端口释放后,helper 轮询所有会话日志的 (size, mtimeMs) 直到连续两次采样一致(上限约 15 秒)才重启。旧进程主循环退出后其会话写缓冲可能仍在落盘;在仍在追加的文件上拉起新进程会插入旧 seq 造成会话损坏——此检查封堵了这个窗口 安全 - 破坏性 POST 带 同源/loopback 防护(CSRF):socket 必须是 loopback、Host 必须是 loopback 权威、浏览器 Origin 必须匹配 - at-most-once 锁:并发重复触发会被拒绝(第二次返回 409) - 模型工具 delayMs 下限 1000 ms——模型无法在自身 turn 结束前杀掉进程 - 重启 marker 在启动时消费即删除,后续普通启动不会误报"重启过" - 命令行日志脱敏(凭据不会进入 ~/.dsh/restart-helper-.log);helper 与 marker 文件以 0600 写入,运行目录 0700 重启确认——纯 UI 提示,绝不写入会话 重启成功后,插件会在界面角落弹出一条本地化的 已重启 / Restarted toast。这是纯 UI 提示:不会向任何会话日志写入内容。(此前的设计会向恢复的会话追加合成的 assistant/message(turn: 0, step: 0)——该方案会触发 token-meter 的 step 配对不变量并可能损坏大会话,已移除。上游跟踪: deepseek-ai/DeepSeek-Harness#802。) 机制: - 启动时若消费到重启 marker,/health 会报告 restarted: true, fromInstanceId: - 客户端加载后查询一次 /health;若 restarted 为真则显示 toast,然后通过 POST /api/dsh-power-xc/notice-shown 确认,避免刷新后重复弹出 - 由于确认消息完全不触碰会话文件,重启不再可能损坏会话日志或留下未配对事件 开发 npm run build # tsdown:host + client bundle npm run typecheck # tsc --noEmit npm test # vitest:marker 生命周期、delayMs 下限、argv 脱敏、日志清理 测试通过 vitest setup 文件隔离 DSH_HOME,不会触碰真实的 ~/.dsh。 产物:host 在 lib/index.js,client bundle 在 lib/client.js(均已入库,git 安装免构建)。 License 与致谢 MIT。"detached helper 重新拉起"的思路参考了 anweat/dsh-restart(MIT); 实现为独立编写(真实 .cjs 文件、无 PowerShell、动态端口),未复制其代码。 本插件基于 dsh-power-button 开发,感谢原作者的工作。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
xchannel1987/dsh-power-xc
一键刷新、重启或关闭 DSH 服务进程
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,266已汉化DSH
70.7
这是你的仓库?认领条目