dsh-tabbit
Manifest valid★ 116Tabbit Browser plugins for Deepseek Harness
dsh-tabbit — Tabbit's Official DeepSeek Harness Plugin

The DeepSeek Harness (dsh) plugin bundle for Tabbit Browser. dsh can use this plugin to drive Tabbit to complete Agent tasks: real pages, real login sessions, real interactions, powered by native code-first tools (no shell forwarding). Suitable for web automation, information extraction, QA, and evaluation.
Capabilities
| Capability | Description |
|---|---|
tabbit_browser | Users can perform web reading and web operations via the real CLI mode built into Tabbit. |
Browser-agent web_fetch | Reroutes dsh's web_fetch to Tabbit (dsh's built-in direct fetcher has no JS rendering, no login session, and does not use the system proxy — under a fake-ip proxy environment it would reject every domain). |
"Web tab" mentions with @ in the input box | Type @ in the dsh Web UI input box to list pages opened in the current session's browser task as well as all tabs in the user's browser, which can be selected as context. |
| Standalone "page read" permission | Robust permission control. Because it shares cookies with the user, dsh confirms permissions when accessing Tabbit web pages: pageAccess (prompted once per session by default) + intranetFetch (web_fetch access to intranet targets is approved per call by default). |
tabbit_browser_install tool | Environment pre-check: detects installed stable Tabbit, validates launcher and Runtime Service; when missing or outdated, downloads Tabbit as a dsh background task. |
tabbit_plugin_update tool | Plugin update check: queries the latest release on npm at most once per day; if a suitable version exists, it installs offline and silently. |
/tabbit-info command | Type /tabbit-info in the dsh input box to diagnose: plugin and host DSH versions, launcher, instance list (including product names), active instance and its source, permission settings, and task occupancy. |
tabbit skill | Informs the model of Tabbit best practices. By default it uses the official skill shipped with Tabbit at ~/.agents/skills/tabbit/ (which evolves in sync with the browser Runtime). This plugin ships a fallback version. |
Installation
Prerequisites
- A stable version of Tabbit Browser is installed (International or China, ≥1.9.0) and has been launched at least once (registers the CLI launcher on first launch);
- Node ≥ 22.19, dsh ≥ 0.1.1-rc.2 (install dsh:
npm install -g @deepseek-ai/dsh). On hosts below 0.1.2-alpha.1, the built-inweb_fetchtool is not available in web-based sessions (tabbit_browseris unaffected).
Install dsh-tabbit
dsh plugin --profile web add dsh-tabbit # npm 主路线
Other Installation Modes
dsh plugin --profile web add github:Tabbit-Browser/dsh-tabbit # npm 不可达时的回退
dsh plugin --profile web add link:/path/to/dsh-tabbit # 本地开发
This package supersedes the early
tabbit-browserskill-only plugin; the 0.2.x versions on npm are also continued by this release — 0.2.x users will receive an upgrade prompt via the daily update check; just re-run the install command to upgrade in place.
Community
Scan the QR code below to join the dsh-tabbit developer community and share experiences, report issues, and discuss new features:

Setup
Basic Configuration
dsh Settings → tabbit, or $DSH_HOME/settings.yaml
tabbit:
instance: "" # 显式指定 16 位大写 hex 实例 id(/tabbit-info 可列出);通常留空即可
launcherPath: "" # 默认自动发现:优先 ~/.local/bin/tabbit-cli,回退 tabbit-playwright;Windows 为 %LOCALAPPDATA%\Tabbit\LocalAgent\bin\tabbit-cli.exe
pageAccess: ask # ask(每会话询问一次)| always | never
intranetFetch: ask # web_fetch 访问内网/回环目标:ask(每会话每 origin 询问一次)| always | never
Instance Resolution Priority
Priority config when multiple Tabbit versions are present
tabbit.instanceexplicitly set;- The Tabbit instance currently viewing dsh-web (auto-detected: on page load, the client plugin pings
/tabbit/instance-hint; the server matches the instance registry'sbrowserPidvia the peer process of the loopback socket; macOS only — naturally not matched when opened in a non-Tabbit browser) — "whichever Tabbit you view it in is the one it runs in"; - Inherited
TABBIT_PLAYWRIGHT_INSTANCEenvironment variable (embedded form: when Tabbit launches the bundled dsh, it injects its own instance id, which is the authoritative channel); - Registry auto-selection (unique online instance; when ambiguous, reports a guided error with the instance list. On Windows, if the registry is unreadable, delegates to the native CLI for selection).
The currently effective source can be viewed via the /tabbit-info command (execution instance: ... (via ...)).
Full access explanation: dsh's danger-full-access permission preset writes the approval policy never into the session (dsh defines this as "automatically deny all prompts"). When this plugin's permission gate detects this override, it auto-passes instead of issuing prompts that would inevitably be denied — Full access means full access (in this mode bash is already unrestricted, so blocking only browser tools provides no defensive value). Exception: when deployment-level defaults set approval to never (not a session override), the public API cannot read it, so it will still be denied; combinations without an approval channel (e.g., certain headless orchestrations) will receive a denial message pointing to tabbit.pageAccess: always as a workaround.
Permissions
- An independent
pageAccesspermission is designed for data security and login-state control, separate from filesystem/sandbox permissions, requiring user confirmation by default. - Authorization records: after a successful tool call, subsequent calls in the same session are not re-prompted; failures are not recorded (retry will prompt again).
Development
Project development and testing depend on a local deepseek-harness environment.
Since published @deepseek-ai/* packages on npm are generally lagging behind, they cannot be installed directly as dependencies. A local harness checkout must first be built, then the .dsh-harness symbolic link in the repo is pointed to it via the script below (this path is already in .gitignore).
The entire process only requires this single configuration — neither tsconfig.json nor package.json needs changes.
Deepseek Harness code retrieval and installation (skip if already installed)
git clone https://github.com/deepseek-ai/deepseek-harness && cd deepseek-harness && pnpm install && pnpm build && cd ..
Modify the local Deepseek environment path and ln it to this project, replacing /path/to/deepseek-harness with your actual directory.
npm run link-harness -- /path/to/deepseek-harness # 或设置环境变量 DSH_HARNESS_PATH
安装和编译
pnpm install && pnpm build # tsc → lib/
npm test # 构建 + node --test tests/
Known Limitations / Roadmap
- Favorites/bookmark mentions are not yet supported.
- Screenshots into context require the current model routing to support image input.
- Limited regression testing on Windows.
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.2.0 | — | — |
| 0.2.1 | — | — |
| 0.3.0 | — | — |
| 0.2.2 | — | — |
| 0.3.3 | — | — |
| 0.3.4 | — | — |
| 0.3.2 | — | — |
| 0.2.3 | — | — |
| 0.3.5 | — | — |
| 0.4.0 | — | — |
Comments
Loading…
Similar plugins
by wryyyds7
Community plugins for DeepSeek Harness (dsh)
★ 0
MIT
TypeScript
Aug 18, 2026
dsh plugin --profile web add @wryyyds7/dsh-plugins-rootby loadingvx
Deepseek-harness-workbench-plugin
★ 35
MIT
TypeScript
Oct 19, 2026
dsh plugin --profile web add dsh-workbench-pluginby TheYoungChen
DeepSeek Harness plugin market - browse, search & install dsh-plugin topic plugins (dsh 插件市场:浏览/搜索/安装插件)
★ 4
↓ 496/wk
MIT
JavaScript
Oct 28, 2026
dsh plugin --profile web add dsh-plugin-marketby wqty123
Shared real browser plugin for DeepSeek Harness
★ 152
MIT
TypeScript
Oct 24, 2026
dsh plugin --profile web add dsh-builtin-browserby Qingzhou-Joshua
DeepSeek Harness plugin—a simple toolkit for developers.
★ 0
MIT
TypeScript
Aug 14, 2026
dsh plugin --profile web add dsh-dev-toolboxGives DeepSeek Harness control of the Tabbit Browser: auto-loads the tabbit-browser skill on install, detects official Tabbit and Tabbit Browser releases (>= 1.9.0), checks the tabbit-cli persistent r
★ 101
↓ 435/wk
MIT
TypeScript
dsh plugin --profile web add dsh-tabbit