DeepSeek Harness Hub
← 返回列表

持久身份浏览器antibrow/dsh-antibrow

MCP兼容 / 相关生态spec-screenedweb在 GitHub 查看 ↗
需源码安装

为智能体提供带持久身份与指纹伪装的浏览器

暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明。 · 最近上游提交 2026/9/12 · 已提供中文文档

DeepSeek Harness 插件:为你的智能体提供一个具有持久身份的浏览器——引擎级指纹伪装、无限免费本地配置文件、Android 设备模拟、可长期存续的通行密钥,以及住宅代理出口。

综合分
58.5
GitHub 分
58.5
用户评分
★ Stars
124
周下载量
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/antibrow/dsh-antibrow.git
🟢实装验证通过· 2026/9/18
由 dsh-plugin-verify(GitHub Actions)在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/12(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

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

npm 包dsh-antibrow(未发布到 npm,仅可源码安装)
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件缺少入口声明

缺少 main/exports/bin 入口声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/17 15:48:55

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-antibrow

一个 DeepSeek Harness 插件,为智能体提供一个带有身份的浏览器。

该浏览器是 AntiBrow:一个 Chromium 分支,在引擎层面进行指纹配置,通过标准 Playwright API 驱动。SDK 文档位于 antibrow.com/docs,带日期的检测测量结果——包括未通过的检查——位于 antibrow.com/reports。

dsh plugin --profile  add dsh-antibrow

为什么不用普通浏览器插件

其他所有浏览器插件都只是给智能体一个全新的 Chromium。这对读取公开页面来说没问题,但对任何需要登录的场景都毫无用处:会话随进程消亡,指纹是标准的自动化构建,流量从你的机器发出。

| | 普通 Playwright 插件 | dsh-antibrow |
|---|---|---|
| 运行之间的身份 | 每次都是新浏览器 | 每个名称一个持久化配置文件 |
| 登录状态 | 进程结束时丢失 | Cookie 和通行密钥持久保留,可选跨机器同步 |
| 指纹 | 标准构建,通过页面脚本修补 | 在引擎内部伪造,先于任何页面脚本运行 |
| 出口 | 你自己的 IP | 住宅代理,时区、语言和上报的连接信息跟随其出口 |
| 并行身份 | 一个数据目录需要共享 | 每个智能体或每个账户一个隔离配置文件 |
| 标签页 | 从零开始 | 恢复上次会话,智能体从上次停止的地方继续 |

这种差异在智能体第一次需要成为某个人时就会显现:查看邮箱、监控仪表盘、维持市场账户活跃。一个没有记忆的浏览器每次运行都必须重新登录,而重新登录正是网站视为可疑的行为。

它带来了什么

- 免费层级下无限配置文件。 不是五个,也不是五十个——配置文件存放在你的磁盘上,而非某个套餐中,创建一个不花任何费用。给每个账户、每个市场、每个人设一个自己的浏览器,不再需要推理智能体正拿着哪个 Cookie 罐。在机器之间同步它们以及托管住宅代理是付费部分;配置文件本身永远免费。
- 16 个工具供模型使用:会话、配置文件、代理、页面控制、实时视图。全部位于 mcp__antibrow__* 之下,全部可从 Code Mode 以普通异步调用访问。
- 同一 API 下的 Android 手机。 一个参数——deviceType: 'android'——智能体就变成了一部手机:触摸点、移动客户端提示、手机视口、手机 GPU。见下文。
- 引擎级伪造。 用户代理、平台、屏幕、字体、canvas、WebGL 和音频都由引擎本身应答。没有任何东西被注入页面,因此检测器找不到任何注入的脚本。
- 一个连贯的故事,而非一堆覆盖项。 时区、区域设置和上报的网络配置文件都源自代理的真实出口,因为一个美国
报告上海时间的 IP 是一个矛盾,页面一行就能检查出来。
- Passkeys 会保留。 WebAuthn 凭据随配置文件存储,而不是存在
机器的钥匙串中,因此一次运行中注册的 passkey 在下一次运行时仍能登录——
而且,在开启同步的情况下,在另一台电脑上也能登录。
- 亲眼看着它运行。 start_live_view 将 agent 的浏览器流式传输到
一个仪表盘,因此长时间无人值守的运行是你能够查看的东西,而不是靠猜。
- 来自真实机器的身份。 在付费方案中,配置文件可以从
捕获的真实设备指纹生成,而不是生成的指纹——一整行连贯的数据来自一台
物理机器,而不是逐字段编造。
- 四种构建,三种操作系统:Windows、macOS 和 Linux,均支持
x86_64 和 arm64。同一个配置文件可在其中任何一种上运行。
- 可移植,而且不仅限于 agent。 将配置文件导出为文件,再导入到
另一台机器上;保持不同步,它仍然在桌面应用中,供人打开并手动完成。
agent 的浏览器和你的浏览器可以是同一个浏览器。

手机

{ "profile": "shop-mobile", "deviceType": "android", "temporary": true }

Android 配置文件由完整捕获的设备构建——屏幕、GPU
报告和客户端提示彼此一致,因为它们来自同一部
物理手机,而插件是选择一行数据,而不是拼装一行。其中三个
随包提供,因此免费层级的 agent 可以创建 Android 配置文件,
完全无需网络往返。

设备类型在创建配置文件时固定,之后永不漂移:
一个曾经是手机的配置文件会一直是那部手机。Android 需要引擎
151 或更新版本——如果没有可用的版本,启动会失败,而不是悄悄给你
一个声称自己是手机的桌面浏览器。

实测

在 macOS 主机上,通过美国住宅代理,2026-08-15,引擎 151:

| 检查项 | 结果 |
|---|---|
| whoer.net 伪装度 | 90% |
| creepjs 无头信号 | 0% |
| creepjs 隐身信号 | 0% |
| creepjs 平台提示 | Arial, "Segoe UI"——没有来自主机的字体 |
| 报告的平台与用户代理 | 一致(Win32 / Windows) |
| 时区与代理出口 | 一致(America/Los_Angeles) |

whoer 扣掉的 10% 是 WebRTC,那次运行中它没有到 STUN 服务器的路由。
用 tests/smoke 复现全部结果——测试框架就在这个仓库里,
它会大声失败,而不是打印一个没人检查的数字。

安装

dsh plugin --profile  add dsh-antibrow
export ANTI_DETECT_BROWSER_KEY=
dsh --profile

工具

| | |
|---|---|
| 会话 | launch_browser close_browser list_sessions |
| 配置文件 | list_profiles create_profile delete_profile |
| 代理 | list_proxies claim_proxy |
| 页面 | navigate click fill evaluate get_content screenshot |
| 实时视图 | start_live_view stop_live_view |

launch_browser 接受一个配置文件名称,并在首次使用时创建它。传入
temporary: true 用于自动化工作:这些配置文件仅限本地,不会出现在桌面应用的列表中,但仍会持久化到磁盘上。

在依赖它之前

- 一个免费密钥同时只能运行一个浏览器。 并发限制由许可证承载,并按机器计数,涵盖所有使用同一引擎的应用程序。只有在套餐的限制足以覆盖的情况下,才能将智能体扩展为并行会话,否则多余的启动会被拒绝。
- 引擎会在首次启动时下载(根据平台不同为 190-320 MB),下载到共享缓存目录中。全新安装的第一次 launch_browser 需要为此付出代价;之后的则不需要。
- 持久身份就是真实身份。 两个智能体同时驱动一个配置文件,就像两个人共用一个浏览器一样,是错误的:最后关闭的那个获胜。给每个智能体分配自己的配置文件。

配置

该捆绑包插入一行 mcp-antibrow,针对 anti-detect-browser CLI 配置 harness 的 MCP 客户端。通过在你的配置文件自己的 cordis.patch.yml 中定位该 id 来覆盖它——补丁会替换该行的整个 config,因此要重新声明你保留的每一个键:

- id: mcp-antibrow
config:
serverName: antibrow
transport: stdio
command: npx
args: ['-y', 'anti-detect-browser@^2.19.1', '--mcp']
env:
ANTI_DETECT_BROWSER_KEY: !!js process.env.MY_OWN_VAR
ANTI_DETECT_BROWSER_CACHE_DIR: /var/lib/antibrow

无需卸载即可将其关闭:

- id: mcp-antibrow
disabled: true

要从检出目录而不是 npm 运行 SDK,请使用此包附带的 overlay:

export ANTIBROW_SDK_CLI=/dist/cli.js
dsh --profile  --patch node_modules/dsh-antibrow/cordis.patch.local.yml

兼容性

已针对 dsh 0.1.0-rc.6 和 anti-detect-browser 2.19.1 验证,2026-08-15。DeepSeek Harness 是开发者预览版,并声明会破坏兼容性;这一行就是该声明,若不重新测试就会失效。

SDK 版本下限是真实存在的:2.19.1 是第一个其关闭路径会结束浏览器进程、而不仅仅是断开调试连接的版本。在更旧的版本上,关闭的会话会让浏览器继续运行,这会使该配置文件的目录保持锁定——下次启动它会在调试连接就绪之前就失败——并在剩余的运行期间占用一个并发槽位。

链接

- 产品:https://antibrow.com
- SDK 文档:https://antibrow.com/docs/sdk
- MCP 服务器:https://antibrow.com/docs/mcp
- 检测测量(CC BY 4.0,包含失败案例):https://antibrow.com/reports

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群