← Back to home@Onenightcarnival

dsh-toolkit

Plugins for DeepSeek Harness (dsh): database workbench, S3 storage, OpenTelemetry export and browser control — install one or all in a single package

Stars
0
Language
TypeScript
Created
Sep 25, 2026
Updated
Oct 7, 2026
GitHub repo

Introduction

dsh-toolkit

English | 中文

Plugins for DeepSeek Harness (dsh): databases, object storage, observability, browser control, AI subscriptions and a configuration center. All packages share a version and release workflow.

PackageWhat it addsWhere it appears
@onenightcarnival/dsh-rdbRelational database workbench: SQLite / PostgreSQL / MySQL / GaussDB, data grid, structure, SQL editor, db_* toolsSidebar "Database"
@onenightcarnival/dsh-s3S3-compatible object storage browser: MinIO / OSS / COS / R2, s3_* toolsSidebar "S3"
@onenightcarnival/dsh-otelOpenTelemetry GenAI export to Langfuse and other OTLP backendsSettings → Observability
@onenightcarnival/dsh-bridge-browserBrowser bridge: browser_* tools driving the user's tabs through the Chrome / Firefox extensionSettings → General → Browser bridge address
@onenightcarnival/dsh-subscriptionsCodex, ChatGPT and Google Antigravity models, Codex search and image toolsSidebar "AI subscriptions"
@onenightcarnival/dsh-config-centerMCP and skill management, dedicated uv / Python environment, common settings of built-in pluginsSidebar → MCP / Skills; Settings → Environment dependencies / Plugins → Common settings
@onenightcarnival/dsh-memoryLayered career records, episodes, human corrections, version history and memory_* toolsSidebar "Memory"
@onenightcarnival/dsh-toolkitIntegrated package with all seven pluginsEach module's entry point
dsh-browser-extensionChrome / Firefox MV3 extension paired with the bridgeBrowser side panel

Runtime compatibility

Toolkit versiondsh runtime
0.7.x0.2.0-rc.2 (workspace pin)
0.6.x0.1.7-rc.2
0.5.x0.1.5-rc.2

Plugins and hosts use the same runtime line. A mismatch causes typert validation failures and prevents UI loading.

Installation

Every release carries:

FilePurpose
onenightcarnival-dsh-toolkit-<version>.tgzAll seven plugins in one install
onenightcarnival-dsh-rdb-<version>.tgz and the other sixOne plugin on its own
dsh-browser-extension-chrome-<version>.zipChrome extension, loaded unpacked
SHA256SUMS.txtChecksums

Installation modes: the integrated toolkit or standalone plugins. The two modes are mutually exclusive.

Desktop app: Plugins → Config center… → Plugins → Install from .tgz, pick the file, restart when prompted.

dsh CLI:

dsh plugin --profile web add file:./onenightcarnival-dsh-toolkit-<version>.tgz
dsh web

Chrome extension: extract to a permanent directory → chrome://extensions → Developer mode → Load unpacked. Local Chrome connections discover the bridge automatically and require no token entry. Firefox requires a source build and token configuration; see browser control.

Module configuration

Module keys, defaults and override examples: integrated package configuration.

Migrating from the standalone packages

Packages use the @onenightcarnival/ scope from 0.5.0. Migration order: remove the old dsh-rdb, dsh-s3 and dsh-otel packages → install their replacements. Connections, credentials and settings remain under ~/.dsh.

Layout

PathResponsibility
packages/{rdb,s3,otel,browser-bridge,subscriptions,config-center,memory}Seven standalone plugins
packages/toolkitModule configuration, host and UI mounting, typert registration
extensions/dsh-browserChrome / Firefox MV3 extension
benchmarkPlaywright comparison benchmark
docs/browser.mdBrowser installation, capabilities, troubleshooting and security boundaries
scripts/build-plugin.mjsShared esbuild configuration for host and client bundles
scripts/version.mjsPackage, extension manifest and OTel version synchronization
scripts/package.mjsRelease artifacts and checksums
scripts/check-runtime.mjsRuntime version validation
scripts/smoke-runtime.mjsReal host validation in an isolated data directory

Development

Node.js ^22.19 || >=24, pnpm 11. Every command runs at the repository root.

pnpm install
pnpm run build        # all packages, in dependency order
pnpm run typecheck
pnpm run test
pnpm run package      # dist/: eight tarballs, the extension zip, SHA256SUMS.txt

pnpm --filter @onenightcarnival/dsh-rdb run build      # one package
pnpm --filter dsh-browser-extension run build:firefox

Build contract

ItemContract
Host dependenciesdsh provides @deepseek-ai/*; package build configurations select other dependencies for inlining
Subscription authentication@cortexkit/antigravity-auth-core is a runtime dependency of subscriptions and toolkit
Integrated packageBundles the seven packages' sources directly; typechecking covers the same sources
Runtime versionsPinned through pnpm-workspace.yaml overrides

Installation validation

  1. Set DSH_HOME to a temporary directory and run dsh plugin --profile web add file:<tgz>.
  2. Start dsh web --no-open --port 0 and exchange the ready log's token URL for a cookie. Each token permits one exchange.
  3. Use the cookie to check /api/dsh-toolkit/modules, /api/dsh-rdb/profiles, /api/dsh-s3/profiles, /api/dsh-config-center/mcp and /ext/bridge-config.

Same-version file: packages install from the pnpm store cache; repeat validation requires plugin remove before reinstallation.

Release

The release version comes from the v<version> tag:

git tag v<version>
git push origin v<version>
StageResult
InstallDependencies installed from the lockfile
Version synchronizationscripts/version.mjs set writes the tag version into packages, extension manifests and OTel PLUGIN_VERSION
Validation and buildTypecheck → build → test → package
ReleaseAll files in dist/ attached to the matching GitHub Release

Workflow: release.yml. Artifact versions follow the tag; pnpm version:set <version> synchronizes repository versions. Tags with prerelease suffixes create prereleases; browser manifests retain only the numeric version.

License

MIT. Third-party notices: OTel, Configuration center, Subscriptions, Toolkit.