DeepSeek Harness plugin · Chromium extension

Give your DeepSeek Harness agent real browser hands.

Augmentor lets your agent do the web work for you: it opens pages, reads them, clicks, and types in your real Chromium browser — so you stop doing repetitive tasks by hand. It runs on the DSH you already have, and every action happens behind a frost veil you can watch.

  • It does the clicking and typing. Navigate, read, fill forms, extract, and step through multi-tab flows in your real browser.
  • Your models, your call. Run it on a local llama.cpp model for privacy and free, or DeepSeek in the cloud — switch per conversation.
  • You can trust it. A frost veil sits over the tab it’s driving and tells you in plain words what it’s doing, then melts.

No second runtime · no fork · no DSH patch. It snaps onto the DSH you already run.

chrome://extensions · Augmentor side panel
Augmentor side panel in Chromium, connected, model Qwen3.8-27B (local)

the real side panel · live in your browser

MODELS

Run it local. Run it cloud. Your call.

The panel’s model picker is the DSH catalog: the same $DSH_HOME/settings.yaml your app reads. Point Augmentor at a 27B on your own GPU or DeepSeek in the cloud, and switch per conversation. No per-route config, no restart.

Qwen3.8-27B (local) switch anytime
Local · llama.cpp · your hardwareprivate · free
Qwen3.8-27B Q6_K_XL
Llama-3.1-8B instruct
any route you configure settings.yaml
Cloud · DeepSeekfrontier · no hardware
deepseek-v4-flash fast
deepseek-v4-pro strongest
deepseek-v4-flash-vision vision

Run it local

Use the models already running on your machine through llama.cpp. Private, offline, and as free as your own hardware. Augmentor reads your local routes straight from DSH settings. Nothing extra to wire up.

Run it cloud

Flip to the built-in DeepSeek route for frontier models. No local GPU required. The key resolves per request from your DSH credential store, the same one the app’s Models page writes.

IN ACTION

One prompt, one real tab.

Here’s a turn. On the left, the conversation; on the right, the frost veil on the very tab the agent is driving. You see every step in plain words.

Augmentor · Augmentor ChatQwen3.8-27B · local
Open example.com and tell me the exact title.
Opened example.com
Analysing the page…
The page title is “Example Domain”. It explains the domain is reserved for examples in documents.
https://example.com · agent is driving this tab
The Augmentor frost veil over a browser tab with a status pill
The frost veil, liveCondenses in, breathes for the whole turn, and melts when the answer lands. The pill says exactly what’s happening, in plain words.
navigate snapshot click type tabs_list → ~200ms per action

HOW IT WORKS

Three little moving parts, one of them is yours.

The extension talks to your running DSH through the native-messaging host. The whole path stays on loopback and reuses the transport you already trust.

01 · EXTENSION

Chromium side panel

The chat UI, session + model picker, and the per-tab browser executor. It owns the frost veil and status pill.

02 · PROTOCOL PIPE

Native host

A small loopback Node process re-frames the port traffic as /api calls + downlink sockets. This is the only process Augmentor owns.

03 · YOUR DSH

The running installation

The @deepseek-ai/dsh-augmentor plugin registers the browser_* tools and bridges each to the extension. Everything else (model catalog, sessions, Stop) is stock DSH.

FEATURES

Built for the DSH user, not around them.

Everything below is stock DeepSeek Harness surfaced through the panel. No config you have to re-learn.

Local or cloud models

The picker is your DSH catalog: local llama.cpp routes and the built-in DeepSeek route, exactly as configured. Switch per conversation, no restart.

Real browser tools

browser_tabs_list, browser_navigate, browser_snapshot, browser_click, browser_type, registered in-process on the agent. No bash round-trip, no CLI, no relay.

DSH session parity

Conversations are real DSH sessions (session.create), shown in the app sidebar, live in both places. Ephemeral by default, one tap to Save to Augmentor Chat.

Stop works

Stock session.cancel aborts the live turn while preserving the pending inbox. No local DSH patch, no interrupt route to maintain.

Live streaming

Replies render as they’re generated. The panel coalesces deltas per animation frame with a blinking caret, mirroring the DSH web GUI.

Open in DSH

Jump from the panel straight into the running app with the right chat. Saved chats land in Augmentor Chat; the rest stay in Ungrouped, where housekeeping keeps them from piling up.

THE FROST VEIL

You always see when it’s working.

Every tab the agent touches wears a visible marker. A WebGL frost sheet condenses in, breathes for the whole turn, and melts when the job is done. Move your mouse over it, and the light follows.

example.com

Thinking…

live WebGL demo · pointer moves the light · reduced-motion gets the static fallback

Condense → breathe → melt

The indicator appears the moment the agent takes control and only leaves before the answer. It lives for the whole turn, never fading mid-action.

Plain-language status

“Checking open tabs…”, “Clicking…”, “Typed into the search box”. Element text, never selectors. Machine errors get translated too.

Never blocks the page

Pointer-events pass through and the centre stays see-through, so you can keep reading while the agent works. No backdrop blur in the way.

WHAT IT’S FOR

Hand it a task. It drives your tab.

Whatever you’d do to a page by hand (navigate, read, click, type), your agent can do, on the model you point it at.

🧾

Fill out forms

“Log in and set these fields.” The agent types into the right boxes on the page you’re looking at, and you watch it happen.

🔎

Read & extract

“Summarise this page” or “grab the pricing table.” It snapshots real content, never inventing what isn’t there.

🔁

Multi-step flows

Search, open, compare, repeat. It keeps the conversation and your context across the whole flow, on one tab or several.

👁️

Watch & check

Point it at a page and ask it to check something. The veil stays up while it works, and melts when it reports back.

⚙️

Your local stack

Run it entirely on a local model: private, offline, no API bill. Or hop to the cloud for a harder task.

🗂️

Keep or toss it

Every chat is disposable by default. The one worth keeping? One tap files it into the Augmentor Chat workspace in DSH.

MEASURED, NOT MARKETED

Real Chromium, real numbers.

0
browser-action round trip
0
prompt-cache hit
0
streaming renders ≤ 50ms apart
0
patches to DeepSeek Harness

"open example.com · snapshot · tell me the title" → prompt to idle in 3.42s on a local 27B model.

INSTALL

Up and running in about five minutes.

Two ways to install: do it by hand below, or copy one prompt and let your agent do it. If you already run DSH, you’re 90% of the way there.

Heads-up: DSH is pre-release, so keep the DSH and extension versions in step. Augmentor reads the installation version at handshake and surfaces a clear incompatibility if they drift.

0 · Install DeepSeek Harness — only if you don’t have it

Augmentor is a plugin for DeepSeek Harness (DSH), so DSH is the runtime you need first. Get it from github.com/deepseek-ai/deepseek-harness.

1
Install Node.js (v20+), then copy-paste into a terminal:
npx @deepseek-ai/dsh web
2
DSH starts the web UI at http://127.0.0.1:3080 and opens it in your browser. Once it’s up, come back and install Augmentor below.

Run it from source instead: git clone https://github.com/deepseek-ai/deepseek-harness.git && cd deepseek-harness && pnpm install && pnpm run build && pnpm dsh web

A · The Chromium extension

1
Open chrome://extensions, turn on Developer mode.
2
Load unpacked → select the augmentor/extension/ folder.
3
Note the extension id, then install the native host:
./install-native-host.sh <extension-id>
4
Open the side panel, hit Connect, pick a local or cloud model, and send a prompt.

B · The DSH plugin

1
Install @deepseek-ai/dsh-augmentor into your profile.
dsh plugin --profile <name> add @deepseek-ai/dsh-augmentor
2
The package auto-joins the layer stack; or insert its row into ~/.dsh/cordis.patch.yml. The app live-watches that file and mounts the plugin without a restart.
3
The plugin registers the browser_* tools and its own GUI card (connection status, endpoint, dedicated directory).
4
No patch to DSH, no fork, no second runtime, and it offers whatever models your settings do.

OR · AUTOMATIC INSTALL

Let your agent install it for you.

Not in the mood to click around? Copy this prompt into the AI you already use — your DSH agent or any coding assistant. It installs DSH and Augmentor end-to-end and reports exactly what it did.

You are installing Augmentor Agent (a DeepSeek Harness plugin + Chromium extension) on this machine. Work step by step; confirm each step and report what you did. 1) Prereq — confirm Node.js 20+ and npm are installed (`node -v`, `npm -v`). If not, install Node.js. 2) Install DeepSeek Harness if it isn't already running: `npx @deepseek-ai/dsh web`. Verify the UI is up at http://127.0.0.1:3080. 3) Load the Augmentor Chromium extension: open chrome://extensions, enable Developer mode, click "Load unpacked", and select the augmentor/extension/ folder in the Augmentor repo. Note the extension id. 4) Install the native-messaging host: run `./install-native-host.sh <extension-id>` from the Augmentor repo. 5) Add the DSH plugin: run `dsh plugin --profile <name> add @deepseek-ai/dsh-augmentor`. 6) Open the Augmentor side panel, click Connect, pick a model, and send a test prompt to confirm it works. Do not change anything outside DeepSeek Harness, the Augmentor repo, and the Chromium extension. When you are done, tell me exactly what you installed and where.

Works in an Augmentor chat too — it has the browser_* tools to open chrome://extensions and do the web steps for you.

FAQ

Good questions, straight answers.

Yes. The picker lists whatever your DSH settings expose: local llama.cpp routes and the built-in DeepSeek cloud route. Start on a local model, switch to a cloud one mid-project, and back again. Each switch keeps the session’s id and context; the next reply comes from the new model.
No. It’s a plugin on the DSH you already run plus a Chromium extension. Your DSH is the runtime, and the conversation is a real DSH session in the app’s own store.
Any Chromium-based browser — including Google Chrome, Microsoft Edge, Brave, Opera, and Vivaldi, plus plain Chromium builds. Models are whatever your DSH settings define; no route is hand-declared in Augmentor, so it can never drift from the app. For cloud, the DeepSeek key comes from your DSH credential store.
The extension talks to DSH only through the loopback native-messaging host, and the plugin’s own browser-action channel carries a generated token so arbitrary local processes can’t drive it. The agent targets the tab you’re looking at, and you see every action behind the veil.
They start disposable (Ungrouped), like a research chat. One tap on Save promotes the chat into the Augmentor Chat workspace; a housekeeping sweep archives stale unattached chats so the list never piles up.
Give this prompt to your DSH (paste it into an Augmentor chat) and it will uninstall it for you:
Uninstall the Augmentor Agent plugin and extension on this machine, but leave DeepSeek Harness and my browser profile untouched. 1) Remove the Chromium native-messaging host manifest ~/.config/chromium/NativeMessagingHosts/com.deepseek.dsh.augmentor.json (and the matching Edge, Brave, Opera, and Vivaldi paths if present). 2) Remove the @deepseek-ai/dsh-augmentor plugin from my DSH profile. 3) Unload the Augmentor extension from the browser. Report exactly what you removed and confirm nothing else changed.
Prefer to do it by hand? Remove that native-host manifest, unload the extension, and delete the plugin — the plugin leaves DSH itself untouched.

Give your agent real hands.

If you already run DeepSeek Harness with local or cloud models, you’re minutes away from browser control you can actually see.

Preview build · not yet on the store · load it unpacked from the repo.