dsh-sidebar-browser-cdp
Verifieddsh-sidebar-browser-cdp · v0.3.0 · MIT · Web UI
Let the agent use DSH Desktop's built-in sidebar browser
Install
dsh plugin add dsh-sidebar-browser-cdp Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
dsh-sidebar-browser-cdp
A DSH plugin that lets the agent use DSH Desktop's built-in browser, the
Browser tab in the right sidebar. It adds 17 browser_* tools and works with
the app started the normal way.
Full documentation: https://github.com/alesha-pro/dsh-sidebar-browser
Install
In DSH Desktop open Plugins, press Add plugin and enter
dsh-sidebar-browser-cdp. Press Install, then Enable now, and start a new
session. @deepseek-ai/dsh-tools and @deepseek-ai/cordis are peer
dependencies and come from the running app.
Two transports
The plugin has a host half (lib/index.js, the tools) and a client half
(lib/client.js) that DSH loads into its own window. By default a tool call
goes to the window, which drives the sidebar <webview> with the element's own
methods and the sidebar service. No launch flag is involved.
Started with --remote-debugging-port=9222, the app also accepts raw CDP on the
webview target. That path is required for browser_cookies_export, because a
login lives in HttpOnly cookies that no page script can read, and it turns
browser_screenshot into a pixel capture. Without the port a screenshot is
rendered in-page from the DOM by the vendored modern-screenshot library
(lib/vendor/, MIT).
The transport setting picks the path: auto (default), window or cdp.
Tools
| Tool | What it does |
|---|---|
browser_open |
open a new Browser tab (expands the sidebar) and load a URL |
browser_close |
close a sidebar tab by title or the active one, or collapse the sidebar |
browser_tabs |
list browser tabs and show which one is controlled |
browser_snapshot |
title, URL, and a numbered inventory of interactive elements |
browser_navigate |
go to a URL in the current tab |
browser_click |
click by snapshot number (single or double) |
browser_type |
type into an element (React/Vue safe, replace clears first) |
browser_press |
one key: Enter, Tab, Escape, arrows, a character |
browser_scroll |
up / down / top / bottom, scrolling whichever element really scrolls |
browser_text |
visible page text |
browser_html |
outerHTML of an element by number |
browser_eval |
evaluate JS in the page |
browser_screenshot |
PNG of the viewport, or of a long page as viewport-sized slices |
browser_history |
back / forward / reload |
browser_cookies_import |
restore a vault, or a cookie file exported from a regular browser, and reload |
browser_cookies_export |
save a site's cookies to the vault; needs the debug port |
browser_cookies_vaults |
what is in the vault: files, cookie counts, save times |
Development
Link a local clone instead of installing from npm. A linked folder resolves
imports from its own directory, so it needs node_modules:
npm install
DSH="/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh"
"$DSH" plugin --profile desktop add "$PWD"
# the debug-port path against a live app started with the port
node selftest.mjs
Edits to lib/ are picked up when the app restarts. Full rollback: uninstall
the bundle on the Plugins page, or drop dsh-sidebar-browser-cdp from
dependencies and from dsh.profile.bundles in
~/.dsh/profiles/desktop/package.json.