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

桌面窗口启动器 Alvin-Somedo/dsh-app-launcher

DeepSeek Harnessv0.0.5
Alvin-Somedo63 天前有提交已提供中文文档扫描:含敏感能力

把网页界面变成独立应用窗口,关闭即退出进程

29.3/100
综合分
1
GitHub 星标
46
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-app-launcher
npm 源 · dsh-app-launcher 的发布者账号已校验与本仓库一致

状态速览

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

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

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 19:20:56

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

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 15 处,展示前 14 条)
  • 读取本地文件
    lib/index.js:49
    return JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version || "0.0.0";
  • 写入本地文件
    lib/index.js:161
    writeFileSync(ps1Path, "\uFEFF" + script, "utf8");
  • 执行外部命令固定命令
    lib/index.js:170
    child = spawn("powershell.exe", [
  • 读取本地文件
    lib/index.js:215
    raw = readFileSync(path, "utf8");
  • 写入本地文件
    lib/index.js:234
    mkdirSync(dirname(path), { recursive: true });
  • 写入本地文件
    lib/index.js:236
    writeFileSync(tmp, JSON.stringify(state));
  • 写入本地文件
    lib/index.js:237
    renameSync(tmp, path);
  • 写入本地文件
    lib/index.js:265
    mkdirSync(prefsDir, { recursive: true });
  • 读取本地文件
    lib/index.js:268
    if (existsSync(prefsPath)) {
  • 读取本地文件
    lib/index.js:269
    const raw = readFileSync(prefsPath, "utf8");
  • 写入本地文件
    lib/index.js:281
    writeFileSync(prefsPath, JSON.stringify(prefs));
  • 读取本地文件
    lib/index.js:460
    const browser = (preferred.find((c) => existsSync(c.exe)))
  • 读取本地文件
    lib/index.js:461
    ?? candidates.find((c) => existsSync(c.exe));
  • 执行外部命令来自配置/变量
    lib/index.js:506
    child = spawn(browser.exe, args, { stdio: "ignore" });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

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

功能亮点

  • 网页界面转为独立窗口
  • 关闭窗口退出进程

把 DSH Web GUI 变成"桌面应用":以独立应用窗口打开,关闭窗口即优雅退出整个 DSH 进程

README

由 DeepSeek 最新模型翻译生成
dsh-app-launcher 把 DSH Web GUI 变成“桌面应用”:以独立应用窗口打开,关闭窗口即优雅退出整个 DSH 进程(appExit),npx/cmd 包装进程随之自动结束;Windows 下默认还会在桌面自动生成 DSH.lnk 一键启动快捷方式。 行为 1. web 服务器绑定成功(webServer 服务出现)后,用 专用浏览器配置目录(/app-window/)打开 Chrome/Edge 应用窗口,不影响日常浏览器;窗口 URL 自带进程 token(connection.authenticatedUrl)— dsh web 现在对首页请求做认证,不带 token 只会看到“未认证”页; 2. 关闭该窗口 → 插件调用 appExit(0) → DSH 进程优雅退出(先 dispose 整棵树); 3. Windows:createShortcut(默认开启)自动生成桌面快捷方式(详见下方); 4. disableSpellcheck(默认开启):应用窗口里不再出现红色拼写波浪线——注入页面的脚本把输入框的 spellcheck 置为 false(随界面重渲染自动维持),并把配置目录里 “在网页上输入文字时检查是否有拼写错误”总开关对应的偏好设为关闭;
展开完整文档(README 剩余 1 节)
dsh-app-launcher

把 DSH Web GUI 变成“桌面应用”:以独立应用窗口打开,关闭窗口即优雅退出整个 DSH 进程(appExit),npx/cmd 包装进程随之自动结束;Windows 下默认还会在桌面自动生成 DSH.lnk 一键启动快捷方式。

行为

1. web 服务器绑定成功(webServer 服务出现)后,用 专用浏览器配置目录(/app-window/)打开 Chrome/Edge 应用窗口,不影响日常浏览器;窗口 URL 自带进程 token(connection.authenticatedUrl)— dsh web 现在对首页请求做认证,不带 token 只会看到“未认证”页;
2. 关闭该窗口 → 插件调用 appExit(0) → DSH 进程优雅退出(先 dispose 整棵树);
3. Windows:createShortcut(默认开启)自动生成桌面快捷方式(详见下方);
4. disableSpellcheck(默认开启):应用窗口里不再出现红色拼写波浪线——注入页面的脚本把输入框的 spellcheck 置为 false(随界面重渲染自动维持),并把配置目录里 “在网页上输入文字时检查是否有拼写错误”总开关对应的偏好设为关闭;
5. rememberWindow(默认开启):记住应用窗口的大小、位置和最大化状态——页面探针定期把窗口几何(screenX/screenY/outerWidth/outerHeight)和最大化判断上报给本地路由并落盘;下次启动时,若上次是最大化则只传 --start-maximized 最大化打开(不传位置/尺寸——带上它们 Chromium 会以普通窗口按该尺寸打开,把最大化顶掉),否则用 --window-size/--window-position 原样恢复大小和位置。

安装

需要 pnpm:npm i -g pnpm 或 corepack enable。

从 GitHub 安装(推荐)

dsh plugin --profile web add github:Alvin-Somedo/dsh-app-launcher

从 npm 安装

dsh plugin --profile web add dsh-app-launcher

安装后下次启动生效 dsh web(或 npx @deepseek-ai/dsh web)生效。

配置

在 ~/.dsh/profiles/web/cordis.patch.yml 里按 id 覆盖(不要写 insert,插件行由 bundle 自带):

- id: app-launcher
config:
enabled: true # false = 完全停用 openOnStart: true # 启动时打开窗口 exitOnClose: true # 关窗即退出 DSH browser: auto # auto | chrome | edge profileDir: C:\custom\profile # 自定义浏览器配置目录 disableSpellcheck: true # 默认开启:应用窗口关闭拼写检查(页面级 spellcheck=false + 配置目录偏好);false = 关闭 rememberWindow: true # 默认开启:记住窗口大小/位置/最大化状态,下次启动恢复(最大化则 --start-maximized);false = 关闭 windowStateFile: ... # 窗口几何状态文件,默认 /app-window/window-state.json createShortcut: true # 默认开启:启动时自动在桌面创建“隐藏启动 DSH”快捷方式(仅 Windows);false = 关闭 shortcutName: DSH # 快捷方式名(不含 .lnk),默认 DSH launcherDir: ... # 生成的 start-dsh.vbs / dsh.ico 存放目录,默认 /launcher desktopDir: ... # 快捷方式生成位置,默认真实桌面

createShortcut(默认开启)会生成:

- /launcher/start-dsh.vbs — 隐藏启动 npx --yes @deepseek-ai/dsh web --no-open (--no-open 阻止 DSH 另开默认浏览器,窗口由插件打开);
- /launcher/dsh.ico — 内置的 DSH 图标;
- 桌面 DSH.lnk — 指向 wscript + 上面的 vbs。

dsh.ico 与桌面 DSH.lnk 已存在时不会被覆盖(生成时会跳过);start-dsh.vbs 内嵌插件版本标记,升级后下次启动发现版本不一致会自动重建,因此启动命令的调整随升级自动生效。
桌面快捷方式只负责“不打开终端也能启动”;窗口打开与关窗退出仍由插件完成。

卸载

dsh plugin --profile web remove dsh-app-launcher

或手动:从 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 移除包名,删除 ~/.dsh/profiles/node_modules/dsh-app-launcher。

升级插件:dsh plugin --profile web update(或 remove 后重新 add 新标签)。
预览分享卡片长什么样 ↓Alvin-Somedo/dsh-app-launcher
分享 · DeepSeek Harness Hub
Alvin-Somedo/dsh-app-launcher

把网页界面变成独立应用窗口,关闭即退出进程

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