imroc/dsh-browser-panel ↗★ 0

dsh-browser-panel

A browser that lives in the DSH host: every session gets its own tab, the AI drives it, and you watch or take over that same tab inside the DSH Web UI — logins, 2FA, QR codes and CAPTCHAs included. 适合需要 AI 与用户共用同一页面处理验证或表单的场景,需按配置重启生效

Package
dsh-browser-panel
Compatibility
Unverified
Version
0.2.0
License
MIT
Last updated
Sep 14, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:imroc/dsh-browser-panel

Configuration

Override any field from your own patch layer (~/.dsh/cordis.patch.yml, or the profile's cordis.patch.yml). The whole config key is replaced, so restate what you need:

- id: browser-panel
  config:
    mode: headless            # auto | headed | headless
    viewport: 1280x800
    idleShutdownMinutes: 30
KeyDefaultMeaning
browserPath''Explicit Chrome/Chromium path; empty = auto-detect.
profileDir''Persistent profile; empty = $DSH_HOME/browser-panel/profile. Shared by every session.
modeautoauto = headed on a private Xvfb when available, else headless.
screen1440x900x24Geometry of the private Xvfb.
windowSize1440x900Chrome window size in headed mode.
viewport1440x900Emulated page viewport — the same for every session tab, and the panel canvas coordinate space.
xvfbDisplay:99Preferred X display; the next free one is used if taken.
port0Fixed DevTools port; 0 picks a free one.
startUrlabout:blankFirst URL of each session's fresh tab.
extraArgs[]Extra Chrome switches.
snapshotMaxChars4000Page text budget per snapshot.
maxElements80Interactive elements listed per snapshot.
screencastQuality60JPEG quality of the stream (and of the polled stills).
screencastMaxWidth1440Maximum streamed frame width.
pollFrameMs140Poll interval for panels that cannot own the foreground screencast (~7 fps). Values below 60 are clamped.
askHumanTimeoutSeconds600Default budget of browser_panel_ask_human.
idleShutdownMinutes0Stop the browser — and with it every session's tab — after this much idle time; 0 never stops it.
autoStartfalseStart the browser with the host instead of on first use.
startTimeoutMs20000How long to wait for the DevTools endpoint after launch.