🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

一键重启器 Nasbaye/dsh-launcher

DeepSeek Harness
Nasbaye71 天前有提交已提供中文文档扫描:含敏感能力

一键重启服务并自动续聊,截断时补发继续

25.4/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/11 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Nasbaye/dsh-launcher
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · ui
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 71 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 16 处,展示前 16 条)
  • 写入本地文件
    lib/index.js:33
    try { appendFileSync(logFile(), '[launcher ' + new Date().toISOString() + '] ' + msg + '\n'); } catch {}
  • 读取本地文件
    lib/index.js:61
    if (!existsSync(RESUME_FILE)) return;
  • 读取本地文件
    lib/index.js:62
    const data = JSON.parse(readFileSync(RESUME_FILE, 'utf8'));
  • 删除本地文件
    lib/index.js:63
    unlinkSync(RESUME_FILE);
  • 写入本地文件
    lib/index.js:109
    if (running.length > 0) writeFileSync(RESUME_FILE, JSON.stringify({ text: RESUME_TEXT, sessions: running }), 'utf8');
  • 读取本地文件
    lib/index.js:110
    else if (existsSync(RESUME_FILE)) unlinkSync(RESUME_FILE);
  • 删除本地文件
    lib/index.js:110
    else if (existsSync(RESUME_FILE)) unlinkSync(RESUME_FILE);
  • 执行外部命令来自配置/变量
    lib/index.js:114
    const child = spawn(process.execPath, [worker, String(port()), logFile()], {
  • 写入本地文件
    lib/restart-worker.js:18
    try { appendFileSync(logFile, '[launcher-worker ' + new Date().toISOString() + '] ' + msg + '\n'); } catch {}
  • 执行外部命令固定命令
    lib/restart-worker.js:23
    execFileSync('netstat', ['-ano'], { encoding: 'utf8', windowsHide: true })
  • 读取本地文件
    lib/restart-worker.js:37
    return existsSync(join(profileRoot, 'node_modules', rel)) || existsSync(join(engineRoot, rel));
  • 读取本地文件
    lib/restart-worker.js:41
    if (existsSync(pkgPath)) {
  • 读取本地文件
    lib/restart-worker.js:42
    const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
  • 执行外部命令固定命令
    lib/restart-worker.js:47
    const r = spawnSync('pnpm', ['--dir', profileRoot, 'install'], { stdio: 'ignore', windowsHide: true, timeout: 600000 });
  • 执行外部命令固定命令
    lib/restart-worker.js:71
    execFileSync('taskkill', ['/F', '/PID', pid], { stdio: 'ignore', windowsHide: true });
  • 执行外部命令固定命令
    lib/restart-worker.js:103
    const ps = spawn('powershell.exe', ['-NoProfile', '-NonInteractive', '-WindowStyle', 'Hidden', '-Command', psCommand], {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 一键重启服务
  • 重启后续跑
  • 截断自动继续

DeepSeek Harness 一键重启插件:状态圆点、可靠 worker(预检 + 健康检查)、重启后续跑、token 截断自动继续

README

由 DeepSeek 最新模型翻译生成
dsh-launcher DeepSeek Harness web profile 插件:一键重启服务 + 前端状态徽标 + 重启续聊 + 截断自动继续。 - GET /api/launcher/status — 服务状态(JSON) - POST /api/launcher/restart — 重启服务(返回 202,实际由后台 worker 完成:预检依赖 → 杀掉端口上的旧监听进程 → 等端口释放 → 重新拉起 node <dsh>/lib/bin.js web → 健康确认) - UI:会话头部(或新建会话模式选择器)旁的状态点,点击可确认重启;重启完成后页面自动刷新 - 重启前自动检测「正在进行」的会话,重启后向它们发送 因 DeepSeek Harness 重启导致对话中断,请继续,让 agent 接着干活 - 模型输出撞到 token 上限被截断时(前端显示「已达到输出 token 上限」)自动补发 继续,让模型接续输出(带防循环保护) 目录结构 dsh-launcher/ ├── lib/
展开完整文档(README 剩余 1 节)
dsh-launcher

DeepSeek Harness web profile 插件:一键重启服务 + 前端状态徽标 + 重启续聊 + 截断自动继续。

- GET /api/launcher/status — 服务状态(JSON)
- POST /api/launcher/restart — 重启服务(返回 202,实际由后台 worker 完成:预检依赖 → 杀掉端口上的旧监听进程 → 等端口释放 → 重新拉起 node <dsh>/lib/bin.js web → 健康确认)
- UI:会话头部(或新建会话模式选择器)旁的状态点,点击可确认重启;重启完成后页面自动刷新
- 重启前自动检测「正在进行」的会话,重启后向它们发送 因 DeepSeek Harness 重启导致对话中断,请继续,让 agent 接着干活
- 模型输出撞到 token 上限被截断时(前端显示「已达到输出 token 上限」)自动补发 继续,让模型接续输出(带防循环保护)

目录结构

dsh-launcher/
├── lib/
│ ├── index.js # 插件主体:状态/重启 API、状态点、续聊、截断自动继续 │ └── restart-worker.js # 重启 worker:依赖预检、杀进程、拉起、健康确认 ├── cordis.patch.yml # 组合补丁(向 web profile 插入一行) └── package.json

安装

在 profile 里安装本插件(路径按实际位置调整)
pnpm --dir %USERPROFILE%\.dsh\profiles\web add file:D:/path/to/dsh-launcher

然后把 @dsh-external/dsh-launcher 加入 %USERPROFILE%\.dsh\profiles\web\package.json 的 dsh.profile.bundles:

"dsh": {
"profile": {
"bundles": [ "...", "@dsh-external/dsh-launcher" ]
}
}

完整重启 DeepSeek Harness 即生效(GUI 状态点 + API 立即可用)。

功能

1. 状态点与一键重启

- 状态点显示在会话头部的 Agent 预设标签(「标准模式」等)右侧;新开会话页则显示在模式选择器旁。绿=在线,黄=重启中,红=离线。每 5 秒轮询。
- 点击状态点 → 确认 → POST /api/launcher/restart,worker 在后台完成重启。
- 重启完成后页面自动刷新一次(检测到后端离线并恢复后),确保拿到最新前端。

2. 重启 worker 的可靠性

restart-worker.js 自带三道保险:

| 保护 | 说明 |
| 依赖预检 | 重启前检查 profiles/web/package.json 的 bundles 是否都已安装(profile
node_modules + 引擎嵌套 node_modules 两处);缺包先自动 pnpm install,装不上则 中止重启、旧服务继续跑 |
| 健康确认 | 拉起后轮询端口最多 90 秒,成功/失败写入 dsh-web.log |
| 无控制台弹窗 | worker 与子进程均使用 windowsHide,Windows 下不弹黑色窗口 |

日志以 [launcher-worker ...] 前缀写到 dsh-web.log。

3. 重启续聊(resume-after-restart)

重启前(调用 restart() 时)枚举所有 agent,按未完成工作信号筛选会话:

- status === 'running'(执行中,含等待子代理返回);
- inbox.hasPending(队列里还有待处理消息);
- phase.kind === 'maintenance'(正在压缩等维护操作)。

命中的会话 id 写入 .dsh-launcher-resume.json(一次性,消费即删);新进程启动后通过引擎的 sessions.prompt 通道向每个会话发送一条用户消息 因 DeepSeek Harness 重启导致对话中断,请继续 —— 与浏览器发消息完全同路径, agent 会自动恢复并继续执行。失败自动重试(每会话最多 5 次,间隔 3 秒)。

4. 截断自动继续(auto-continue)

监听 session/event,命中 turn/end 且 reason.kind === 'max-tokens'(即前端「已达到输出 token 上限,回答被截断」提示)时,自动向该会话发送用户消息 继续,模型接着输出。防循环保护:

- 每会话连续自动「继续」最多 3 次;
- 同会话 5 秒冷却;
- 任何非 max-tokens 的轮次结束会重置计数;
- 只处理顶层会话(子代理暂不自动继续)。

日志:[launcher] auto-continue #N sent to <sessionId>。

日志

所有插件行为写入服务日志(默认 D:\deepseekharness\dsh-web.log):

- [launcher-worker ...] — 重启流程(预检/杀进程/拉起/健康确认)
- [launcher ...] — 续聊、自动继续、状态点相关

可选:Windows 无弹窗补丁(引擎侧)

本插件自身的子进程都带 windowsHide,但 DeepSeek Harness 引擎的 dsh-subprocess-local 默认未设置该项:当 web 服务以无控制台方式启动时,每次工具调用(pwsh/bash 等)都会弹出可见控制台窗口。可在引擎文件中追加:

dsh-subprocess-local/lib/index.js 的 spawn() 选项里加 windowsHide: true (两个 execFileSync 辅助调用同样加)。这是引擎侧补丁,随引擎更新可能丢失。

License

MIT。
预览分享卡片长什么样 ↓Nasbaye/dsh-launcher
分享 · DeepSeek Harness Hub
Nasbaye/dsh-launcher

一键重启服务并自动续聊,截断时补发继续

这是你的仓库?认领条目

回到顶部