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

Chrome 强制浏览器 SeekAfterSeek/dsh-chrome-only

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

让所有网页跳转只走 Chrome,不再落到系统默认浏览器

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

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

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

状态速览

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

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

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
  • 读取本地文件
    index.js:129
    if (existsSync(candidate)) return candidate
  • 执行外部命令来自配置/变量
    index.js:139
    execFile(
  • 读取本地文件
    index.js:168
    if (raw && existsSync(raw)) return raw
  • 执行外部命令来自配置/变量
    index.js:221
    const child = spawn(executable, args, { detached: true, stdio: 'ignore', windowsHide: false })
  • 发起网络请求
    index.js:383
    const response = await fetch(MSI_URL, { redirect: 'follow' })
  • 写入本地文件
    index.js:386
    await writeFile(msiPath, bytes)
  • 执行外部命令固定命令
    index.js:466
    const child = spawn('powershell.exe', ['-NoProfile', '-NonInteractive', '-Command', `Start-Process '${quoted}'`], {
  • 执行外部命令来自配置/变量
    index.js:476
    const child = spawn(opener, [url], { detached: true, stdio: 'ignore' })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DeepSeek Harness 插件包:所有浏览器导航都走 Google Chrome,含工具、守卫、提示词规则和 Chrome 交接,让 dsh web 不再打开系统默认浏览器。

README

由 DeepSeek 最新模型翻译生成
面向 DeepSeek Harness 的 Chrome Only Browser 强制 DSH 里所有浏览器跳转只走 Google Chrome。 无论系统默认浏览器是什么,DSH 自己去开网页时只能是 Chrome;没人提浏览器就默认 Chrome,只有用户明确点名才允许例外。 它解决什么 模型在任务里「顺手打开一个网页」时,默认会落到 Start-Process <url>、open、xdg-open,也就是操作系统的默认浏览器;dsh web 启动时也会把 GUI 地址交给默认浏览器。默认浏览器是 Edge / Firefox / 360 时,DSH 的每一次跳转都跑到了别的浏览器里。 这个 bundle 把这件事钉死:五层机制,从提示词到配置覆盖。
展开完整文档(README 剩余 1 节)
面向 DeepSeek Harness 的 Chrome Only Browser

强制 DSH 里所有浏览器跳转只走 Google Chrome。 无论系统默认浏览器是什么,DSH 自己去开网页时只能是 Chrome;没人提浏览器就默认 Chrome,只有用户明确点名才允许例外。

它解决什么

模型在任务里「顺手打开一个网页」时,默认会落到 Start-Process <url>、open、xdg-open,也就是操作系统的默认浏览器;dsh web 启动时也会把 GUI 地址交给默认浏览器。默认浏览器是 Edge / Firefox / 360 时,DSH 的每一次跳转都跑到了别的浏览器里。

这个 bundle 把这件事钉死:五层机制,从提示词到配置覆盖。

| 层 | 机制 | 效果 |
| 提示层 | ctx.systemPrompt.section() | 每轮请求注入硬规则 + Chrome 缺失时的授权流程 + 唯一例外条款 |
| 工具层 | chrome_open | 直接启动 chrome.exe --new-window <url>,永不回退系统默认浏览器 |
| 工具层 | chrome_status | Chrome 是否安装、实际用哪个可执行文件、宿主补丁真实状态 |
| 工具层 | chrome_install | 必须先拿到用户授权(authorized: true)才下载安装 Chrome |
| 拦截层 | ctx.tools.guard() | 拒绝 Start-Process <url>、start <url>、Invoke-Item、explorer <url>、rundll32 url.dll、xdg-open、open,以及 msedge / firefox / brave / vivaldi / chromium / 360 / QQ / Sogou / maxthon 等非 Chrome 启动 |
| 启动层 | web-runtime 配置覆盖 + Chrome 交接 | dsh web 不再调用系统默认浏览器:openBrowser 固定为 false,改由插件在服务器就绪后用 Chrome 打开同一个带 token 的地址;--no-open 仍然有效 |
| 宿主层 | Electron shell.openExternal 重定向 | Electron 主进程里可用时把外链交给 Chrome;桌面应用的 Host 是 Electron Node 子进程,那里 require('electron') 不可用,此层自动降级并如实上报 |

安装

仓库根目录就是 bundle 包(package.json 里声明了 dsh.bundle.patch)。

git clone https://github.com/SeekAfterSeek/dsh-chrome-only.git

桌面 profile(desktop):用 Plugin Manager 安装本地 bundle,或调 plugin_manager 的 install_bundle,target 指向仓库绝对路径。

web profile(dsh web 用的那个):

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\Install-WebProfile.ps1

它做与 Plugin Manager 相同的三步:dependencies 加 link: → dsh.profile.bundles 追加 → 用 DSH 自带的 pnpm 安装。重复执行安全。写回 package.json 必须无 BOM,否则 DSH 启动时报 Unexpected token ''。

⚠️ 两个 profile 里记的是 link:<仓库路径>。仓库被移动或删除后,启动时会解析不到 bundle——把仓库放在固定位置。

用法

模型侧:打开网页只用 chrome_open,查状态用 chrome_status,装 Chrome 前必须先 ask_user_question 拿到授权再 chrome_install。

脚本侧:

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\Open-DshChrome.ps1 -Url https://example.com -NewWindow

退出码:0 已在 Chrome 中打开;2 网址非法;3 本机没有 Chrome(此时必须先申请安装授权,禁止换浏览器)。

或者直接用 Chrome 本体:

& "$env:ProgramFiles\Google\Chrome\Application\chrome.exe" "https://example.com"

配置

- id: chrome-only
name: '@local/dsh-chrome-only'
config:
chromePath: '' # 显式指定 chrome.exe;留空自动探测(注册表 + 常见安装路径) newWindow: true # 每次打开新窗口 guardShellTools: true # 拦截 shell 工具里的非 Chrome 浏览器启动 patchElectronShell: true # Electron 主进程可用时重定向 shell.openExternal openWebUiInChrome: true # dsh web 就绪后由本插件用 Chrome 打开 GUI
extraForbiddenBrowsers: []
Chrome 探测顺序:chromePath → CHROME_ONLY_CHROME_PATH → %ProgramFiles% / %ProgramFiles(x86)% / %LOCALAPPDATA% → 注册表 App Paths\chrome.exe。

Chrome 缺失时

1. chrome_open 返回 code: "CHROME_MISSING";
2. 模型必须用 ask_user_question 问:「授权下载并安装(推荐)」/「先不安装」;
3. 只有用户明确授权后,才能 chrome_install { authorized: true };
4. 安装依次尝试 winget install --id Google.Chrome → 官方企业版 MSI 静默安装 → 提权 MSI;全失败则提示手动安装。

未授权调用返回 NOT_AUTHORIZED,不下载不安装。

验证

node test\matcher.test.mjs # 17 条拦截 + 17 条放行 + URL 规范化
node test\handoff.test.mjs # dsh web 交接:正常→打开 / --no-open→不打开 / 关配置→不接手
powershell -File .\scripts\Open-DshChrome.ps1 -Url about:blank

实测(Windows 11 + Chrome 155,DSH desktop/web 两个 profile):

| 检查 | 结果 |
| chrome_open about:blank | ok:true,新窗口开在 Chrome |
| chrome_open 本地 HTML | ok:true,file:///…/sample.html 在 Chrome 中打开 |
| pwsh: start https://example.com | 被 guard 拒绝:「检测到「系统默认浏览器」启动」 |
| pwsh: & "C:\nope\msedge.exe" https://example.com | 被 guard 拒绝:「检测到「msedge」启动」 |
| pwsh: Test-Path ...firefox.exe + 显式 chrome.exe 启动 | 放行(探测类命令不误伤) |
| chrome_install authorized:false | 拒绝,NOT_AUTHORIZED |
| dsh --profile web --port 50778 | 打印 URL 后由 Chrome 打开,无 opening the default browser |

覆盖边界

- 桌面应用是「Electron 主进程 + Electron Node 子进程(Cordis Host)」两段结构。点外链、下载地址、登录页这几处 shell.openExternal 在主进程里,插件在子进程,够不到;chrome_status 会显示 electronShellPatch.patched: false 及原因。把系统默认浏览器设为 Chrome 即可顺带覆盖这几处。
- .html 这类文件扩展名关联是独立于默认浏览器的设置,插件不碰;chrome_open 对本地文件始终用 Chrome。
- web_fetch / web_search 是服务端取文本,不启动浏览器,不受规则影响。
- guard 只审命令行文本,审不到脚本文件内部(pwsh -File deploy.ps1 里写 Start-Process msedge)。
- dsh web --no-open 是用户明确表态“不要打开”,不打开任何浏览器。

诊断工具

不解包整个 app.asar 就能按关键字定位、列目录、导出单个文件:

node tools\asar-scan.mjs "...\resources\app.asar" openExternal
node tools\asar-list.mjs "...\resources\app.asar" "dsh/node_modules/@deepseek-ai/dsh-web-app/lib"
node tools\asar-extract.mjs "...\resources\app.asar" "path/inside/asar.js" .\out.js

(read 能读 asar 内部路径,rg 不能——所以这三个脚本绕过解包。)

卸载

- 临时关闭:Plugin Manager 里关闭 chrome-only 行。
- 彻底移除:移除 bundle,并从两个 profile 的 package.json 去掉依赖与 bundles 条目,再跑一次 pnpm install。

License

MIT
预览分享卡片长什么样 ↓SeekAfterSeek/dsh-chrome-only
分享 · DeepSeek Harness Hub
SeekAfterSeek/dsh-chrome-only

让所有网页跳转只走 Chrome,不再落到系统默认浏览器

这是你的仓库?认领条目

回到顶部