用原生窗口运行 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🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
hashernom/dsh-linux-desktop
用原生窗口运行 dsh,常驻托盘随时秒开
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9