Connect your WorkBuddy account to DeepSeek Harness. See your credits, compare available models, and use them in your DSH conversations.
An independent community plugin for the DSH web profile. Self-hosted alpha, for people who already run DSH and can operate a separate Python service and authenticated gateway. No hosted service or official WorkBuddy/DeepSeek endorsement is claimed.
Start here · Deployment guide · Security and data handling · Report a problem
- Account and credit visibility in DSH: browser sign-in, connection status, remaining credits, and package expiry dates in Settings → WorkBuddy.
- A clearer model choice: search by name or ID, distinguish same-name routes, compare credit multipliers and capabilities, and filter models explicitly marked free by upstream billing or active promotions. The catalog includes account models that support tool calls.
- Your existing DSH workflow: select the WorkBuddy provider for streamed responses and tool-call workflows. No WorkBuddy desktop process needs to remain running after browser authorization.
This plugin is independent of the A2D2 orchestration and DimAgent plugins. The screenshots show the current interface; the operations guide covers acceptance and recovery.
- Confirm permission for this integration. WorkBuddy's Acceptable Use Policy, sections 3.5 and 4, restricts automated access and requires prior written permission for interoperating plugins and external components. Review the applicable Service Agreement and confirm permission before use. A successful browser login does not establish approval for a third-party client.
- One service, one shared account. Each Python service owns one WorkBuddy account. Authenticated users of the same DSH instance share its credits and account controls. There is no tenant isolation; use separate deployments for separate trust boundaries, subject to upstream account rules.
- Free labels are conditional. Models, promotions, expiry and usage limits depend on your account and upstream rules. The plugin grants no extra credits or unlimited access. All provider numeric cost fields currently contain zero; those fields are not evidence of free inference. See pricing and limits.
| You need | What to check |
|---|---|
| An existing DSH web installation | Local review used DSH packages 0.2.0-rc.2; the broader peer range is not a tested compatibility matrix |
| Node.js and pnpm | Node.js `^22.19.0 |
| A Python service host | Python >=3.10, uv, the pinned workbuddy2api source, and a persistent service manager; dependencies are locked in this plugin |
| An authenticated gateway | Authenticate every forwarded route, strip the gateway bearer key, and use HTTPS between hosts; keep Python on loopback |
| An eligible WorkBuddy account | Confirm that the intended third-party access is permitted and that the account offers a suitable model |
This is a source-based setup with multiple components. The repository includes a Caddy gateway configuration, environment example, and Supervisor example. Adapt and verify them before connecting an account.
- Build the plugin with the commands in Install.
- Prepare the backend at the pinned upstream revision and configure its private credential/log paths. Follow Service and the ordered deployment guide.
- Secure and connect the gateway. Verify that missing and incorrect credentials are rejected before installing the plugin into your DSH profile. Set
gatewayBaseURLandgatewayKeyFileas shown below. - Authorize in DSH. Open Settings → WorkBuddy, choose Connect WorkBuddy, then Open sign-in page. Complete browser authorization and return to the original settings page. Confirm Connected, the catalog, and your credit details; use Refresh to reload them.
- Try a small conversation. Select an available model under the WorkBuddy provider. For DeepSeek, search the catalog for
DeepSeekand check the exact model ID, billing and promotion expiry first. Send a short prompt, then verify a read-only tool-call round trip. Inference can consume credits.
Success means the settings page shows your account, the selected model streams a reply, and a tool result returns to the same conversation. A connected status alone does not verify inference. If a step fails, use the common checks; do not remove gateway authentication to troubleshoot.
DSH web UI → DSH host plugin → authenticated gateway → loopback Python service → WorkBuddy
The host plugin reuses DSH's PiAiAdapter. The separately supervised Python service imports the pinned workbuddy2api implementation for streaming and tool-call protocol conversion. WorkBuddy tokens stay on the service host; the browser receives an authorization link and account information. Prompts, conversation history and tool data are sent upstream for inference. See SECURITY.md for the full data flow and retention boundaries.
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.
Duplicate display names retain their distinct model IDs and billing information.
Free labels come from explicit upstream billing data and active promotions.
Does this provide free DeepSeek access? Only upstream can determine your account's eligibility, billing and permitted access. Some model IDs may have temporary promotions; check the account's current model ID, credit multiplier, expiry and usage limits. A screenshot, an October promotion elsewhere, or a zero cost estimate in DSH is not a promise that a request through this integration is free.
What does “Free only” mean? It filters explicit zero-credit billing or an active upstream promotion that explicitly reduces that model's credit cost to zero. Unknown pricing stays unknown. This filter does not verify your remaining promotional allowance or override daily limits, rate limits or upstream terms. Check your WorkBuddy account for authoritative billing and entitlements; unavailable credit data does not mean a zero balance.
Check the prerequisites first. Clone and build the source:
git clone https://github.com/a2d2-dev/dsh-workbuddy.git
cd dsh-workbuddy
pnpm install --frozen-lockfile
pnpm buildAfter the service and authenticated gateway are ready, install the bundle into your existing DSH web profile:
dsh plugin --profile web add /absolute/path/to/dsh-workbuddyConfigure 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: 300000Replace the example domain and absolute paths with your deployment values. 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.
Requires Python 3.10+ and uv. Check out workbuddy2api at revision 1cc32c9a98abb53796d8d4e8d477736fe1f0c4cc. In this plugin directory, install the locked service dependencies with uv sync --frozen --no-dev, then run .venv/bin/uvicorn --app-dir server workbuddy_service:create_app --factory --host 127.0.0.1 --port 18788. Set the following environment variables through the service supervisor:
| Variable | Purpose |
|---|---|
WORKBUDDY_PROXY_SOURCE |
Checkout of the pinned upstream repository |
WORKBUDDY_ENDPOINT |
WorkBuddy backend origin, normally https://www.workbuddy.ai |
WORKBUDDY_SESSION_FILE |
Private, writable credential file; existing proxy sessions are accepted |
WORKBUDDY_LOGIN_TTL_SECONDS |
Authorization expiry in seconds, normally 300 |
WORKBUDDY_LOG_FILE |
Protocol 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.
Run pnpm test, pnpm typecheck, and pnpm check:package (builds and verifies the distributable). For service tests run uv sync --frozen, then PYTHONPATH=/absolute/path/to/workbuddy2api/server uv run --frozen pytest. Install Caddy to include the real gateway integration tests. CI covers Node.js 22/24 and Python 3.10/3.14. Live acceptance additionally requires DSH settings rendering, an authorized account, streamed text, and a tool-call round trip.
- Settings support English and Simplified Chinese, including model descriptions and promotion text when supplied by upstream. Provider model names use an English free label; the current screenshots show Chinese.
- The documented DSH baseline is
0.2.0-rc.2. A wider peer-dependency range does not establish compatibility with every later release; repeat live acceptance after host or upstream changes. - Contributing and local verification · Support and bug reports · Service operation and recovery
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.
Apache-2.0. See LICENSE. The separately installed upstream project retains its own license.


