dsh-augmentor
v0.1.32
Published
Augmentor for DeepSeek Harness: DSH plugin + Chrome extension that drives the user's real browser from any DSH session — live page snapshot, click, type, tabs — with save-to-workspace chat sessions.
Maintainers
Readme
dsh-augmentor (DSH plugin)
The DSH-side half of Augmentor: it mounts into a DeepSeek Harness web profile and gives any DSH session the tools to drive the user's real Chromium-based browser (page snapshot, click, type, tabs) through the Augmentor Chrome extension, plus the chat-lifecycle surface (dedicated chat dir, save-to-workspace sessions) the extension panel uses.
The package is a cordis
bundle: dsh plugin add installs it into a profile and its dsh.bundle.patch
layer mounts the plugin automatically.
Compatibility
Version 0.1.32 requires DSH 0.1.5-rc.1 and matching Augmentor native-host and extension files. The tools SDK is a host-provided optional peer, not an installed runtime dependency: a second copy in the DSH profile can shadow the host registry and break tool scheduling. The exact SDK remains pinned as a development dependency for builds.
Upgrade DSH, update the extension tree, rerun install-native-host.sh,
update this plugin, then restart DSH and reload the extension. Older
Augmentor releases do not support DSH's authenticated Typert API.
Requirements
- Node.js ≥ 22.18 (the DSH host requirement)
- A DSH web profile (e.g.
web) - Chromium-based browser with the Augmentor extension installed (see the repo root README)
Install
From npm (recommended):
dsh plugin --profile web add dsh-augmentorFrom git (no npm needed):
git clone https://github.com/ManoloRemiddi/augmentor-dsh-extension-plugin.git
dsh plugin --profile web add /path/to/augmentor-dsh-extension-plugin/plugindsh plugin is a thin pnpm forwarder: it installs the package into the
profile's node_modules, sees the dsh.bundle.patch declaration, and adds the
package to dsh.profile.bundles — the next profile boot composes the plugin's
patch layer and mounts it.
Note on build scripts: the
preparescript rebuildsdist/index.js(the bundled entry) with esbuild. A pre-builtdist/ships in the repo, so if pnpm's build-script policy blocksprepare(pnpm ≥ 10 default), the install still works — or allow the build in the profile'spnpm-workspace.yamlunderallowBuildsand re-run.
Configuration
Declared in the profile's cordis.patch.yml (the plugin's patch layer supplies
the entry; config rows can be added there):
| key | default | meaning |
| --- | --- | --- |
| apiPath | /api/augmentor | HTTP handshake route under the DSH app |
| wsPath | /api/augmentor/ws | WS upgrade route for the pipe channel |
| commandTimeoutMs | 30000 | per-action browser round-trip timeout |
| wsToken | (empty) | action-channel token; empty = per-machine secret file ~/.dsh/augmentor-ws-token (created 0600 on first boot) |
| chatDir | ~/Augmentor | dedicated directory Augmentor chats live in (~ expands) |
| agentPreset | augmentor | agent preset for extension sessions (carries the browser-control persona) |
| workspaceTitle | Augmentor | workspace the Save button attaches sessions to |
Wire protocol
The pipe (the extension's native-messaging host) connects to wsPath, gated by
the token (header x-augmentor-token, legacy ?token= fallback on the plugin
side). Frames are JSON objects; the canonical vocabulary lives in
../wire.mjs (shared by pipe, plugin, and the extension
service worker):
welcome {name, protocol, version}— plugin → pipe, once on connectrequest {id, method, params}/reply {id, result | error}— both directions;browser/executegoes to the active pipe only, and its reply must come from that same socket
Tools exposed to the agent
browser_tabs_list, browser_navigate, browser_snapshot, browser_click,
browser_type — each one round trip through the active pipe to the extension.
License
MIT — see the repository.
