DeepSeek Harness 插件

dsh-browser-companion

Persistent visible browser for DeepSeek Harness with human-in-the-loop login and agent browser tools.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
Tianyu209/dsh-browser-companion
最近更新
2026年8月15日
分类
工具与能力
GitHub stars
4
载体类型
bundle
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/Tianyu209/dsh-browser-companion
插件名:dsh-browser-companion
作者:Tianyu209

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-browser-companion

<p align="center">

<strong>English</strong> | <a href="README.zh-CN.md">简体中文</a>

</p>

<p align="center"> <img src="assets/icon.png" alt="dsh-browser-companion" width="120" height="120"> </p>

A personal DeepSeek Harness (DSH) browser plugin.

It gives your agent a dedicated, persistent, visible browser:

  • You can watch what the agent is doing in a real browser window.
  • Logins are done by you in the popup window; passwords and OAuth secrets never pass through the agent.
  • Cookies and login state are saved in the same profile, so logins persist across restarts.

Features

  • ✅ Persistent browser profile (cookies / localStorage / login state)
  • ✅ Visible window mode (default headless: false)
  • ✅ Human-in-the-loop login: browser_login opens a window and you type your password / complete OAuth yourself
  • ✅ Agent tools: open, snapshot, click, type, press, screenshot, see, select, check, upload, hover, scroll, tabs, status
  • ✅ Security guard: browser_type refuses to fill password fields
  • browser_see uses a local vision model (OpenAI-compatible) so the agent can understand images / visual layouts when needed
  • ✅ Based on agent-browser, so the hard browser automation is battle-tested

Out-of-the-box

The plugin works with zero configuration for basic browsing:

  • Uses the bundled browser (agent-browser's Chromium) by default
  • Uses a default persistent profile under ~/.dsh/browser-profile
  • All basic tools work: open, snapshot, click, type, tabs, etc.

Optional settings can be changed in the DSH WebUI plugin settings:

  • executablePath: set to your real Chrome/Edge to avoid login blocks (e.g. Google)
  • visionBaseUrl / visionModel: enable browser_see with a local vision model
  • profilePath: use a custom browser profile location

If browser_see is not configured, it returns a friendly message instead of breaking the agent.

Install

1. Install dependencies

npm install -g agent-browser
agent-browser install   # first-time Chromium download

2. Install the plugin

From npm or GitHub (once published):

dsh plugin --profile web add dsh-browser-companion

> pnpm users: when installing from GitHub, pnpm may block agent-browser's build script. > Add this to your profile's pnpm-workspace.yaml and re-run: > ``yaml > allowBuilds: > agent-browser: true > ``

Or for local development, add this to ~/.dsh/profiles/web/cordis.patch.yml:

- insert:
    - id: dsh-browser-companion
      name: 'file:///absolute/path/to/dsh-browser-companion/src/index.js'
      config:
        profilePath: '/home/your-name/.dsh/browser-profile'
        headless: false
        executablePath: '/path/to/your/chrome'
        browserArgs: '--disable-blink-features=AutomationControlled'
        defaultTimeout: 30000

See [examples/dsh-browser-companion.config.yml](examples/dsh-browser-companion.config.yml) for a full sample config with placeholders.

> ⚠️ Never commit real paths, tokens, or personal profile data. Use the sample config and replace values locally.

3. Restart DSH

dsh web

Agent Tools

ToolDescription
browser_openOpen a URL (visible window by default)
browser_snapshotGet an accessibility snapshot with @e1 refs
browser_clickClick an element
browser_typeType text (never into password fields)
browser_pressPress a key
browser_screenshotSave a screenshot locally
browser_seeScreenshot + local vision model description (use sparingly)
browser_get_textRead element text
browser_get_url / browser_get_titleGet URL / title
browser_waitWait for time / element / URL
browser_back / forward / reloadNavigation
browser_selectSelect a dropdown option
browser_check / browser_uncheckCheck / uncheck a checkbox
browser_uploadUpload files
browser_hoverHover an element
browser_scrollScroll the page
browser_tabs / browser_new_tab / browser_close_tab / browser_switch_tabTab management
browser_statusBrowser status
browser_loginOpen a visible login window for the user
browser_wait_loginWait until login completes (cookie / URL)
browser_closeClose the browser (profile is kept)

Typical Login Flow

Agent: I need to log in to a site.
Agent calls browser_login("https://example.com/login")
→ You see a popup and log in manually
→ You tell the agent "done"
→ Agent continues with the same cookies

How the Agent “Sees” a Page

  • Default: browser_snapshot — fast, free accessibility tree with refs.
  • Only when needed: browser_see — screenshot + local vision model, for images / visual layout / complex UI.

Configuration

KeyDefaultDescription
profilePath~/.dsh/browser-profilePersistent profile directory
headlessfalseShow browser window
defaultTimeout30000Per-operation timeout (ms)
agentBrowserPathauto-detectOverride agent-browser CLI path
executablePathautoChrome/Edge executable path (recommended for Google login)
browserArgs--disable-blink-features=AutomationControlledExtra browser launch args
visionBaseUrlhttp://127.0.0.1:1234/v1Local vision model endpoint
visionModelyour-vision-modelLocal vision model name

Security Notes

  • The agent is instructed never to fill password fields.
  • Passwords and OAuth secrets are entered by the user in the visible browser window.
  • For stronger protection, future versions can add encrypted cookie storage and proxy-based credential injection.

Development

npm install
npm test

License

MIT