편집자 노트

浏览器伴侣

A personal DeepSeek Harness (DSH) browser plugin.

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

업스트림에서 중국어 README를 제공하지 않아 저장소 원본 내용을 표시합니다.

dsh-browser-companion

English | 简体中文

dsh-browser-companion

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:

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 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

REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

저장소가 MIT 라이선스를 선언했습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.