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

隐身浏览器 maxiaovivi/dsh-cloak-browser

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

为智能体提供隔离浏览器会话与截图交互

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add maxiaovivi/dsh-cloak-browser
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · vision
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/25) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

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

✗npm 包dsh-cloak-browser(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 04:57:23

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 读取本地文件
    lib/plugin.mjs:164
    const fileKey = (await readFile(join(cacheDir, "license.key"), "utf8")).trim();
  • 写入本地文件
    lib/plugin.mjs:321
    await mkdir(userDataDir, { recursive: true, mode: 0o700 });
  • 发起网络请求
    lib/plugin.mjs:333
    const request = route.request();
  • 执行外部命令固定命令
    bench/benchmark.mjs:50
    const output = execFileSync("ps", ["-eo", "pid=,ppid=,rss="], { encoding: "utf8" });
  • 写入本地文件
    stealth/run.mjs:150
    await mkdir(options.output, { recursive: true, mode: 0o700 });
  • 写入本地文件
    stealth/run.mjs:218
    await writeFile(resolve(options.output, "report.json"), `${JSON.stringify(report, null, 2)}\n`, { mode: 0o600 });
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

界面预览

3 张 · 点击查看大图

功能亮点

  • 隔离浏览器会话
  • 页面快照与交互
  • 安全智能体路由

为 DeepSeek Harness 提供原生 CloakBrowser 工具:隔离浏览器会话、快照、交互、截图,以及安全的智能体路由。

README

由 DeepSeek 最新模型翻译生成
dsh-cloak-browser 安装 环境要求 - Node.js 20 或更高版本 - DeepSeek Harness(DSH) 0.1.0-rc.6 - CloakBrowser 支持的 Linux、macOS 或 Windows 平台 直接从 GitHub 安装 dsh plugin --profile web add -w github:maxiaovivi/dsh-cloak-browser 确认 Bundle 已进入 profile 的最终配置。 dsh --profile web --dump-config | grep -A24 cloak-browser 安装后重启 DSH: dsh --profile web DSH profile 是 pnpm workspace root,所以需要 -w。如果其他 profile 同时提供 DSH tools 和 attachments 服务,也可以把 web 换成对应的 profile 名称。 从 0.1.1 开始,插件会复用 profile 已有的 dsh-tools 和 dsh-llm 运行时实例,避免重复运行时引发 Cannot read properties of undefined (reading 'prepare')。
展开完整文档(README 剩余 1 节)
dsh-cloak-browser

安装

环境要求

- Node.js 20 或更高版本
- DeepSeek Harness(DSH) 0.1.0-rc.6
- CloakBrowser 支持的 Linux、macOS 或 Windows 平台

直接从 GitHub 安装

dsh plugin --profile web add -w github:maxiaovivi/dsh-cloak-browser

确认 Bundle 已进入 profile 的最终配置。
dsh --profile web --dump-config | grep -A24 cloak-browser

安装后重启 DSH:

dsh --profile web

DSH profile 是 pnpm workspace root,所以需要 -w。如果其他 profile 同时提供 DSH tools 和 attachments 服务,也可以把 web 换成对应的 profile 名称。

从 0.1.1 开始,插件会复用 profile 已有的 dsh-tools 和 dsh-llm 运行时实例,避免重复运行时引发 Cannot read properties of undefined (reading 'prepare')。

如果之前安装过 0.1.0,请先移除一次再重新安装:

dsh plugin --profile web remove -w dsh-cloak-browser
dsh plugin --profile web add -w github:maxiaovivi/dsh-cloak-browser

从本地克隆安装

开发或审计插件时使用这种方式:

git clone https://github.com/maxiaovivi/dsh-cloak-browser.git
cd dsh-cloak-browser
npm ci
plugin_tarball=$(npm pack --silent)

仅 Ubuntu/Debian;这一步可能请求 sudo 权限。
npx playwright-core install-deps chromium

dsh plugin --profile web add -w "$PWD/$plugin_tarball"
dsh --profile web --dump-config | grep -A24 cloak-browser
dsh --profile web

GitHub 安装会由 pnpm 安装运行依赖。本地流程安装打包产物而不是链接开发目录,避免开发专用的 DSH 宿主包副本进入 profile。

License 和代理环境变量

不要把凭据写进 cordis.patch.yml 或 Tool 参数;应在启动 DSH 的环境中导出:

export CLOAKBROWSER_LICENSE_KEY='your-license-key' # 可选
export CLOAKBROWSER_PROXY_URL='http://user:pass@host:port' # 可选
dsh --profile web

没有 License key 时,CloakBrowser 会选择可用的免费版本。首次真正使用浏览器时会下载并校验约 200MB 的 Chromium 压缩包,解压后的 ~/.cloakbrowser 缓存会占用更多磁盘空间。不需要执行 playwright install chromium。

当环境变量或本地保存的 License 被验证为 Free plan 时,插件默认席位无人使用,直接启动,不会询问用户。插件会串行化同一 DSH 进程内的 Free 会话并发启动,并在本地或 License Server 已占用时返回明确状态,不再循环重试。插件无法撤销另一台机器或异常退出旧进程持有的服务器端租约;这类租约仍需由上游关闭或等待过期。

存在代理 URL 时,插件会自动启用 CloakBrowser GeoIP 匹配。第一次使用可能还会把约 70MB 的 GeoLite 数据库下载到同一缓存;mmdb-lib 已随插件安装,不需要再执行安装命令。

卸载

dsh plugin --profile web remove -w dsh-cloak-browser

卸载后重启 DSH。~/.cloakbrowser 下的浏览器缓存由 CloakBrowser CLI 单独管理。

DSH 实际演示

这条真实 DSH 会话打开 Wikipedia,通过有界 Snapshot 找到搜索框,提交 CloakBrowser,确认结果页、完成截图并关闭浏览器。Agent 的完整运行耗时 15 秒。

Agent 端到端工作流

DSH Agent 使用 CloakBrowser 从打开页面到关闭会话的完整工作流

结果页结构化状态与稳定元素 ref

browser_snapshot 返回 Wikipedia 结果页和有界元素 ref

公开反自动化检测演示

另一条真实 DSH 会话由 Agent 打开 Rebrowser 公开 Bot Detector,等待检测、确认渲染结果并关闭浏览器。独立的可复现 Pro 150 Runner 同时保存了检测页面,结果为 5 项通过、3 项未触发、0 项失败。这只能证明该次公开 Detector 没有检出,不能表述为所有生产反爬和风控系统都能绕过。

CloakBrowser Pro 150 在 Rebrowser 上取得 0 项失败

项目来源

dsh-cloak-browser 是社区维护的独立 DeepSeek Harness 原生浏览器 Tool Bundle,连接了两个上游产品:

- DeepSeek Harness 提供 Cordis 插件运行时、 Agent Loop、Tool 执行管线、模型路由和持久附件存储。
- CloakBrowser 提供兼容 Playwright 的 Chromium 启动器、源码级指纹补丁、可选的人类化输入、代理/GeoIP 集成和浏览器二进制分发。

本仓库不是 DeepSeek 或 CloakHQ 官方项目,也未获得这两个组织的附属或背书关系。

插件采用薄集成:

DSH 原生 Tool → per-Agent BrowserContext Map → CloakBrowser → Playwright

没有 MCP Server、独立中间件进程、远程浏览器服务或模型提供的任意 JavaScript 执行器。仅保留很小的 Session Map,因为浏览器状态需要跨 Tool 调用保持,同时不能在不同 Agent 之间泄漏。

产品功能

- 原生 DSH Tool:支持 schema、规范 JSON 返回、UI 展示和 Code Mode。
- 延迟启动:只有 Agent 第一次调用浏览器 Tool 时才启动 Chromium。
- 每个 Agent 拥有隔离的 BrowserContext;agent/disposed 或插件卸载时自动关闭。
- 导航和交互后自动返回有界页面快照与短期元素 ref(例如 p1:s3:e8),Agent 无需额外调用一次观察 Tool 即可继续。
- 自动识别 iframe 内的控件,并返回 selected、expanded、required、invalid、read-only 等表单状态。
- 支持导航、点击、填写、选择、按键、等待、内容提取、截图、标签页和生命周期管理。
- 视觉模型获得 DSH 持久图片附件;纯文本模型自动回退到页面文本快照。
- 通过 CloakBrowser 提供可选的人类化鼠标、输入和滚动。
- CloakBrowser 人类化点击/填写出现特定的 covered by 执行前误报时自动重试一次;其他错误仍安全失败。
- 未显式配置 seed 时,自动为每个 Agent 派生稳定且哈希化的 fingerprint seed。
- 自动识别 License 套餐:验证为 Free 的 Key 无需询问用户即可启动;同一 DSH 进程内的 Free 会话并发启动会被串行化。
- 检测到代理环境变量时自动启用 GeoIP 一致性,所需运行依赖随插件安装。
- 默认使用临时 Context;显式配置后可使用按 Agent 隔离的持久 profile。
- 支持域名允许/拒绝规则、显式私网地址拦截、页面/输出限制、协作取消和浏览器清理。
- 常驻路由提示让交互或真实渲染任务选择浏览器,而简单公开文本查询继续使用更轻量的 Web Tool。

Tool 与 Agent 工作流

推荐流程:

browser_open(url)
→ Free、付费套餐或无 Key 本地构建:无需询问,直接启动 → Free 席位已占用:返回 not_started,不循环重试 → 返回 snapshot + refs → browser_click / browser_type / browser_select → 返回下一份 snapshot + refs → 浏览器任务完成后 browser_close

默认流程不需要在每次操作之间手工调用 browser_snapshot。页面自行变化或 Agent 需要刷新视图时,仍可使用显式 Snapshot Tool。

| Tool | 功能 |
| browser_open | 无需用户确认,延迟打开会话;传入 URL 时同时返回 Snapshot |
| browser_navigate | 导航并返回含 ref 的新 Snapshot |
| browser_snapshot | 显式刷新有上限的页面/iframe 文本和 ref |
| browser_click | 点击 ref 并返回下一份 Snapshot |
| browser_type | 填写文本、可选提交并返回下一份 Snapshot |
| browser_select | 选择选项并返回下一份 Snapshot |
| browser_press | 按下限定导航键并返回下一份 Snapshot |
| browser_wait | 等待文本或时间并返回结果 Snapshot |
| browser_extract | 提取有上限的文本、HTML 或属性,不执行任意 JS |
| browser_screenshot | 视觉路由返回图片附件,文本路由返回元数据 |
| browser_tabs | 列出、选择或关闭标签页 |
| browser_close | 关闭并清除当前 Agent 的浏览器会话 |

常驻提示会把“打开、浏览、点击、填写、提交、登录、检查渲染状态、网页截图”等请求路由到 browser_。简单公开文本调研仍优先使用 Web Search/Fetch,需要真实渲染或交互时才升级。

示例请求:

使用浏览器打开 https://example.com,检查渲染后的页面,列出可交互元素,完成后关闭浏览器。

配置

Bundle 默认配置位于 cordis.patch.yml。

| 配置项 | 默认值 | 说明 |
| headless | true | 无可见窗口运行 Chromium |
| humanize | true | 启用 CloakBrowser 人类化交互 |
| humanPreset | default | default 或 careful 行为预设 |
| geoip | auto | proxyEnv 存在时自动按代理 IP 推导语言和时区,也可显式设为 true 或 false |
| proxyEnv | CLOAKBROWSER_PROXY_URL | 保存代理 URL 的环境变量名 |
| persistentProfileRoot | 空 | 按 Agent 哈希创建持久 profile 的根目录 |
| fingerprintSeed | 空 | 留空时自动派生稳定且哈希化的 per-Agent seed;显式 seed 会覆盖自动值 |
| fingerprintNoise | false | 关闭 canvas/WebGL/audio/client-rect 注入噪声;实测消除了 5 个 CreepJS lies |
| fingerprintWindowsFontMetrics | false | Chromium 148+ Windows 字体指标;Linux 必须有真实 Windows 字体集 |
| allowThirdPartyCookies | false | Chromium 148+ 的内嵌 reCAPTCHA/SSO/支付流程兼容开关 |
| fingerprintStorageQuotaMb | 0 | 可选 storage quota;0 保留上游自动值 |
| viewportWidth、viewportHeight | 0、0 | 可选匹配 viewport/指纹屏幕尺寸;0 使用更安全的自动管理 |
| allowedDomains | [] | 空数组允许公网;支持精确域名和 .example.com |
| blockedDomains | [] | 在 allowlist 前检查的拒绝域名 |
| blockPrivateNetworks | true | 阻止显式 localhost、私网、link-local 和保留 IP URL |
| maxPages | 5 | 单个 Agent 会话的最大标签页数 |
| actionTimeoutMs | 15000 | 普通 Playwright 操作超时 |
| typingTimeoutMs | 90000 | 为刻意放慢的人类化输入提供更长超时 |
| navigationTimeoutMs | 30000 | 导航超时 |
| maxSnapshotElements | 100 | 单次快照返回的最大 ref 数 |
| maxTextChars | 12000 | 页面和提取文本最大长度 |
| autoSnapshot | true | 在导航和交互结果中自动包含一份新的有界 Snapshot |
| screenshotFormat | jpeg | jpeg 或 png |
| screenshotQuality | 80 | JPEG 质量 |
| routePrompt | true | 向 system prompt 注入浏览器选择规则 |

生产环境建议在 profile override 中限制导航域名:

- id: cloak-browser
config:
allowedDomains:
- 'example.com'
- '*.example.com'
blockedDomains:
- 'admin.example.com'
persistentProfileRoot: '/var/lib/dsh/cloak-profiles'

同一个站点身份应保持 profile、fingerprint、代理、timezone 和 locale 一致。不要把日常 Chrome profile 交给 Agent。

安全边界

- browser_type.text 会进入 DSH Tool 日志,不能传递密码、API key、Cookie 或 Token。当前版本有意不包含凭据存储驱动的输入 Tool。
- 页面内容属于不可信输入;插件会明确告诉 Agent,网页内容不能覆盖系统或用户指令。
- allowedDomains 用于顶层导航,是应用层护栏而不是完整网络沙箱。高安全环境仍需用容器/防火墙防止 DNS rebinding 和网页子资源访问私网。
- 插件不允许模型提供任意 JavaScript 执行代码。
- 仅在你有权自动化的系统和网站上使用,并遵守法律与站点条款。

上游许可

本仓库代码使用 MIT License。

CloakBrowser wrapper 源码使用 MIT,但其下载的 Chromium 二进制由 CloakHQ 单独的 Binary License 管理。
在重分发、逆向、修改二进制,或对外提供客户可控 Browser-as-a-Service 前必须审阅该许可。

兼容性与验证

当前版本锁定:

| 组件 | 版本 |
| dsh-cloak-browser | 0.3.0 |
| DeepSeek Harness packages | 0.1.0-rc.6 |
| CloakBrowser wrapper | 0.5.7 |
| Playwright Core | 1.62.0 |
| Node.js | >=20 |

当前版本执行过:

- 域名策略、私网拒绝、自动及 iframe snapshot ref、过期 ref、安全 actionability 重试、稳定 per-Agent seed、Agent 隔离、图片附件和清理单元测试。
- 在干净的临时 DSH Web profile 中安装并完整启动 Cordis/Web。
- Linux x64 免费版 CloakBrowser Chromium 真实启动、本地页面导航、iframe 发现、ref 验证和截图。
- 通过插件路径和 CloakBrowser direct 对照运行上游同口径的本地及公开隐身 detector;完整报告见下文。
- npm audit、语法检查和 npm package dry-run。

本地验证命令:

npm run check
npm test
npm audit --omit=dev
npm pack --dry-run

单元测试使用假的 BrowserContext,不会下载 Chromium。

隐身测试结果

在本文档所列 Linux 主机上,使用免费 Chromium 146、headless、无代理且无 Windows 字体时,插件通过 5/6 个核心公开 detector。直接调用 CloakBrowser launchContext 的对照结果完全相同;两者都只在 Device & Browser Info 的 hasInconsistentTimingResolution 失败。关闭 fingerprint noise 后,CreepJS 从 5 lies 改进为 0,因此它已成为插件默认值。FingerprintJS demo 仍会拦截这个旧二进制/环境; reCAPTCHA v3 一次得到 0.9,重复运行则没有得到 score。

双语测试方法、命令、严格判定规则、完整结果和升级路径见 docs/STEALTH.zh-CN.md。公开 detector 会随环境和时间变化,不能保证无关站点一定放行。

性能

在文档所列 Linux 测试机上,缓存后的首次延迟启动约 635ms,后续约 183ms;100-ref 快照 P50 为 29ms,提取 12,000 字符为 1.2ms,视口截图为 51ms。关闭 humanize 时“快照→点击→快照” 为 161ms;默认的人类化工作流会有意放慢到 6.27 秒。自动观察把“导航→观察”从两次 Tool 调用降为一次,把“操作→观察”工作流从三次降为两次,且浏览器执行时间没有实测回退。双语方法、内存数据、对比表和原始 JSON 见 docs/PERFORMANCE.zh-CN.md。
预览分享卡片长什么样 ↓maxiaovivi/dsh-cloak-browser
分享 · DeepSeek Harness Hub
maxiaovivi/dsh-cloak-browser

为智能体提供隔离浏览器会话与截图交互

这是你的仓库?认领条目

回到顶部