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

Web 一键启动器 ayingQAQ/dsh-web-launcher

DeepSeek 客户端v0.3.2
ayingQAQ21 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

Windows 上的 DeepSeek Harness Web 一键启动器|One-click launcher…

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/ayingQAQ/dsh-web-launcher.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 21 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

npm 同名包「dsh-web-launcher」归属 hanwuji1/dsh-web-launcher,装到的可能不是本插件

展开查看检查明细 ↓

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

✓npm 包dsh-web-launcher @ 0.3.2
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/27 17:54:36

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 51 处,展示前 32 条)
  • 发起网络请求
    client/client.js:32
    const response = await fetch(path, {
  • 读取本地文件
    src/index.js:29
    const packageInfo = JSON.parse(await readFile(packagePath, 'utf8'))
  • 写入本地文件
    src/index.js:56
    mkdirSync(appDir, { recursive: true })
  • 写入本地文件
    src/index.js:58
    writeFileSync(errorRunnerPath, makeErrorRunner(), 'utf8')
  • 执行外部命令固定命令
    src/index.js:59
    spawnSync('wscript.exe', ['//Nologo', errorRunnerPath, title, message], { windowsHide: true, stdio: 'ignore', timeout: 20_000 })
  • 执行外部命令固定命令
    src/index.js:64
    const choice = spawnSync('reg.exe', ['query', 'HKCU\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice', '/v', 'Pro
  • 执行外部命令固定命令
    src/index.js:68
    const command = spawnSync('reg.exe', ['query', `HKCR\\${progId}\\shell\\open\\command`, '/ve'], { encoding: 'utf8', windowsHide: true, timeout: 3000 }
  • 读取本地文件
    src/index.js:70
    if (executable && !existsSync(executable)) executable = null
  • 执行外部命令来自配置/变量
    src/index.js:73
    ? spawn(executable, [url], { detached: true, stdio: 'ignore', windowsHide: false })
  • 执行外部命令固定命令
    src/index.js:74
    : spawn('rundll32.exe', ['url.dll,FileProtocolHandler', url], { detached: true, stdio: 'ignore', windowsHide: true })
  • 执行外部命令固定命令
    src/index.js:84
    const result = spawnSync('where.exe', [candidate], { encoding: 'utf8', windowsHide: true })
  • 读取本地文件
    src/index.js:106
    const info = await stat(logPath)
  • 删除本地文件
    src/index.js:108
    await rm(previousLogPath, { force: true })
  • 写入本地文件
    src/index.js:109
    await rename(logPath, previousLogPath)
  • 删除本地文件
    src/index.js:161
    rm(refreshRunnerPath, { force: true }),
  • 写入本地文件
    src/index.js:211
    await mkdir(logDir, { recursive: true })
  • 读取本地文件
    src/index.js:235
    try { state = JSON.parse(await readFile(statePath, 'utf8')) } catch { }
  • 读取本地文件
    src/index.js:237
    if (!dsh || !existsSync(dsh)) {
  • 读取本地文件
    src/index.js:245
    if (!cwd || !existsSync(cwd) || !dshHome) throw new Error('已记录的 DSH 启动环境不完整,请手动重新启动。')
  • 写入本地文件
    src/index.js:350
    await copyFile(source, destination)
  • 写入本地文件
    src/index.js:354
    await mkdir(join(runtimeDir, 'bin'), { recursive: true })
  • 删除本地文件
    src/index.js:388
    rm(obsoleteShortcutCreatorPath, { force: true }),
  • 删除本地文件
    src/index.js:389
    rm(obsoleteDesktopPathRunnerPath, { force: true }),
  • 删除本地文件
    src/index.js:398
    rm(shortcutPath(), { force: true }),
  • 删除本地文件递归
    src/index.js:399
    rm(runtimeDir, { recursive: true, force: true }),
  • 删除本地文件
    src/core.js:212
    await rm(lockPath, { force: true }).catch(() => {})
  • 读取本地文件
    src/core.js:218
    const current = JSON.parse(await readFile(lockPath, 'utf8'))
  • 删除本地文件
    src/core.js:219
    if (current?.token === token) await rm(lockPath, { force: true })
  • 读取本地文件
    src/core.js:225
    const info = await stat(lockPath)
  • 读取本地文件
    src/core.js:228
    try { owner = JSON.parse(await readFile(lockPath, 'utf8')) } catch { }
  • 删除本地文件
    src/core.js:231
    await rm(lockPath, { force: true })
  • 写入本地文件
    src/core.js:242
    await writeFile(path, text, 'utf8')
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 一键启动Web服务
  • 后台重启
  • 浏览器刷新

Windows 上的 DeepSeek Harness Web 一键启动器|一键启动,支持后台重启和浏览器刷新。

README

由 DeepSeek 最新模型翻译生成
DSH Web Launcher 由 DSH 管理的 Windows 一键启动器。它为 DeepSeek Harness Web 创建桌面快捷方式:首次双击启动 dsh web 并打开浏览器,再次双击则在后台重启 DSH 并刷新现有页面,让刚安装、卸载或修改的插件立即生效。 通过 DSH 安装 dsh plugin --profile web add github:ayingQAQ/dsh-web-launcher 重新启动一次 DSH Web。插件加载后会自动创建或更新桌面的 DSH Web 快捷方式,以后插件的安装、更新和卸载记录均由 web profile 管理。 在 DSH 的 设置 → 通用设置 → DSH 一键启动器 中可以检查状态、重新创建或移除桌面快捷方式。卸载插件前若不再需要快捷方式,请先在这里将其移除。
展开完整文档(README 剩余 1 节)
DSH Web Launcher

由 DSH 管理的 Windows 一键启动器。它为 DeepSeek Harness Web 创建桌面快捷方式:首次双击启动 dsh web 并打开浏览器,再次双击则在后台重启 DSH 并刷新现有页面,让刚安装、卸载或修改的插件立即生效。

通过 DSH 安装

dsh plugin --profile web add github:ayingQAQ/dsh-web-launcher

重新启动一次 DSH Web。插件加载后会自动创建或更新桌面的 DSH Web 快捷方式,以后插件的安装、更新和卸载记录均由 web profile 管理。

在 DSH 的 设置 → 通用设置 → DSH 一键启动器 中可以检查状态、重新创建或移除桌面快捷方式。卸载插件前若不再需要快捷方式,请先在这里将其移除。

卸载插件:

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

独立安装

不希望把它加入 DSH profile 时,也可以继续作为普通 npm 工具使用:

npm install -g dsh-web-launcher
dsh-web-launcher setup

可用命令:

dsh-web-launcher start
dsh-web-launcher setup
dsh-web-launcher status
dsh-web-launcher remove

行为

- 默认地址为 http://127.0.0.1:3080,使用默认 web profile。
- 首次启动显示 DSH 自身的终端窗口,服务就绪后自动打开浏览器。
- 再次双击会核对本次启动记录的进程、地址和新版 DSH 的启动令牌,再在后台重启。
- 使用 --no-open 避免 DSH 重启时自己再弹出浏览器;就绪地址仅从本次启动输出读取。
- 重启后由已打开的 DSH 页面检测后端变化并直接刷新当前地址,保留会话路由;找不到 DSH 窗口时才打开鉴权入口。
- 重启沿用原 DSH 命令路径、工作目录和 DSH_HOME,不会因为 PATH 顺序变化切换安装来源。
- 连续点击会合并成一次操作,避免重复停止、启动和刷新。
- 稳定运行文件位于 %LOCALAPPDATA%\dsh-web-launcher\runtime。
- 日志位于 %LOCALAPPDATA%\dsh-web-launcher\logs,最多保留当前和上一份日志。
- 快捷方式使用原生 Windows Shell Link API 创建,不调用 PowerShell。

限制

当前版本仅支持 Windows 和默认 web profile,绑定本机回环地址,默认端口 3080。
如需不同端口,可在启动器进程的环境中设置 DSH_LAUNCHER_URL=http://127.0.0.1:4080。
PowerShell 中临时设置的环境变量只影响该窗口启动的 CLI;桌面快捷方式不会自动继承。
DSH 删除插件时不会主动执行第三方卸载脚本,因此应先从插件设置项移除桌面快捷方式,再卸载插件。

0.2.5 兼容性修复

- 适配新版 DSH 首页鉴权,不再把正常的 401 误报为其他程序占用端口。
- 首次进入和重启都使用 DSH 提供的鉴权地址,不绕过或关闭 DSH 鉴权。
- 从旧版启动器升级后,或 DSH 原本由其他方式启动时,需要先手动关闭一次 DSH,再双击快捷方式。启动器不会自动接管未知实例。
- 插件管理接口仅接受本机请求,并复用 DSH connection.admit() 鉴权。旧版 DSH(如 0.1.1-rc.2)缺少此接口时,设置页管理会返回明确提示;请使用 dsh-web-launcher setup/status/remove,插件内也可通过 node <插件目录>/bin/dsh-web-launcher.js <命令> 调用。
- logs 和 server.json 可能包含本机启动令牌,反馈问题前请先删除 URL 中的 token,不要公开这些文件。
- 需要保留 DSH 的启动地址输出(printUrl: true,默认开启);关闭后启动器无法取得安全入口,会超时提示而不会绕过鉴权。

已针对 0.1.7-rc.2 发布包核对协议,并以隔离服务测试启动、重启和鉴权流程;不是对所有未来 DSH 版本或浏览器组合的兼容保证。运行 npm test 可执行回归测试, Windows 集成测试使用临时目录和随机端口,不启动真实 DSH,也不操作桌面浏览器。
GitHub Actions 在 Windows 上对 Node.js 20、22、24 执行这些回归测试。

0.2.6 错误提示修复(issue #2)

- 报错弹窗在 15 秒后自动关闭,启动器对弹窗进程最多等待 20 秒,避免无人点击时长期残留。
- 即使错误发生在初始化之前,也会替换旧版无超时的弹窗脚本;完整错误仍输出到 stderr。
- 补充鉴权文本与状态码组合、关闭端口和弹窗超时测试,并修正 Windows 短路径引起的 CI 测试误报。

0.2.7 浏览器打开修复

- 从 Windows 默认浏览器配置读取程序路径,直接打开本次 DSH 鉴权地址;浏览器独立运行,启动器退出后保持打开。
- 配置无法解析时使用 Windows URL 打开器,并捕获浏览器进程启动错误。
- 已在本机 DSH 0.2.0-rc.2 与 Microsoft Edge 上验证启动、重启和页面打开;设置页操作及 0.2.1-alpha.2 尚未实机验证。

0.2.8 页面刷新修复

- 移除输入鉴权网址并按回车的模拟按键脚本。
- 网页检测后端实例变化后调用 window.location.reload(),直接刷新当前页。
- 更新后需刷新已有页面一次以加载检测逻辑;此后重启恢复后的检测间隔为两秒。

许可与归属

本项目采用 MIT License。DeepSeek Harness 图标来源与许可见 THIRD_PARTY_NOTICES.md。本项目是独立工具,不是 DeepSeek 官方产品。
预览分享卡片长什么样 ↓ayingQAQ/dsh-web-launcher
分享 · DeepSeek Harness Hub
ayingQAQ/dsh-web-launcher

Windows 上的 DeepSeek Harness Web 一键启动器|One-click launcher…

这是你的仓库?认领条目

回到顶部