DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Antibrow — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
A

dsh-antibrow

Antibrow

DeepSeek Harness 插件:具有持久身份的智能体浏览器——引擎级指纹伪装、每个配置文件独立的 Cookie 和通行密钥、住宅代理出口。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:antibrow/dsh-antibrow#d032210ba3f5747686fb151fc79d2bc9a89c2ea4
README兼容性版本

兼容性与来源证明

Antibrow 以 dsh-antibrow 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/9/12

版本

0.1.0stable
2026/9/12

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 security-access 分类下经过校验的插件。

Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Auto Reviewdsh-auto-review针对 DeepSeek Harness 审批请求的第二模型 AI 自动审查:只读审查子代理在审批应答链上决定允许或拒绝,并采用故障关闭回退机制和完整的会话日志审计。

README

dsh-antibrow

A DeepSeek Harness plugin that gives the agent a browser with an identity.

The browser is AntiBrow: a Chromium fork with fingerprint configuration at engine level, driven through the standard Playwright API. SDK docs are at antibrow.com/docs, and the dated detection measurements - including the checks that fail - are at antibrow.com/reports.

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

Why not a plain browser plugin

Every other browser plugin hands the agent a fresh Chromium. That is fine for reading a public page and useless for anything behind a login: the session dies with the process, the fingerprint is a stock automation build, and the traffic leaves from your machine.

A plain Playwright plugindsh-antibrow
Identity between runsnew browser every timeone persistent profile per name
Loginsgone when the process endscookies and passkeys persist, optionally synced across machines
Fingerprintstock build, patched from page scriptsspoofed inside the engine, before any page script runs
Egressyour own IPresidential proxy, with timezone, language and reported connection following its exit
Parallel identitiesone data directory to shareone isolated profile per agent or per account
Tabsstart from nothinglast session restored, so the agent resumes where it stopped

The difference shows up the first time an agent has to be someone: check a mailbox, watch a dashboard, keep a marketplace account warm. A browser with no memory has to log in again on every run, and logging in again is exactly what a site treats as suspicious.

What it brings

  • Unlimited profiles, on the free tier. Not five, not fifty - profiles live on your disk, not on a plan, and creating one costs nothing. Give every account, every marketplace, every persona its own browser and stop reasoning about which cookie jar the agent is holding. Syncing them between machines and the managed residential proxies are the paid parts; the profiles themselves never are.
  • 16 tools for the model: sessions, profiles, proxies, page control, live view. All under mcp__antibrow__*, all reachable from Code Mode as ordinary async calls.
  • An Android phone, from the same API. One argument - deviceType: 'android' - and the agent is a phone: touch points, mobile client hints, phone viewport, phone GPU. See below.
  • Engine-level spoofing. The user agent, platform, screen, fonts, canvas, WebGL and audio are answered by the engine itself. Nothing is injected into the page, so there is no injected script for a detector to find.
  • A coherent story, not a pile of overrides. Timezone, locale and the reported network profile are derived from the proxy's real exit, because a US IP that reports Shanghai time is a contradiction a page can check in one line.
  • Passkeys survive. WebAuthn credentials are stored with the profile, not in the machine's keychain, so a passkey registered on one run still signs in on the next - and, with sync on, on another computer.
  • Watch it work. start_live_view streams the agent's browser to a dashboard, so a long unattended run is something you can look at instead of guess about.
  • Identities from real machines. On a paid plan a profile can be minted from a captured real-device fingerprint rather than a generated one - a whole coherent row off one physical machine, not a field-by-field invention.
  • Four builds, three operating systems: Windows, macOS, and Linux on both x86_64 and arm64. The same profile runs on any of them.
  • Portable, and not only to agents. Export a profile as a file and import it on another machine; leave it unsynced and it is still there, in the desktop app, for a human to open and finish by hand. The agent's browser and yours can be the same browser.

The phone

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

Android profiles are built from whole captured devices - the screen, the GPU report and the client hints agree with each other because they came off the same physical phone, and the plugin picks a row rather than assembling one. Three of them ship inside the package, so a free-tier agent can create an Android profile with no network round trip at all.

The device type is fixed when the profile is created and never drifts afterwards: a profile that was a phone stays that phone. Android needs engine 151 or newer - if none is available the launch fails rather than quietly handing you a desktop browser that claims to be a phone.

Measured

On a macOS host, through a US residential proxy, 2026-08-15, engine 151:

CheckResult
whoer.net disguise90%
creepjs headless signal0%
creepjs stealth signal0%
creepjs platform hintsArial, "Segoe UI" - no font from the host
Reported platform vs user agentagree (Win32 / Windows)
Timezone vs proxy exitagree (America/Los_Angeles)

The 10% whoer deducts is WebRTC, which had no route to a STUN server on that run. Reproduce all of it with tests/smoke - the harness is in this repository, and it fails loudly rather than printing a number nobody checks.

Install

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

The tools

Sessionslaunch_browser close_browser list_sessions
Profileslist_profiles create_profile delete_profile
Proxieslist_proxies claim_proxy
Pagenavigate click fill evaluate get_content screenshot
Live viewstart_live_view stop_live_view

launch_browser takes a profile name and creates it on first use. Pass temporary: true for automation work: those profiles are local-only and stay out of the desktop app's list, while still persisting on disk.

Before you rely on it

  • One browser at a time on a free key. The concurrency limit is carried by the license and counted per machine, across every application using the same engine. Fan an agent out into parallel sessions only on a plan whose limit covers them, or the extra launches are refused.
  • The engine downloads on first launch (190-320 MB depending on platform), into a shared cache directory. The first launch_browser of a fresh install pays for that; later ones do not.
  • A persistent identity is a real identity. Two agents driving one profile at once is the same mistake as two people sharing one browser: last one to close wins. Give each its own.

Configuration

The bundle inserts one row, mcp-antibrow, configuring the harness's MCP client against the anti-detect-browser CLI. Override it from your profile's own cordis.patch.yml by targeting that id - a patch replaces the row's whole config, so restate every key you keep:

- 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

Turn it off without uninstalling:

- id: mcp-antibrow
  disabled: true

To run the SDK from a checkout instead of npm, use the overlay this package ships:

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

Compatibility

Verified against dsh 0.1.0-rc.6 and anti-detect-browser 2.19.1, 2026-08-15. DeepSeek Harness is a developer preview and says it will break compatibility; this line is the claim, and it rots without a re-test.

The SDK version floor is real: 2.19.1 is the first release whose close path ends the browser process instead of only dropping the debugging connection. On an older one a closed session leaves the browser running, which keeps that profile's directory locked - the next launch of it dies before the debugging connection is ready - and holds a concurrency slot for the rest of the run.

Links

  • Product: https://antibrow.com
  • SDK documentation: https://antibrow.com/docs/sdk
  • MCP server: https://antibrow.com/docs/mcp
  • Detection measurements (CC BY 4.0, failures included): https://antibrow.com/reports

License

MIT