DSH CodeBuddy CLI Connect
September 12, 2026 · View on GitHub
中文 | English
Reuse the CodeBuddy CLI (CodeBuddy Code) sign-in to bring its models (GLM-5.3, GLM-5.2, DeepSeek-V4-Pro, DeepSeek-V4-Flash, Kimi-K3, MiniMax-M3, Hy3, and more) into DeepSeek Harness — zero configuration, ready out of the box.
Features
- Zero configuration: sign in once with the CodeBuddy CLI, install the plugin, and the models appear in DSH.
- Follows re-login: the plugin reads the CLI's own auth file (
CodeBuddyExtension/Data/Public/auth/Tencent-Cloud.coding-copilot.info); signing in again in the CLI is picked up automatically. Other products'.infofiles in the same directory (e.g. the desktop IDE) rank as fallbacks by thelastLoginflag and file recency. - Image input: most models accept images — paste or drag one into the conversation; text-only models (e.g. GLM-5.1) report clearly that they do not support images.
- Thinking effort: supported models expose a thinking-level selector (GLM-5.3 offers off / low / high / xhigh, GLM-5.3-Flash offers off / low / high / max). The control appears only for models whose upstream catalog declares an effort list; models without the selector use the upstream default.
- Credits and badges: the billing multiplier (e.g.
GLM-5.2 · x0.79) and promo badges ride the model name, synced from the server on every DSH start. Display only — it never affects the request that is sent. - In-chat credit line: one row always sits right below the composer box (next to the session stats strip), naming the current provider and model. On a CodeBuddy model it prefixes the remaining credit and appends the billing multiplier when the catalog knows one — e.g.
Credits 1,642 · Provider CodeBuddy · Model GLM-5.3 · x0.79— and clicking it opens a details panel: total credit, per-package progress rows, the current model's rate, and a manual refresh. Switching to another provider (say llm-pi-ai) keeps the row: it readsProvider llm-pi-ai · Model gpt-4o, with no multiplier (the generic DSH model catalog carries no rate field, so none is invented) and no credit request. Loading, signed-out and credit-error states each have their own wording, so the row never collapses. - Daily check-in: the account cards of Settings → Plugins → DSH CodeBuddy CLI Connect carry a Check in button that calls the CodeBuddy daily check-in endpoint and shows the outcome — success, already checked in today, or the failure reason — plus a checked-in badge per account. CN CodeBuddy accounts only (workbuddy.ai global accounts are told it is unavailable). The check-in reuses the plugin's local sign-in; the browser never sees token material.
- Multi-account management: the Accounts tab of the settings card supports adding multiple CodeBuddy accounts via OAuth QR-code/link sign-in. Credentials for OAuth-added accounts are stored under
$DSH_HOME/.codebuddy-cli-accounts.jsonand can be freely switched or deleted from the card. - Account switching: the Accounts tab lists every stored account with the active one marked Current; one click switches the plugin to that account — models, credit and check-in all follow the switched account immediately. With no OAuth-added account the original behavior is preserved (follow the CLI sign-in).
- Credit statistics: the Credit statistics tab aggregates official request usage across all accounts — a summary of remaining/today/7-day/month usage, a daily stacked trend chart (hover a column to see that day's per-model usage), a per-model breakdown, and a credit-package / request-usage detail panel. Each card has its own account filter and range switch (30 days / today / 7 days / this month).
- Status card: Settings → Plugins → DSH CodeBuddy CLI Connect shows the account, token expiry, remaining credit, and the models currently on a promo. The body is organized into four tabs — Accounts, Available models, Credit statistics, Remaining credit — with the remaining-credit tab switchable per account.
- Available models: the same settings card lets you check which models the model pickers offer (setting
enabledModels). CodeBuddy ships 15+ models and listing all of them fills the picker; uncheck the ones you do not use and only your own shortlist remains. Unchecking only stops a model from being offered — sessions and agent presets already pinned to it keep working — and checking nothing is the same as offering everything.
Install
Prerequisite: the CodeBuddy CLI is installed and signed in (the plugin reuses that sign-in).
This plugin targets DSH 0.1.2-rc.1 and above and is not compatible with older cores (e.g. 0.1.1-rc.2).
# Web (recommended, ships prebuilt artifacts)
dsh plugin --profile web add dsh-codebuddy-cli
dsh web
# Or install from GitHub source
dsh plugin --profile web add github:fu827707013/dsh-codebuddy-cli
dsh web
# Desktop
dsh plugin --profile desktop add dsh-codebuddy-cli
dsh --profile desktop
After installing, switch to a CodeBuddy model in that interface's model picker. Under Web the settings card shows the account, token expiry, and remaining credit; under TUI the authFile path is configurable in /settings.
TUI users: hold off for now. The terminal interface plugin is not yet adapted to DSH 0.1.2, and a comparable plugin was measured to crash DSH on startup under TUI (
events is not iterable). Wait for an adapted release of the terminal interface plugin before installing this one. The plugin is fully verified on the Web profile; Desktop and TUI are unverified.
Auth-file location
The plugin discovers the CodeBuddy CLI sign-in in this order:
- the plugin's configured
authFilepath (editable in the Web settings card //settings); - the
CODEBUDDY_CLI_AUTH_FILEenvironment variable; - the platform default auth directory (scanning every
*.infofile: the CLI's ownTencent-Cloud.coding-copilot.infofirst, then files whose account carrieslastLogin: true, then the most recently written):- Windows:
%LOCALAPPDATA%\CodeBuddyExtension\Data\Public\auth\(falls back to%APPDATA%) - macOS:
~/Library/Application Support/CodeBuddyExtension/Data/Public/auth/ - Linux:
~/.config/CodeBuddyExtension/Data/Public/auth/ - WSL: the mounted Windows profile first
- Windows:
Token refreshes are stored in $DSH_HOME/.codebuddy-cli-auth.json; the CLI's own auth file is never written — whichever side holds the fresher token wins.
Command line
dsh plugin --profile <web|desktop|dsh-tui> exec dsh-codebuddy-cli status # sign-in state and remaining credit
dsh plugin --profile web exec dsh-codebuddy-cli status --json # machine-readable output
dsh plugin --profile web exec dsh-codebuddy-cli doctor # secret-free environment diagnostics
dsh plugin --profile web exec dsh-codebuddy-cli logout # clear the plugin-owned credential copy
doctor also reports whether the auth file was found and whether the host bundle process is alive (pid), and prints a hint for the next step. logout removes only the plugin's own copy; the CodeBuddy CLI keeps its sign-in.
Known limitations
- Verified on the Windows DSH Web profile (
0.1.2-rc.1+, Node 22+); macOS and Linux follow the same directory-probing logic but are untested. Under WSL the Windows environment variables must be visible, or setCODEBUDDY_CLI_AUTH_FILEexplicitly. - Relies on the CodeBuddy CLI's client interface (not an official open API); CLI updates may require plugin adjustments.
- The model list comes from the server and is refreshed on every DSH start; if that fetch fails the plugin falls back to its built-in static list (15 models) so models are selectable from the first launch.
Disclaimer
- This project is for personal learning and research only. It drives the user's own CodeBuddy account on their own machine; do not use it commercially or beyond reasonable personal use.
- Users must comply with CodeBuddy's terms of service; any consequences (account restrictions, quota resets, service interruptions) are the user's own responsibility.
- The author is not liable for any direct or indirect losses caused by using or misusing this project.
- This project is not affiliated with, endorsed by, or connected to Tencent, CodeBuddy, or DeepSeek; names mentioned only describe compatibility and belong to their respective owners.
Acknowledgments
- dsh-workbuddy-connect (MIT) — the reference for the upstream protocol implementation, DSH plugin structure, and provider registration.
- Sliverkiss/workbuddy2api (MIT) — the original reference implementation of the upstream protocol.