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

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

MCP
antibrow52 天前有提交已提供中文文档扫描:无法判定兼容 / 相关生态web

一个 DeepSeek Harness 插件,给智能体一个带身份的浏览器。

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 52 天前
档位由哪些信号合成

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

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

缺少 main/exports/bin 入口声明

展开查看检查明细 ↓

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

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

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 02:37:50

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/3(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

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

功能亮点

  • 引擎级指纹伪装
  • 无限本地配置档
  • Android设备模拟

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

README

由 DeepSeek 最新模型翻译生成
dsh-antibrow 一个 DeepSeek Harness 插件,给智能体一个带身份的浏览器。 浏览器是 AntiBrow:一个 Chromium 分支,在引擎层面做指纹配置,通过标准 Playwright API 驱动。SDK 文档在 antibrow.com/docs,带日期的检测测量结果——包括未通过的检查——在 antibrow.com/reports。 dsh plugin --profile <name> add dsh-antibrow 为什么不用普通浏览器插件 其他浏览器插件都只是给智能体一个全新的 Chromium。读公开页面还行,碰到登录后的东西就没用了:会话随进程一起死掉,指纹是标准的自动化构建,流量从你自己的机器出去。
展开完整文档(README 剩余 1 节)
dsh-antibrow

一个 DeepSeek Harness 插件,给智能体一个带身份的浏览器。

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

dsh plugin --profile <name> add dsh-antibrow

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

其他浏览器插件都只是给智能体一个全新的 Chromium。读公开页面还行,碰到登录后的东西就没用了:会话随进程一起死掉,指纹是标准的自动化构建,流量从你自己的机器出去。

| | 普通 Playwright 插件 | dsh-antibrow |
| 多次运行之间的身份 | 每次都开新浏览器 | 每个名字一个持久配置档 |
| 登录状态 | 进程结束就没了 | cookie 和 passkey 持久保存,可选跨机器同步 |
| 指纹 | 标准构建,靠页面脚本打补丁 | 在引擎内部伪造,早于任何页面脚本运行 |
| 出口 | 你自己的 IP | 住宅代理,时区、语言和上报的连接信息都跟随它的出口 |
| 并行身份 | 一个数据目录大家共用 | 每个智能体或每个账号一个隔离配置档 |
| 标签页 | 从空白开始 | 恢复上次会话,智能体接着上次停下的地方继续 |

差异在智能体第一次需要成为某个人时就显现出来:查邮箱、盯仪表盘、养一个市场账号。没有记忆的浏览器每次运行都得重新登录,而重新登录恰恰是网站判定为可疑的行为。

它带来什么

- 免费档就能用无限配置档。 不是五个,也不是五十个——配置档存在你的磁盘上,不挂在套餐上,创建一个不花钱。给每个账号、每个市场、每个人设配一个独立浏览器,不用再琢磨智能体手里拿的是哪个 cookie 罐。跨机器同步和托管住宅代理是付费部分;配置档本身永远免费。
- 16 个工具给模型用:会话、配置档、代理、页面控制、实时视图。全部挂在 mcp__antibrow__* 下,全部能从 Code Mode 以普通异步调用触达。
- 同一套 API 也能开 Android 手机。 一个参数——deviceType: 'android'——智能体就变成手机:触摸点、移动端 client hints、手机视口、手机 GPU。见下文。
- 引擎级伪造。 用户代理、平台、屏幕、字体、canvas、WebGL 和音频都由引擎本身应答。不往页面里注入任何东西,所以检测器找不到注入脚本。
- 一套自洽的说法,不是一堆覆盖项。 时区、语言环境和上报的网络配置都从代理的真实出口推导出来,因为一个美国 IP 显示上海时间,这本身就是矛盾,页面一行就能查出来。
- Passkey 能留下来。 WebAuthn 凭据跟着配置档走,不放在机器的钥匙串里,所以某次运行注册的 passkey,下次运行照样能登录——开启同步后,换台电脑也能用。
- 亲眼看它跑。 start_live_view 把智能体的浏览器串流到仪表盘,长时间无人值守的运行,你能盯着看,不用靠猜。
- 身份来自真机。 付费方案下,配置档可以从采集到的真机指纹生成,而不是凭空造一个——整行数据都来自同一台物理机,不是逐字段编出来的。
- 四种构建,三个操作系统:Windows、macOS、Linux,x86_64 和 arm64 都有。同一个配置档在哪个上都能跑。
- 可移植,而且不只给智能体用。 把配置档导出成文件,在另一台机器导入;不同步也没关系,它还在桌面应用里,人可以打开手动收尾。智能体的浏览器和你的浏览器可以是同一个。

手机

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

Android 配置档由整台采集设备生成——屏幕、GPU 报告和 client hints 彼此一致,因为它们来自同一部实体手机,插件是挑一行,不是拼一行。包里自带三行,所以免费版智能体不用联网就能创建 Android 配置档。

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

实测

macOS 主机,走美国住宅代理,2026-08-15,引擎 151:

| 检查项 | 结果 |
| whoer.net 伪装度 | 90% |
| creepjs headless 信号 | 0% |
| creepjs stealth 信号 | 0% |
| creepjs 平台提示 | Arial, "Segoe UI"——没有主机字体 |
| 上报平台 vs user agent | 一致(Win32 / Windows) |
| 时区 vs 代理出口 | 一致(America/Los_Angeles) |

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

安装

dsh plugin --profile <name> add dsh-antibrow
export ANTI_DETECT_BROWSER_KEY=<key>
dsh --profile <name>

工具

| 会话 | 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,把 harness 的 MCP 客户端配置为对接 anti-detect-browser 命令行。在你的配置档自己的 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=<checkout>/dist/cli.js
dsh --profile <name> --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
预览分享卡片长什么样 ↓antibrow/dsh-antibrow
分享 · DeepSeek Harness Hub
antibrow/dsh-antibrow

一个 DeepSeek Harness 插件,给智能体一个带身份的浏览器。

回到顶部