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

桌面启动器 deepseek-club/dsh-desktop

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

双击图标自动启动服务并打开浏览器

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

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

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

状态速览

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

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

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 40 处,展示前 35 条)
  • 执行外部命令来自配置/变量
    lib/index.js:58
    const child = spawn(argv[0], argv.slice(1), { detached: true, stdio: 'ignore' });
  • 执行外部命令固定命令
    lib/index.js:81
    const r = spawnSync('reg', ['query', 'HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders', '/v', 'Desktop'], { encoding:
  • 读取本地文件
    lib/index.js:91
    if (existsSync(cand)) return cand;
  • 执行外部命令固定命令
    lib/index.js:110
    const r = spawnSync('powershell', args, { stdio: 'ignore', windowsHide: true });
  • 写入本地文件
    lib/index.js:114
    mkdirSync(launcherDir, { recursive: true });
  • 写入本地文件
    lib/index.js:118
    copyFileSync(join(PKG_ROOT, '..', 'launcher.bat'), batDst);
  • 写入本地文件
    lib/index.js:119
    copyFileSync(icoSrc, icoDst);
  • 写入本地文件
    lib/index.js:124
    writeFileSync(join(launcherDir, 'update.js'), readFileSync(join(PKG_ROOT, 'update.js'), 'utf8'), 'utf8');
  • 读取本地文件
    lib/index.js:124
    writeFileSync(join(launcherDir, 'update.js'), readFileSync(join(PKG_ROOT, 'update.js'), 'utf8'), 'utf8');
  • 写入本地文件
    lib/index.js:125
    writeFileSync(join(launcherDir, 'plugin-root.txt'), join(PKG_ROOT, '..'), 'utf8');
  • 写入本地文件
    lib/index.js:196
    mkdirSync(dir, { recursive: true });
  • 读取本地文件
    lib/selfcheck.js:41
    const pkg = JSON.parse(readFileSync(join(root, 'package.json'), 'utf8'));
  • 读取本地文件
    lib/selfcheck.js:89
    const fileState = (name) => (wantsShortcut ? (existsSync(join(dir, name)) ? 'ok' : 'missing') : 'n/a');
  • 读取本地文件
    lib/selfcheck.js:148
    previousVersion = JSON.parse(readFileSync(statePath, 'utf8'))?.harnessVersion;
  • 写入本地文件
    lib/selfcheck.js:152
    mkdirSync(current.dir, { recursive: true });
  • 写入本地文件
    lib/selfcheck.js:153
    writeFileSync(join(current.dir, REPORT_NAME), formatReport(status, current, previousVersion), 'utf8');
  • 写入本地文件
    lib/selfcheck.js:154
    writeFileSync(statePath, `${JSON.stringify({
  • 读取本地文件
    lib/update.js:56
    const recorded = readFileSync(join(here, 'plugin-root.txt'), 'utf8').trim();
  • 读取本地文件
    lib/update.js:57
    if (recorded !== '' && existsSync(recorded)) return recorded;
  • 读取本地文件
    lib/update.js:60
    const recorded = readFileSync(join(launcherDir, 'plugin-root.txt'), 'utf8').trim();
  • 读取本地文件
    lib/update.js:61
    if (recorded !== '' && existsSync(recorded)) return recorded;
  • 读取本地文件
    lib/update.js:69
    const value = JSON.parse(readFileSync(file, 'utf8'))?.version;
  • 发起网络请求
    lib/update.js:97
    const res = await fetch(url, {
  • 读取本地文件
    lib/update.js:162
    try { return JSON.parse(readFileSync(join(defaultLauncherDir(), STATE_NAME), 'utf8')); } catch { return {}; }
  • 写入本地文件
    lib/update.js:167
    mkdirSync(defaultLauncherDir(), { recursive: true });
  • 写入本地文件
    lib/update.js:168
    writeFileSync(join(defaultLauncherDir(), STATE_NAME), `${JSON.stringify(state, null, 2)}\n`, 'utf8');
  • 执行外部命令固定命令
    lib/update.js:176
    const out = execFileSync('cmd', ['/c', `netstat -ano | findstr /c:":${port} " | findstr /c:"LISTENING"`], { encoding: 'utf8', windowsHide: true, stdio
  • 发起网络请求
    lib/update.js:184
    const res = await fetch(url, { signal: AbortSignal.timeout(60_000) });
  • 写入本地文件
    lib/update.js:187
    mkdirSync(tmpDir, { recursive: true });
  • 写入本地文件
    lib/update.js:188
    writeFileSync(zip, Buffer.from(await res.arrayBuffer()));
  • 执行外部命令固定命令
    lib/update.js:189
    execFileSync('powershell', ['-NoProfile', '-Command',
  • 删除本地文件递归
    lib/update.js:207
    rmSync(tmpDir, { recursive: true, force: true });
  • 写入本地文件
    lib/update.js:211
    mkdirSync(backup, { recursive: true });
  • 删除本地文件递归
    lib/update.js:223
    rmSync(tmpDir, { recursive: true, force: true });
  • 执行外部命令来自配置/变量
    lib/update.js:231
    const out = execFileSync(npm, ['install', '-g', `${NPM_PACKAGE}@latest`], { encoding: 'utf8', windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'] });
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 双击图标启动服务
  • 自动检测运行环境
  • 自动打开浏览器
展开完整介绍(185 字)↓

DSH Desktop 不用 CMD,一键启动 DeepSeek Harness! DSH Desktop 是 DeepSeek Harness 的桌面启动插件。双击图标,即可自动检查运行环境、启动 Web 服务并打开浏览器,像使用普通软件一样简单。 无需命令行 · 自动检测环境 · 自动启动服务 · 自动打开浏览器 Windows 安装后,还会自动创建桌面快捷方式。

README

由 DeepSeek 最新模型翻译生成
dsh-desktop DeepSeek Harness 的「桌面启动器」——让 AI 开发工具像普通软件一样,双击图标就能用。 一键启动 DeepSeek Harness Web GUI:双击 → 服务启动 → 浏览器自动打开。装完插件,桌面快捷方式自动出现,零手动步骤。 核心卖点 - 零心智负担:不用记命令、不用敲路径,双击桌面图标自动搞定一切 - 开箱即体验:装完插件,快捷方式自动出现在桌面(Windows 自动创建,含自定义图标) - 跨平台可用:Windows / macOS / Linux 一套插件方案——自动开浏览器全平台一致;桌面快捷方式当前为 Windows 专属(macOS/Linux 可手动添加,见下文) 前置要求(使用者需要) - 已安装 DeepSeek Harness:npm install -g @deepseek-ai/dsh - 已安装 pnpm ≥ 9(dsh plugin 命令依赖它;corepack enable 或 npm install -g pnpm) - 使用 github: 方式安装需要 git 可用;国内网络访问 GitHub 可能需要加速(如 Watt Toolkit)
展开完整文档(README 剩余 1 节)
dsh-desktop

DeepSeek Harness 的「桌面启动器」——让 AI 开发工具像普通软件一样,双击图标就能用。

一键启动 DeepSeek Harness Web GUI:双击 → 服务启动 → 浏览器自动打开。装完插件,桌面快捷方式自动出现,零手动步骤。

核心卖点

- 零心智负担:不用记命令、不用敲路径,双击桌面图标自动搞定一切
- 开箱即体验:装完插件,快捷方式自动出现在桌面(Windows 自动创建,含自定义图标)
- 跨平台可用:Windows / macOS / Linux 一套插件方案——自动开浏览器全平台一致;桌面快捷方式当前为 Windows 专属(macOS/Linux 可手动添加,见下文)

前置要求(使用者需要)

- 已安装 DeepSeek Harness:npm install -g @deepseek-ai/dsh
- 已安装 pnpm ≥ 9(dsh plugin 命令依赖它;corepack enable 或 npm install -g pnpm)
- 使用 github: 方式安装需要 git 可用;国内网络访问 GitHub 可能需要加速(如 Watt Toolkit)
- 国内网络拉取 npm 依赖较慢时,可先配置镜像:pnpm config set registry https://registry.npmmirror.com

组成部分

| 部件 | 说明 |
| 本仓库(package.json + cordis.patch.yml + lib/) | dsh 插件:① 服务就绪后自动打开浏览器;② Windows 下自动把 launcher.bat + 鲸鱼娘图标落盘到 ~/.dsh/launchers/ 并在桌面创建/更新快捷方式(后续每次启动自动同步图标,更新插件即更新图标) |
| launcher.bat | 独立启动脚本:检查 node/dsh 环境 → 检查 3080 端口 → 未运行则新开服务窗口 → 就绪后打开浏览器(不依赖插件也能用) |

二者配合:bat 负责"检查 + 启动服务",插件负责"自动开浏览器 + 桌面快捷方式"。

安装插件

方式一:本地路径(最快)

git clone https://github.com/DeepSeek-club/dsh-desktop.git
dsh plugin --profile web add ./dsh-desktop

方式二:GitHub 直装(无需克隆,需 pnpm ≥ 9 且 git 可用)

dsh plugin --profile web add 'github:DeepSeek-club/dsh-desktop'

方式三:npm(若已发布)

dsh plugin --profile web add @deepseek-club/dsh-desktop

装完重启一次 dsh web,之后每次启动服务,浏览器会自动打开 http://127.0.0.1:3080。

插件配置

在 ~/.dsh/profiles/web/cordis.patch.yml 中按 id 覆盖:

- id: dsh-desktop
config:
enabled: true # 设为 false 关闭自动打开浏览器 delayMs: 500 # 服务就绪后的等待毫秒数 url: http://127.0.0.1:3080 # 自定义 URL(默认取实际监听端口) shortcut: enabled: true # Windows 下自动创建/更新桌面快捷方式 shortcutName: DSH Desktop # 快捷方式名(不含 .lnk) icon: mascot # 图标名(包内 mascot.ico),或任意 .ico 的绝对路径 description: 一键启动 DeepSeek Harness Web 界面(鲸鱼娘版)

快捷方式每次启动都会重新落盘 bat + 图标并刷新 lnk,因此更新插件版本后图标自动跟随更新。

卸载

dsh plugin --profile web remove @deepseek-club/dsh-desktop

卸载不会删除已生成的桌面快捷方式;如需移除请手动删除桌面的 DSH Desktop.lnk 和 ~/.dsh/launchers/ 目录。

工作原理

插件挂在 dsh 的 webRuntime 服务钩子上(该服务在 Web 服务器完成绑定后才提供),激活后:
1. 按平台调用系统命令打开浏览器(Windows cmd /c start、macOS open、Linux xdg-open),以 detached + unref 方式运行,不阻塞宿主进程;
2. Windows 下通过注册表解析真实桌面路径,用 PowerShell WScript.Shell 创建 .lnk(目标指向落盘到 ~/.dsh/launchers/launcher.bat,图标为包内自带的 .ico)。

独立使用 bat(不装插件)

双击 launcher.bat 即可:自动检查 node/dsh(缺失时提示 npm install -g @deepseek-ai/dsh)→ 若 3080 已在监听则只开浏览器 → 否则新开服务器窗口并轮询就绪后打开浏览器。关闭 "DeepSeek Harness Server" 窗口即停止服务。

macOS / Linux 手动添加快捷方式

插件在 macOS / Linux 只自动开浏览器,不创建桌面快捷方式(Windows 专属)。想同样"双击即用",可手动创建:

- macOS:用 Automator 新建一个"应用程序"(运行 Shell 脚本 dsh web),拖到桌面即可;或把 dsh web 存为 DSH Desktop.command 双击运行
- Linux(GNOME/KDE):在 ~/.local/share/applications/ 放一个 .desktop 文件,Exec=dsh web,Icon 可指向 mascot.ico(如需 png,可用 ImageMagick 转换)

图标版权

- 包内只附带一个图标 mascot.ico:仓库维护者自有素材,无额外限制。
- 代码部分:MIT
- 想换图标:把 shortcut.icon 指向你自己的 .ico,或直接替换包内的 mascot.ico。

许可

MIT(图标除外,见上节)
预览分享卡片长什么样 ↓deepseek-club/dsh-desktop
分享 · DeepSeek Harness Hub
deepseek-club/dsh-desktop

双击图标自动启动服务并打开浏览器

这是你的仓库?认领条目

回到顶部