← Back to home@a2d2-dev

dsh-workbuddy

Standalone WorkBuddy account and model provider plugin for DeepSeek Harness

Stars
0
Language
TypeScript
Created
Oct 16, 2026
Updated
Oct 16, 2026

Introduction

DSH WorkBuddy

English | 简体中文

Independent WorkBuddy account plugin for DeepSeek Harness. Adds Settings → WorkBuddy for browser sign-in, account status, credit balances and package expiry, and a searchable model catalog with free-model filtering, credit multipliers, promotions, and capabilities. The model selector exposes the account's chat models under the WorkBuddy provider, distinguishes duplicate names by ID, and labels explicitly free models. This package is independent of the A2D2 orchestration and DimAgent plugins.

The host plugin delegates model requests to DSH's existing PiAiAdapter. The separately supervised Python service imports the maintained workbuddy2api implementation for streaming and tool-call protocol conversion. Tokens stay on the service host; the browser receives only an authorization link and account status. No WorkBuddy desktop process is required after browser authorization.

Screenshots

Captured from the plugin's Chinese interface. Account identity, balances, and package expiry dates are redacted. Model availability, multipliers, and promotions reflect the capture date and may change.

Account and Credits

WorkBuddy settings with account status and redacted credit packages

Model Search

Duplicate display names retain their distinct model IDs and billing information.

DeepSeek search results showing distinct model IDs and billing

Free Models

Free labels come from explicit upstream billing data and active promotions.

Free-only filter showing three models

Install

Build with pnpm install && pnpm build, then install the bundle using dsh plugin --profile web add /absolute/path/to/dsh-workbuddy. Configure the entry in the profile's cordis.patch.yml:

- id: workbuddy
  config:
    gatewayBaseURL: https://workbuddy-gateway.example.com
    gatewayKeyFile: /absolute/path/to/workbuddy-gateway-key
    requestTimeoutMs: 30000
    catalogTtlMs: 60000
    streamIdleTimeoutMs: 300000

The key file contains the gateway's bearer credential, with no environment-variable assignment. Do not place upstream tokens in DSH configuration or source control. The gateway endpoint must be protected by authentication; the Python listener should remain on loopback behind that gateway.

Service

Validated upstream revision: 1cc32c9a98abb53796d8d4e8d477736fe1f0c4cc. Install its dependencies with uv sync and run its virtual environment's uvicorn --app-dir /absolute/path/to/dsh-workbuddy/server workbuddy_service:create_app --factory --host 127.0.0.1 --port 18788. Set the following environment variables through the service supervisor:

VariablePurpose
WORKBUDDY_PROXY_SOURCECheckout of the pinned upstream repository
WORKBUDDY_ENDPOINTWorkBuddy backend origin, normally https://www.workbuddy.ai
WORKBUDDY_SESSION_FILEPrivate, writable credential file; existing proxy sessions are accepted
WORKBUDDY_LOGIN_TTL_SECONDSAuthorization expiry in seconds, normally 300
WORKBUDDY_LOG_FILEProtocol summary log path

Use Supervisor or another persistent service manager, with a single service worker to own the account and its pending login. Refresh is serialized, and credential updates use atomic file replacement. Sign-out removes this service's authorization without revoking other devices. An expired login can be restarted from Settings. The gateway access key is deployment authentication, distinct from WorkBuddy account authorization.

Verify

Run pnpm test, pnpm typecheck, and pnpm build. For service tests use the upstream virtual environment with PYTHONPATH=/path/to/upstream/server:/path/to/dsh-workbuddy/server pytest server/test_session.py server/test_pricing.py. Real acceptance additionally requires DSH settings rendering, an authorized account, streamed text, and a tool-call round trip. Upstream currently has one stale client-header assertion; this package does not alter or suppress it.

Remove

Remove this bundle through the DSH plugin manager and stop its dedicated services. Existing DSH providers and sessions are unaffected. WorkBuddy credentials are retained on disk unless signed out before removal.

License

Apache-2.0. See LICENSE. The separately installed upstream project retains its own license.