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

桌面控制台 kipozannaki/dsh-gui

DeepSeek Harnessv0.0.1
kipozannaki76 天前有提交已提供中文文档扫描:含敏感能力

在桌面窗口里启动并管理 DSH 服务,免开浏览器

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

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

自动兼容检查未通过:仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add kipozannaki/dsh-gui
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →

可信度证据

安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-gui @ 0.0.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/21 23:45:09

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

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 27 处,展示前 20 条)
  • 读取本地文件
    main.js:55
    if (fs.existsSync(userHome)) return userHome;
  • 读取本地文件
    main.js:84
    const st = fs.statSync(file);
  • 写入本地文件
    main.js:86
    fs.renameSync(file, `${file}.1`);
  • 写入本地文件
    main.js:94
    return fs.createWriteStream(file, { flags: 'a' });
  • 写入本地文件
    main.js:101
    fs.appendFileSync(path.join(APP.logsDir, 'gui.log'), line + '\n');
  • 读取本地文件
    main.js:107
    const size = fs.statSync(file).size;
  • 读取本地文件
    main.js:135
    const raw = JSON.parse(fs.readFileSync(path.join(APP.dataDir, 'config.json'), 'utf8'));
  • 写入本地文件
    main.js:159
    fs.writeFileSync(path.join(APP.dataDir, 'config.json'), JSON.stringify(config, null, 2), 'utf8');
  • 执行外部命令来自配置/变量
    main.js:194
    const p = spawn(bin, ['--version'], { windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'] });
  • 执行外部命令固定命令
    main.js:205
    const p = spawn('node', ['-e', 'process.stdout.write(JSON.stringify({ v: process.version, p: process.execPath }))'], {
  • 读取本地文件
    main.js:245
    if (fs.existsSync(bin)) {
  • 写入本地文件
    main.js:302
    fs.writeFileSync(npmrc, content, 'utf8');
  • 读取本地文件
    main.js:310
    const pkg = JSON.parse(fs.readFileSync(path.join(dir, '@deepseek-ai', 'dsh', 'package.json'), 'utf8'));
  • 删除本地文件
    main.js:349
    fs.rmSync(path.join(npxRoot, entry), { recursive: true, force: true });
  • 执行外部命令来自配置/变量
    main.js:362
    p = spawn(node.bin, args, {
  • 执行外部命令固定命令
    main.js:431
    spawn('taskkill', ['/pid', String(pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore' });
  • 执行外部命令来自配置/变量
    main.js:514
    const proc = spawn(node.bin, args, {
  • 写入本地文件
    main.js:792
    fs.mkdirSync(dir, { recursive: true });
  • 删除本地文件
    main.js:805
    if (file && file.startsWith(dir)) fs.rmSync(file, { force: true });
  • 删除本地文件
    main.js:863
    fs.rmSync(APP.runtimeDir, { recursive: true, force: true });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

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

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

功能亮点

  • 图形化管理DSH服务
  • 桌面窗口启动服务

README

由 DeepSeek 最新模型翻译生成
DSH-GUI GitHub License Release DeepSeek Harness 的 Windows 桌面客户端 —— 开箱即用:自动复用系统 Node.js(版本符合要求时免内置运行时),否则使用内置 Node;通过 npx @deepseek-ai/dsh web 直接运行上游最新版,无需手动安装任何东西。 💡 macOS 版本正在开发中,敬请期待。 界面:深色现代风格(参考 Codex / Claude Code 设计语言),左侧边栏 + 顶部状态栏 + 嵌入的 DSH Web UI。 ✨ 功能特性 - 🟢 自动运行时管理:优先检测并复用系统 Node.js(≥ 22.19.0 时跳过内置运行时),不满足或缺失时自动使用内置 Node(≥ 22.19.0);DSH 通过 npx @deepseek-ai/dsh web 启动,首次运行自动下载(全程可视化进度) - 🚀 免浏览器:启动后自动在 127.0.0.1 拉起 dsh web 服务并直接嵌入窗口;端口 3080 被占用时自动改用空闲端口;窗口关闭自动终止 DSH 子进程(进程树清理,不留孤儿)
展开完整文档(README 剩余 1 节)
DSH-GUI

GitHub
License
Release

DeepSeek Harness 的 Windows 桌面客户端 —— 开箱即用:自动复用系统 Node.js(版本符合要求时免内置运行时),否则使用内置 Node;通过 npx @deepseek-ai/dsh web 直接运行上游最新版,无需手动安装任何东西。

💡 macOS 版本正在开发中,敬请期待。

界面:深色现代风格(参考 Codex / Claude Code 设计语言),左侧边栏 + 顶部状态栏 + 嵌入的 DSH Web UI。

✨ 功能特性

- 🟢 自动运行时管理:优先检测并复用系统 Node.js(≥ 22.19.0 时跳过内置运行时),不满足或缺失时自动使用内置 Node(≥ 22.19.0);DSH 通过 npx @deepseek-ai/dsh web 启动,首次运行自动下载(全程可视化进度)
- 🚀 免浏览器:启动后自动在 127.0.0.1 拉起 dsh web 服务并直接嵌入窗口;端口 3080 被占用时自动改用空闲端口;窗口关闭自动终止 DSH 子进程(进程树清理,不留孤儿)
- 🪟 桌面 GUI:Electron 原生窗口,深色现代风格(参考 Codex / Claude Code);左侧边栏(会话 / 工作区 / 日志)、顶部状态栏(服务状态实时反馈:启动中 / 运行中 / 已停止 / 错误)、自定义窗口控制
- 🎨 换肤(壁纸透出):5 套预设背景主题 + 自定义图片上传;DSH 界面所有白色区域自动透明化,壁纸完整透出而文字保持清晰;「界面透出强度」0-100% 可调,页面切换/动态渲染不失效
- 🖥️ 托盘常驻:关闭窗口最小化到系统托盘,后台服务继续运行;托盘菜单:显示主窗口 / 在浏览器中打开 / 查看日志 / 完全退出
- 🌏 国内用户优化:内置 npmmirror 镜像加速开关(默认开启),npx 下载 DSH 走国内镜像
- 🔑 首次使用引导:自动检测 API Key 是否已配置,未配置时提示前往设置页
- 🧩 npx 集成与一键更新:DSH 走 npx 本地缓存(启动快、可离线、与用户自己运行的 npx 共享缓存);上游发新版后,在「设置 → 更新 / 重装 DSH」一键清除缓存并自动重新下载最新版

📦 安装与分发

👉 下载地址:GitHub Releases(DSH-GUI-Setup-1.1.0.exe / DSH-GUI-Portable-1.1.0.exe)

| 产物 | 说明 |
| DSH-GUI-Setup-1.1.0.exe | NSIS 安装版:安装到系统,自动创建桌面快捷方式与开始菜单快捷方式,可自定义安装目录;数据存于 %APPDATA%\DSH-GUI\ |
| DSH-GUI-Portable-1.1.0.exe | 便携版:免安装、双击即用,可放 U 盘;数据存于 exe 同目录的 data\ 文件夹 |

卸载:安装版通过「控制面板 / 设置 → 应用」完整卸载程序文件;数据目录默认保留(可选手动删除 %APPDATA%\DSH-GUI)。

🛠️ 从源码构建

要求:Node.js ≥ 22(本机已装 Node 即可构建;最终产物内置自己的运行时)。

1. 安装依赖(国内镜像加速) $env:ELECTRON_MIRROR = "https://npmmirror.com/mirrors/electron/" $env:ELECTRON_BUILDER_BINARIES_MIRROR = "https://npmmirror.com/mirrors/electron-builder-binaries/"
npm install

2. 下载内置 Node 运行时(v22.x ≥ 22.19.0)
npm run fetch:node

3. 生成图标
npm run icons

4. 构建(NSIS 安装版 + 便携版)
npm run dist
单独构建:npm run dist:installer / npm run dist:portable

开发模式运行(不打包)
npm start

产物位于 dist/:DSH-GUI-Setup-1.1.0.exe、DSH-GUI-Portable-1.1.0.exe。

🧭 首次使用

1. 双击运行 DSH-GUI(安装版或便携版均可)
2. 首次启动通过 npx 自动下载 DSH 最新版——进度条实时显示
3. 服务就绪后自动加载 DSH Web UI,若未配置 API Key 会弹出引导横幅
4. 配置 API Key 后即可开始使用

🔧 数据目录

| 模式 | 位置 |
| 便携版 | exe 同目录 data\(config.json 设置、dsh-home\ DSH 主目录、logs\ 日志、themes\ 背景图) |
| 安装版 | %APPDATA%\DSH-GUI\(同上结构) |

在「设置 → 服务」中可一键打开数据 / 日志 / DSH 主目录。

📄 技术说明

- 桌面框架:Electron + electron-builder(NSIS 安装版 + portable 便携版)
- Node 运行时:启动时探测系统 Node,版本 ≥ 22.19.0 直接复用(npm/npx 同步跟随系统);否则使用内置运行时(scripts/fetch-node.mjs 从 npmmirror 下载官方 Node win-x64 并只解出运行所需文件)
- DSH 集成:main.js 用 child_process 启动 dsh web --host 127.0.0.1 --port N;有 npx 缓存时直接运行缓存中的 @deepseek-ai/dsh(等价于 npx @deepseek-ai/dsh web 解析到的结果,免网络、秒启动、可离线),无缓存时通过 npx 自动下载;端口固定并持久化(保证登录态不丢),被占用时自动改用空闲端口;DSH_HOME 优先复用用户 ~/.dsh(配置 / API Key / 会话与官方 CLI 一致)
- 版本跟随:不锁定版本,npx 下载最新版后走本地缓存;上游发新版后,在「设置 → 更新 / 重装 DSH」一键清除缓存并自动重新下载最新版
- 安全:渲染层 contextIsolation + 无 nodeIntegration,仅通过 preload 桥接白名单 IPC;DSH Web UI 以 隔离加载
- 图标:scripts/make-icon.ps1 使用 GDI+ 抗锯齿绘制(蓝紫渐变 + 字母 + 光泽)

📝 更新记录

v1.1.0(2026-08-20)

DSH 启动方式全面升级:跟随上游最新版 + 一键更新

- 🔄 去版本锁定:不再锁定 @deepseek-ai/dsh@0.1.0-rc.6,统一改为通过 npx @deepseek-ai/dsh web 启动官方最新版;复用 npx 本地缓存(启动快、可离线、与用户自己运行的 npx 共享缓存),有缓存时直接运行缓存版本,无需每次联网解析
- 🆕 「更新 / 重装 DSH」按钮:位于「设置 → 服务」,一键清除 npx 中的 DSH 缓存并自动重新下载最新版、重启服务——上游发新版后无需等客户端更新
- 📊 首次运行下载进度可视化:通过 npx 获取 DSH 时,安装覆盖层实时显示下载进度
- 🏷️ 版本号展示:About 与底部状态栏显示 DSH 实际版本号(来自 npx 缓存中的 package.json)
- 🔧 端口识别放宽:不再依赖上游特定输出格式,宽松匹配 127.0.0.1: 即视为就绪,兼容上游输出变化
- 🗑️ 旧版残留清理:启动时自动清理旧方案残留的 dsh-runtime 目录

重大修复(承接 v1.0.0 之后的修复)

- 🔑 复用用户 ~/.dsh 配置:DSH 主目录优先指向用户已有的 ~/.dsh,已配置的 API Key / 会话直接生效,不再重复输入
- 🔐 服务端口持久化:实际启动端口固定并持久化保存,DSH 前端登录态(localStorage 按 origin 存储)重启后不丢失

其他

- 移除调试用 cdp-diag 脚本;README 注明 macOS 版本开发中;CI Release 已存在时跳过覆盖更新

🤝 开源协议

MIT,与上游 deepseek-ai/deepseek-harness(MIT)保持一致。

🔗 相关链接

- 本项目仓库:github.com/kipozannaki/dsh-gui(Issues / PR 欢迎)
- Release 下载:github.com/kipozannaki/dsh-gui/releases
- 上游项目:deepseek-ai/deepseek-harness

⚠️ 免责声明

本项目为社区开源项目,与 DeepSeek 官方无隶属关系;DSH 本体(@deepseek-ai/dsh)版权归其原作者所有。
预览分享卡片长什么样 ↓kipozannaki/dsh-gui
分享 · DeepSeek Harness Hub
kipozannaki/dsh-gui

在桌面窗口里启动并管理 DSH 服务,免开浏览器

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