dsh-agent-browser
No description
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 22, 2026
- Updated
- Aug 22, 2026
Introduction
dsh-agent-browser
A DeepSeek Harness plugin: a headed browser with an injected Pick/Draw toolbar, a chat feedback card, launch settings, and dev-server auto-start.
https://github.com/jhlee111/dsh-agent-browser· topics:dsh-plugin,deepseek-harness
⚡ How you use this (read this first)
This is a plugin, not a CLI — there is no npx one-liner. The packages expose no
bin, so npx @deepseek-ai/dsh-agent-browser does not work.
Instead:
- You must have a DeepSeek Harness checkout (the plugin's runtime packages
@deepseek-ai/dsh-*are workspace packages there). - You integrate these two packages into that checkout (copy + a few one-line edits).
- You build, then run
dsh web. The plugin loads inside the harness — the agent browser opens as a Chrome window and its feedback card/settings appear in the GUI.
It is not a standalone browser tool you run by itself. If you just want a browser you control from a script, this isn't that — it is a harness extension.
Minimum prerequisites
- Node.js 22.19+ / 24+, Corepack-enabled
pnpm@11.7.0 - A Chrome install (host launches it in headed mode)
- A DeepSeek Harness source checkout
What it does
- Host half (
packages/dsh-agent-browser) — launches headed Chrome (browser_launch), injects the toolbar into every document, exposes agent tools (browser_launch,browser_feedback,browser_capture), and serves a local HTTP endpoint. - Toolbar — Pick / Draw / viewport presets, Reload, Send → agent.
- Chat feedback card — surfaces toolbar feedback as a card above the composer; [Send to agent] hands it to the model, [✕] dismisses it.
- Launch settings — GUI Settings → Agent Browser to set default URL, viewport,
OS window size, and a dev-server command (run in a working dir, wait for a port,
then open the browser — e.g.
envrun .env iex -S mix phx.server). - Page driving — host
POST /evaluateruns JS in the page so the agent can fill/submit forms.
Repository layout
packages/
dsh-agent-browser/ # host half (node Cordis plugin, consumes `tools`)
dsh-client-ui-agent-browser/# client half (web `dsh.client` surface)
Install (integrate into a DeepSeek Harness checkout)
The harness expects the two packages by their @deepseek-ai/... names, so they stay
@deepseek-ai/dsh-agent-browser and @deepseek-ai/dsh-client-ui-agent-browser even
though the source lives in this repo.
1. Get the code
git clone https://github.com/jhlee111/dsh-agent-browser
# or copy the packages into your harness checkout:
# packages/dsh-agent-browser -> <harness>/packages/agent-browser/agent-browser
# packages/dsh-client-ui-agent-browser -> <harness>/packages/client/ui-agent-browser
2. Register build references
In <harness>/tsconfig.client.json add:
{ "path": "./packages/client/ui-agent-browser" }
In <harness>/tsconfig.host.json add:
{ "path": "./packages/agent-browser/agent-browser" }
3. Declare bundle dependencies
In <harness>/packages/bundle/web-app/package.json dependencies:
"@deepseek-ai/dsh-agent-browser": "workspace:^",
"@deepseek-ai/dsh-client-ui-agent-browser": "workspace:^"
4. Register the client surface (browser roster)
In <harness>/packages/bundle/web-app/cordis.patch.yml:
- insert:
- id: ui-agent-browser
name: '@deepseek-ai/dsh-client-ui-agent-browser'
5. Enable the host half per session (agent preset)
In ~/.dsh/.agent-presets/agent-browser/agent.cordis.yml:
- id: agent-browser
name: '@deepseek-ai/dsh-agent-browser'
config:
defaultUrl: http://localhost:4000/todos
6. Install & build (from the harness root)
pnpm install
pnpm run build:lib:host
pnpm run build:lib:client
7. Run
pnpm dsh web --port 3081
Configure & use it daily
- Open the harness web GUI (
http://127.0.0.1:3081), hard-refresh (Cmd/Ctrl+Shift+R). - In the GUI, open Settings → Agent Browser:
- set Default URL, Viewport, Window size
- set a Dev server cmd / Working dir / Port (optional) — e.g.
envrun .env iex -S mix phx.server, working dir = your project, port = its listen port. On the next launch the host runs the command, waits for the port, then opens the browser there.
- Use the browser's injected toolbar to Pick / Draw, then Send → agent. The feedback appears as a card above the composer; [Send to agent] submits it.
- The agent can also drive the page directly via
POST http://127.0.0.1:4600/evaluate({"code": "..."}).
Launch settings are stored per-host in
feedback/launch-settings.jsoninside the agent-browser package;envrun, project paths, and ports are your settings, not part of this plugin.
FAQ
Can I just npx @deepseek-ai/dsh-agent-browser?
No. This is a harness plugin with no bin. It must be loaded by DeepSeek Harness.
A true one-command install would require the harness's @deepseek-ai/dsh-* runtime
packages to be published to npm and a published dsh-agent-browser installed and
declared in your profile — still launched via dsh web, never a standalone binary.
Can I use it without forking DeepSeek Harness? Today the harness's runtime/UI packages are unpublished workspace packages, so the plugin is integrated into a harness checkout (steps above). Once they're published, the integration becomes dependency + profile entries only.
Notes
- The model catalog
inputModalitiesfix for vision models is per-deployment model configuration, not part of this plugin.