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

Linux 桌面外壳 hashernom/dsh-linux-desktop

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

用原生窗口运行 dsh,常驻托盘随时秒开

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · dev
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 10 天前
档位由哪些信号合成

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

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

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 19 处,展示前 15 条)
  • 读取本地文件
    main.js:83
    return { ...DEFAULT_PREFERENCES, ...JSON.parse(fs.readFileSync(PREFERENCES_FILE, 'utf8')) }
  • 写入本地文件
    main.js:94
    fs.writeFileSync(PREFERENCES_FILE, JSON.stringify(preferences, null, 2))
  • 写入本地文件
    main.js:101
    fs.mkdirSync(LOG_DIR, { recursive: true })
  • 写入本地文件
    main.js:106
    fs.appendFileSync(DESKTOP_LOG, `[${new Date().toISOString()}] ${message}\n`)
  • 读取本地文件
    main.js:114
    const stat = fs.statSync(SERVER_LOG)
  • 写入本地文件
    main.js:115
    if (stat.size > 5 * 1024 * 1024) fs.renameSync(SERVER_LOG, `${SERVER_LOG}.1`)
  • 写入本地文件
    main.js:118
    fs.appendFileSync(SERVER_LOG, chunk)
  • 读取本地文件
    main.js:126
    return fs.statSync(file).isFile() && (fs.accessSync(file, fs.constants.X_OK), true)
  • 读取本地文件
    main.js:136
    versions = fs.readdirSync(base)
  • 执行外部命令来自配置/变量
    main.js:273
    child = spawn(dshBin, ['web', '--no-open', '--port', '0'], {
  • 读取本地文件
    main.js:377
    return JSON.parse(fs.readFileSync(WINDOW_STATE_FILE, 'utf8'))
  • 写入本地文件
    main.js:387
    fs.writeFileSync(
  • 读取本地文件
    main.js:427
    return fs.existsSync(AUTOSTART_FILE)
  • 删除本地文件
    main.js:436
    fs.rmSync(AUTOSTART_FILE, { force: true })
  • 执行外部命令来自配置/变量
    main.js:659
    child = spawn(bin, args, {
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

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

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

非官方 DeepSeek Harness Linux 桌面外壳,用 Electron 封装 dsh web,带托盘、桌面集成和更新

README

由 DeepSeek 最新模型翻译生成
DSH Desktop(Linux) 非官方 Linux 桌面外壳,面向 DeepSeek Harness。 用原生 Electron 窗口包住 dsh web:没有浏览器,没有标签页,自带图标、系统托盘和桌面集成。它复用你已通过 npm 装好的 dsh,所以会话、MCP 服务器、技能和凭据都原样留在 ~/.dsh 里。 与 DeepSeek 无隶属关系,未获其背书,也不由其提供支持。见 NOTICE。 Splash 为什么做这个 官方桌面应用只提供 macOS 和 Windows 版本。这个项目补上 Linux 的空缺:把命令行已经提供的 Web 配置档包起来,不用构建 monorepo,也不动你现有的 DSH 环境。 功能 - 原生窗口,自带图标——没有浏览器,没有地址栏。 - 每次启动独立服务器:运行 dsh web --no-open --port 0,解析出带认证的 URL 并加载;退出时杀掉整个进程组(服务器加上所有 MCP 子进程)。 - 系统托盘:关闭窗口只是隐藏,会话保持热着;随时秒开。菜单含打开、新建会话、重启服务器、日志和退出。 - 桌面集成:.desktop 条目、hicolor 图标、dsh-desktop 命令,可选开机自启。
展开完整文档(README 剩余 1 节)
DSH Desktop(Linux)

非官方 Linux 桌面外壳,面向 DeepSeek Harness。

用原生 Electron 窗口包住 dsh web:没有浏览器,没有标签页,自带图标、系统托盘和桌面集成。它复用你已通过 npm 装好的 dsh,所以会话、MCP 服务器、技能和凭据都原样留在 ~/.dsh 里。

与 DeepSeek 无隶属关系,未获其背书,也不由其提供支持。见 NOTICE。

Splash

为什么做这个

官方桌面应用只提供 macOS 和 Windows 版本。这个项目补上 Linux 的空缺:把命令行已经提供的 Web 配置档包起来,不用构建 monorepo,也不动你现有的 DSH 环境。

功能

- 原生窗口,自带图标——没有浏览器,没有地址栏。
- 每次启动独立服务器:运行 dsh web --no-open --port 0,解析出带认证的 URL 并加载;退出时杀掉整个进程组(服务器加上所有 MCP 子进程)。
- 系统托盘:关闭窗口只是隐藏,会话保持热着;随时秒开。菜单含打开、新建会话、重启服务器、日志和退出。
- 桌面集成:.desktop 条目、hicolor 图标、dsh-desktop 命令,可选开机自启。
- 更新:在 npm 上检查 @deepseek-ai/dsh(手动或每天静默一次),用 npm 安装并重启服务器。
- 感知沙箱:系统允许时启用 Chromium 沙箱;在 Ubuntu 24.04+ 这类 AppArmor 拦截非特权用户命名空间的环境里,回退到 --no-sandbox。

环境要求

- Linux(X11 或 Wayland;开发环境为 Ubuntu 26.04 + KDE Plasma 6 Wayland)
- Node.js 20+ 和 npm
- 已安装 dsh:npm i -g @deepseek-ai/dsh

安装

git clone https://github.com/<you>/dsh-linux-desktop.git
cd dsh-linux-desktop
./install.sh

install.sh 会装到 ~/.local/share/dsh-linux-desktop,首次运行下载 Electron(约 275 MB),并注册启动器、图标和桌面条目。

就地安装(不复制,改代码时很方便):

DSH_DESKTOP_INSTALL_DIR=$PWD ./install.sh

卸载:

./uninstall.sh # keeps ~/.dsh and the app state directory

使用

- 应用菜单 → DSH Desktop
- 桌面图标 → DSH Desktop
- 终端 → dsh-desktop

关闭窗口会隐藏到托盘。要真正退出,用托盘菜单里的 Salir。取消勾选 "Cerrar la ventana la oculta" 可恢复为关闭即退出。

更新

- 手动:Ayuda → Buscar actualizaciones…(托盘里也有同一项)。显示已装版本与可用版本,附 Actualizar ahora / Ver novedades。
- 自动:每 12 小时静默检查一次;每个新版本只提醒一次,绝不自行安装。用 Ayuda → Comprobar al iniciar 开关。

更新时用检测到的 dsh 二进制所属的 npm(比如 nvm 那个)执行 npm install -g @deepseek-ai/dsh@latest,然后重启本地服务器。
包装器本身不会自更新:执行 git pull,如果依赖有变化,再执行 npm install。

工作原理

1. 解析 dsh 二进制文件的位置(DSH_BIN、~/.local/bin、nvm、PATH)。
2. 在独立进程组中启动 dsh web --no-open --port 0。
3. 从 stdout 读取 dsh web: http://127.0.0.1:PORT/?token=… 这一行。
4. 在窗口中加载该 URL;启动期间用启动画面遮挡。
5. 退出时向进程组发送 SIGTERM,4 秒后再发送 SIGKILL。

环境变量

| 变量 | 作用 |
| DSH_BIN | 显式指定 dsh 二进制文件的路径 |
| DSH_DESKTOP_INSTALL_DIR | install.sh 的安装目标目录 |
| DSH_DESKTOP_SANDBOX=1 | 强制启用 Chromium 沙箱 |
| DSH_DESKTOP_NO_SANDBOX=1 | 强制使用 --no-sandbox |
| DSH_DESKTOP_CAPTURE | 将窗口截图保存为 PNG 后退出(测试用) |
| DSH_DESKTOP_CAPTURE_DELAY | 截图前的等待毫秒数(默认 6000) |
| DSH_DESKTOP_TEST_HIDE | 关闭窗口并验证托盘路径 |
| DSH_DESKTOP_TEST_UPDATE | 运行更新检查后退出 |

文件

| 内容 | 位置 |
| 应用 | ~/.local/share/dsh-linux-desktop/ |
| 启动器 | ~/.local/bin/dsh-desktop |
| 菜单项 | ~/.local/share/applications/dsh-linux-desktop.desktop |
| 图标 | ~/.local/share/icons/hicolor//apps/dsh-linux-desktop. |
| 状态、偏好设置、日志 | ~/.local/state/dsh-linux-desktop/ |
| Chromium 配置档 | ~/.config/dsh-linux-desktop/ |

故障排查

tail -f ~/.local/state/dsh-linux-desktop/logs/desktop.log # app boot and errors
tail -f ~/.local/state/dsh-linux-desktop/logs/server.log # dsh web output

窗口打不开。 在终端里运行 dsh-desktop,查看 stderr 输出。如果系统禁止非特权用户命名空间,改用 DSH_DESKTOP_NO_SANDBOX=1 dsh-desktop 启动。

提示「No encuentro el ejecutable dsh」。 安装它(npm i -g @deepseek-ai/dsh),或用 DSH_BIN 指向它的位置。

许可证

MIT。见 LICENSE。
预览分享卡片长什么样 ↓hashernom/dsh-linux-desktop
分享 · DeepSeek Harness Hub
hashernom/dsh-linux-desktop

用原生窗口运行 dsh,常驻托盘随时秒开

回到顶部