DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

dsh-plugin-brave-cdp

Plugin Brave Cdp

通过 Chrome DevTools Protocol 驱动正在运行的 Brave 浏览器的 DSH 工具

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

npx -y @deepseek-ai/dsh plugin --profile web add github:olegedly/dsh-plugin-brave-cdp#451273bac7abf374c123b50381e4498748fe87ea
README兼容性版本

兼容性与来源证明

Plugin Brave Cdp 以 dsh-plugin-brave-cdp 发布,当前版本为 0.2.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.2.0stable
2026/10/18

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

MarketdshmarketDeepSeek Harness 内的可视化插件市场——浏览、搜索并一键安装社区插件。· DSH 可视化插件市场:浏览、搜索并一键安装社区插件。Ssh@linxin666/dsh-sshdsh Web GUI 的远程 SSH 操作:主机配置存储(~/.dsh/dsh-ssh.json,可从 ~/.ssh/config 导入)、支持跳板主机的持久化 ssh2 连接池、exec / PTY Web 终端 / SFTP 传输 / 本地端口转发隧道 / 集群执行Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包Tui@deepseek-harness-tui/dsh-tui用于 DeepSeek Harness 智能体、会话和工具的交互式终端界面。

README

dsh-plugin-brave-cdp

Drive your own, already-running Brave over the Chrome DevTools Protocol: the real window, your profile, your cookies, your logins, your tabs — including the tab you are looking at right now.

Most browser automation launches a fresh browser it owns. This one attaches to the one you already have open, so an agent can read a login-walled page, fill a form in a session you are signed into, or hand a task back to you mid-flight in the same window. Nothing is scraped from a parallel profile.

Two surfaces, one implementation:

SurfaceUse it when
DSH tools (brave_tabs, brave_goto, …)an agent drives the browser — schemas, rendered results, no shell quoting
brave-cdp CLI (shipped in this package)a human or script drives it, or you want jq/batch pipelines

Both call the same CDP client, so behaviour and failure messages match.

Tools

ToolDoes
brave_tabslist / open / focus / close tabs
brave_gotonavigate a tab (or a new one) and wait for load
brave_snapshotinteractive elements with @eN refs (role, name, value, href, state)
brave_clickreal mouse click by @eN ref, CSS selector, or visible text
brave_fillset an input / textarea / contenteditable, firing input/change
brave_keypress a key, optionally with ctrl / shift / alt / meta
brave_evalevaluate JavaScript in the page, awaiting promises
brave_waitwait for a selector, text, url, or document load
brave_screenshotcapture a PNG and return its path

With no tab argument a tool acts on the tab the user is looking at (document.visibilityState === 'visible'), and every result carries the CLI's tab: header so it is clear which tab ran the call. @eN refs come from brave_snapshot and stay valid until the page navigates.

Screenshots return a path rather than inline pixels: the agent reads the PNG with whatever image-reading tool it already has, so this plugin needs no vision pipeline of its own.

Requirements

  1. Brave started with a CDP port. Add the flag to the launcher's flag file (~/.config/brave-flags.conf for the Arch brave-bin wrapper):

    --remote-debugging-port=9222
    

    The flag applies at startup only, so Brave must be restarted after adding it. The port binds to loopback, but see Security before enabling it.

  2. Node ≥ 22 for the CLI (it uses the built-in fetch and WebSocket; no dependencies). Node ≥ 22 is also required by DSH itself.

  3. DSH with the @deepseek-ai/dsh-tools and @deepseek-ai/schemastery peer packages (present in any DSH install) for the tool surface.

The CLI itself is bundled at bin/brave-cdp.mjs; the tools resolve it from the package, falling back to ~/.local/bin/brave-cdp, then to cliPath / BRAVE_CDP_CLI.

Install

# into a DSH profile (declares dsh.bundle.patch, so the tools row mounts itself)
dsh plugin --profile web add "github:olegedly/dsh-plugin-brave-cdp"

# or from a checkout / tarball
dsh plugin --profile web add /path/to/dsh-plugin-brave-cdp

Then confirm the endpoint is reachable:

brave-cdp status     # endpoint UP + browser version + tab count => ready

Standalone CLI, without DSH (not on npm yet, so install it from the repository):

npm install -g "github:olegedly/dsh-plugin-brave-cdp"   # provides `brave-cdp`
brave-cdp tabs
brave-cdp snapshot -i
brave-cdp click '@e4'
brave-cdp eval 'document.title'
brave-cdp shot page.png --full

CLI

brave-cdp status                     endpoint, browser version, tab count
brave-cdp tabs [list]                tabs, 1-based indices, * marks the target
brave-cdp tabs new <url>             open a tab
brave-cdp tabs select <n|id|text>    focus a tab and raise its window
brave-cdp tabs close <n|id|text>     close a tab
brave-cdp open <url> [--new]         navigate (or open) and wait for load
brave-cdp back | forward | reload [--hard]
brave-cdp snapshot [scope] [-i] [--compact] [--json]
brave-cdp click <@eN|css|--text T> [--exact] [--dblclick]
brave-cdp fill <@eN|css> <text> [--append]
brave-cdp type [@eN|css] <text>
brave-cdp key <Enter|Tab|Escape|ArrowDown|...> [--ctrl --shift --alt --meta]
brave-cdp eval <js> [--file <path>|-]     evaluate JS, print JSON
brave-cdp html [css] [--text] / text [css]
brave-cdp shot [file] [--full]
brave-cdp wait <ms>|@eN|--selector S|--text T|--url U|--load
brave-cdp batch "open https://x" "wait --text Done" "shot done.png"

Global flags: --tab <n|id|url-substr>, --json, --timeout <ms>, --port <n>. Env: BRAVE_CDP_PORT (9222), BRAVE_CDP_HOST (127.0.0.1), BRAVE_CDP_TIMEOUT.

brave-cdp help is the source of truth.

Configuration

KeyDefaultMeaning
cliPathpackaged bin/brave-cdp.mjsCLI to invoke
port9222CDP port (must match the Brave flag)
timeoutMs60000Per-call timeout
screenshotTimeoutMs120000Screenshot timeout

The bundled patch mounts the row as brave-cdp; a profile's own cordis.patch.yml is applied afterwards, so override that id to change the port or point at another CLI:

- id: brave-cdp
  config:
    port: 9223

Security

CDP is full control of the browser: page contents, cookies, and any session you are logged into are readable, and it can act as you on any site. The port binds to loopback only, which limits it to local processes — that is a boundary, not a guarantee. Add the flag when you want an agent to drive the browser, and remove it (and restart) when you do not.

Development

npm run check    # node --check on the plugin and the CLI
npm test         # node --test test/ (no network, no browser needed)
PathWhat
lib/index.jsthe nine tools: schemas, argument mapping, result rendering
bin/brave-cdp.mjsthe CDP client — transport, target selection, DOM refs, input, screenshots
cordis.patch.ymlthe bundle patch that mounts the tools row
test/CLI behaviour and packaging invariants

Because the CDP client lives in the CLI, the plugin is a thin adapter: one tested code path serves both the tool surface and the shell, and the DSH host process never imports a browser-automation dependency.

License

MIT — see LICENSE.