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

桌面守护启动器 Xcy1234567890/dsh-desktop

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

把网页版打包成桌面应用,崩溃自动回滚插件

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · desktop
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/02·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 77 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 48 处,展示前 26 条)
  • 读取本地文件
    lib/dsh-common.cjs:48
    return sha256(readFileSync(p));
  • 读取本地文件
    lib/dsh-common.cjs:56
    return JSON.parse(readFileSync(p, "utf8"));
  • 写入本地文件
    lib/dsh-common.cjs:63
    mkdirSync(path.dirname(p), { recursive: true });
  • 写入本地文件
    lib/dsh-common.cjs:65
    writeFileSync(tmp, JSON.stringify(obj, null, 2), "utf8");
  • 写入本地文件
    lib/dsh-common.cjs:66
    renameSync(tmp, p);
  • 读取本地文件
    lib/dsh-common.cjs:77
    if (existsSync(path.join(up, "config.json"))) return up;
  • 读取本地文件
    lib/dsh-common.cjs:81
    if (existsSync(path.join(exeDir, "config.json"))) return exeDir;
  • 读取本地文件
    lib/dsh-common.cjs:83
    if (existsSync(path.join(up, "config.json"))) return up;
  • 写入本地文件
    lib/dsh-common.cjs:137
    mkdirSync(d, { recursive: true });
  • 写入本地文件
    lib/dsh-common.cjs:149
    mkdirSync(path.dirname(file), { recursive: true });
  • 写入本地文件
    lib/dsh-common.cjs:150
    appendFileSync(file, `[${ts()}] ${msg}\n`, "utf8");
  • 执行外部命令固定命令
    lib/dsh-common.cjs:187
    const r = spawnSync("netstat", ["-ano", "-p", "tcp"], {
  • 发起网络请求
    lib/dsh-common.cjs:206
    const req = http.get(url, { timeout: timeoutMs }, (res) => {
  • 读取本地文件
    lib/dsh-common.cjs:238
    if (path.isAbsolute(c) && existsSync(c)) return c;
  • 执行外部命令固定命令
    lib/dsh-common.cjs:240
    const r = spawnSync("where", ["node"], { encoding: "utf8", windowsHide: true });
  • 执行外部命令固定命令
    lib/dsh-common.cjs:275
    spawnSync("taskkill", ["/pid", String(pid), "/t", "/f"], {
  • 执行外部命令来自配置/变量
    lib/dsh-common.cjs:288
    const child = spawn(nodeExe, args, {
  • 执行外部命令固定命令
    lib/dsh-common.cjs:324
    spawn("cmd", ["/c", "start", "", url], {
  • 删除本地文件递归
    lib/dsh-common.cjs:520
    rmSync(target, { recursive: true, force: true });
  • 删除本地文件递归
    lib/dsh-common.cjs:555
    rmSync(target, { recursive: true, force: true });
  • 写入本地文件
    tmp-test/mutate-bad.cjs:7
    function w(p, c) { fs.mkdirSync(path.dirname(p), { recursive: true }); fs.writeFileSync(p, c, "utf8"); }
  • 删除本地文件
    tmp-test/mutate-bad.cjs:10
    fs.rmSync(path.join(nm, "good-plugin"), { recursive: true, force: true });
  • 读取本地文件
    tmp-test/mutate-bad.cjs:19
    const pkg = JSON.parse(fs.readFileSync(path.join(web, "package.json"), "utf8"));
  • 写入本地文件
    tmp-test/mutate-bad.cjs:21
    fs.writeFileSync(path.join(web, "package.json"), JSON.stringify(pkg, null, 2), "utf8");
  • 写入本地文件
    tmp-test/setup-fake.cjs:5
    function w(p, c) { fs.mkdirSync(path.dirname(p), { recursive: true }); fs.writeFileSync(p, c, "utf8"); }
  • 删除本地文件
    tmp-test/setup-fake.cjs:8
    fs.rmSync(home, { recursive: true, force: true });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 网页打包为桌面应用
  • 实时插件与报错日志
  • 插件崩溃自动回滚

DSH 桌面版启动器 + 守护 AI:把 DeepSeek Harness Web 打包成桌面应用,实时插件/报错日志,插件崩溃自动回滚

README

由 DeepSeek 最新模型翻译生成
DSH 桌面版 + 守护 AI 把网页版 DeepSeek Harness(DSH)打包成桌面应用(真实单文件 .exe,基于 Node SEA),并附带一个守护 AI:监控运行状态、记录插件安装与报错的实时日志、在插件导致崩溃时自动回滚到上一个健康版本。 - 生成产物:dist\DSH Desktop.exe(启动器)、dist\DSH Guardian.exe(守护 AI) - 运行日志:%USERPROFILE%\.dsh\logs\(可通过环境变量 DSH_LOG_DIR 覆盖) 下载 无需构建,直接下载编译好的 exe(Windows 10/11): | 文件 | 说明 | | DSH Desktop.exe | 启动器:自动启动/打开 DSH Web,实时日志窗口 | | DSH Guardian.exe | 守护 AI:健康监控 + 插件崩溃自动回滚 | 也可访问 Releases 页面 查看所有版本。 运行前请确认:已安装 Node.js(≥ 20,建议 22+),并已通过 npx @deepseek-ai/dsh web 初始化过 DSH(~/.dsh/profiles/web 存在)。
展开完整文档(README 剩余 1 节)
DSH 桌面版 + 守护 AI

把网页版 DeepSeek Harness(DSH)打包成桌面应用(真实单文件 .exe,基于 Node SEA),并附带一个守护 AI:监控运行状态、记录插件安装与报错的实时日志、在插件导致崩溃时自动回滚到上一个健康版本。

- 生成产物:dist\DSH Desktop.exe(启动器)、dist\DSH Guardian.exe(守护 AI)
- 运行日志:%USERPROFILE%\.dsh\logs\(可通过环境变量 DSH_LOG_DIR 覆盖)

下载

无需构建,直接下载编译好的 exe(Windows 10/11):

| 文件 | 说明 |
| DSH Desktop.exe | 启动器:自动启动/打开 DSH Web,实时日志窗口 |
| DSH Guardian.exe | 守护 AI:健康监控 + 插件崩溃自动回滚 |

也可访问 Releases 页面 查看所有版本。

运行前请确认:已安装 Node.js(≥ 20,建议 22+),并已通过 npx @deepseek-ai/dsh web 初始化过 DSH(~/.dsh/profiles/web 存在)。

功能一览

DSH 桌面版(启动器)
- 自动检测:DSH Web 已在运行则进入监控模式(不重复启动);否则自动启动 dsh web(等价于 npx @deepseek-ai/dsh web)。
- 自动打开浏览器:服务器就绪后自动打开 Web 界面。
- 实时日志:服务器输出(含插件安装过程与报错)实时显示并写入:
- logs\dsh-desktop.log — 完整日志
- logs\events.jsonl — 结构化事件流(plugin_change_detected / server_error / server_exited)
- 窗口快捷键:Q 退出(若服务器由本启动器拉起则一并关闭)、R 重启、H 健康检查、L 最近日志。

DSH 守护 AI(监控 + 自动回滚)
- 健康监控:默认每 5 秒探测 Web 服务器,状态写入 logs\guardian\state.json。
- 插件变更检测:监控 ~\.dsh\profiles\web(package.json / 锁文件 / patch 配置),安装/卸载/升级插件实时记录。
- 健康快照:服务器健康且稳定时建立硬链接快照(几乎不占额外空间),存于 logs\guardian\checkpoints\last-good\,历史保留 20 份。
- 崩溃自动回滚:服务器在插件变更后 15 分钟(隔离窗口)内崩溃(连续 3 次探测失败)→ 自动恢复上一个健康快照、移除新增坏插件、还原被改动插件、尝试重启服务器,并生成回滚报告 logs\guardian\alerts\rollback-.md。
- 错误风暴回滚:插件变更后 60 秒内出现 ≥ 8 条错误日志同样触发回滚。
- 防误伤:崩溃与近期插件变更无关时仅告警;回滚后有 5 分钟冷却期,避免死循环。
- 窗口快捷键:Q 退出、R 强制重启、C 立即快照、S 打印状态。

说明:若服务器不是由启动器/守护启动的,守护 AI 检测到崩溃后会只回滚文件、不自动杀进程,避免误杀用户正在使用的会话;需要自动重启时加 --force-restart。

快速开始

1. 前提
- Windows 10/11,安装 Node.js(≥ 20,建议 22+;打包 exe 需 Node 24 的 SEA 特性,构建脚本会自动检测)。
- 已通过 npx @deepseek-ai/dsh web 初始化过 DSH(~/.dsh/profiles/web 存在)。

2. 构建(生成 exe + 桌面快捷方式 + 配置) powershell -ExecutionPolicy Bypass -File \build.ps1 构建内容:PNG → 多尺寸 ICO(可选)→ 生成 config.json(自动探测 node / dsh CLI)→ 用 postject 把源码打包成单文件 exe → 在桌面创建 DSH 桌面版 与 DSH 守护AI 两个快捷方式。

首次构建会从 npm 镜像下载 postject(tools/ 目录)。

3. 使用
- 双击桌面 DSH 桌面版:自动启动/打开 DSH Web,黑色窗口为实时日志,可最小化。
- 双击桌面 DSH 守护AI:常驻监控,插件引发崩溃时自动回滚。

4. 自定义图标(可选)把 whale-girl-transparent.png 放入项目目录,然后运行: powershell -ExecutionPolicy Bypass -File \refresh-shortcuts.ps1

日志文件一览(%USERPROFILE%\.dsh\logs\)

| 文件 | 内容 |
| dsh-desktop.log | 启动器/服务器完整实时日志 |
| events.jsonl | 结构化事件流(插件变更、报错、崩溃、回滚、快照) |
| runtime.json | 启动器运行时状态(托管 PID、健康状态) |
| guardian\guardian.log | 守护 AI 实时日志 |
| guardian\state.json | 守护 AI 状态(服务器在线、错误数、快照/回滚时间) |
| guardian\checkpoints\ | 健康快照(last-good 滚动 + history 历史) |
| guardian\alerts\ | 回滚/告警报告(Markdown) |
| commands\commands.json | 启动器与守护之间的命令通道 |

环境变量

| 变量 | 作用 |
| DSH_HOME | DSH 主目录(默认 ~/.dsh) |
| DSH_LOG_DIR | 日志目录(默认 $DSH_HOME\logs) |
| DSH_PORT | 覆盖端口(默认 3080) |
| DSH_DESKTOP_DIR | 项目目录(默认自动探测) |
| DSH_NODE | 指定 node.exe 路径 |
| DSH_CLI | 指定 dsh CLI 的 bin.js 路径 |

项目结构

dsh-desktop/
├── dsh-desktop.cjs 启动器源码(CJS) ├── dsh-guardian.cjs 守护 AI 源码 ├── lib/dsh-common.cjs 共享引擎(配置/日志/健康检查/快照回滚) ├── build.ps1 一键构建(图标→config→SEA exe→快捷方式) ├── refresh-shortcuts.ps1 刷新图标/快捷方式 ├── make-icon.ps1 PNG → 多尺寸 ICO ├── config.example.json config.json 字段参考 ├── package.json ├── README.md └── tmp-test/ 回归测试脚本(mock 服务器 / 假 profile / 故障注入)

构建原理:Node SEA(Single Executable Application) 把启动器/守护 AI 打包成免安装单文件 exe(构建时内联共享引擎,仅依赖 Node 内置模块)。

回归测试(可选)

tmp-test/ 提供一套不依赖真实环境的故障注入测试:

node tmp-test/setup-fake.cjs \fakehome # 构造假 profile
node tmp-test/mock-server.cjs 3999 # 模拟 Web 服务器
以假环境启动守护 AI: $env:DSH_HOME="\fakehome"; $env:DSH_PORT="3999"; $env:DSH_LOG_DIR="\logs" DSH Guardian.exe --interval 2000 --quarantine 60
node tmp-test/mutate-bad.cjs \fakehome # 注入坏插件
杀掉 mock-server 模拟崩溃 → 守护 AI 应自动回滚

致谢与版权

- 图标素材 whale-girl-transparent.png 来自 fornarwhal/deepseek-whale-girl-icon,版权归原作者所有;本仓库不包含该文件,请自行获取。
- 本仓库基于 MIT License。
- 依赖 DeepSeek Harness(dsh)与 postject。
预览分享卡片长什么样 ↓Xcy1234567890/dsh-desktop
分享 · DeepSeek Harness Hub
Xcy1234567890/dsh-desktop

把网页版打包成桌面应用,崩溃自动回滚插件

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部