Skip to content

Releases: tianxia--/dsh-llm-local-token

v1.3.2 — green current badge

Choose a tag to compare

@tianxia-- tianxia-- released this 17 Aug 19:45

Fixes

The "current" provider badge is now a quiet green tint instead of a dark pill.

v1.3.1 made the badge legible, but it did so by borrowing DSH's contrast-surface pairing — which paints a heavy dark pill for what is only a quiet "which provider am I on" marker.

It now uses the success token the usage bars already speak in (--dsw-alias-state-success-tertiary) with normal primary label text on top. Measured in a real browser, contrast is 17.33:1; both tokens flip with the theme, so the dark theme stays legible.

Install

dsh plugin --profile web add dsh-llm-local-token

Already installed? Update in place:

dsh plugin --profile web add dsh-llm-local-token@latest

Full changelog: v1.3.1...v1.3.2

v1.3.1 — readable current badge, README screenshots

Choose a tag to compare

@tianxia-- tianxia-- released this 17 Aug 13:45

Fixes

The "current" provider badge was invisible. It painted --dsw-alias-brand-primary behind --dsw-alias-label-primary; in DSH's light theme both resolve to rgb(15, 17, 21), so the badge rendered as a solid black pill with unreadable text. It now uses the pairing DSH itself uses for contrast surfaces — --dsw-alias-button-contrast-fill with --dsw-alias-label-primary-inverted — which stays legible in the dark theme too.

Docs

The README now shows the plugin instead of only describing it: both provider routes grouped in the model picker, and the subscription-usage popover with its real quota windows.

Install

dsh plugin --profile web add dsh-llm-local-token

Since v1.3.0 that is the whole install — the package declares a profile bundle, so DSH inserts the loader row for you.

Full changelog: v1.3.0...v1.3.1

v1.3.0 — one-command install (profile bundle manifest)

Choose a tag to compare

@tianxia-- tianxia-- released this 17 Aug 13:22

Install collapses to one command

dsh plugin --profile web add dsh-llm-local-token

That is now the whole install. Restart dsh and the openai-codex / anthropic routes appear in the model picker.

What changed

DSH resolves a bundle's loader rows through the dsh.bundle.patch manifest field, never through code. Until 1.2.0 this package declared only dsh.client, so dsh plugin add could not enable it — you had to hand-edit your profile's own cordis.patch.yml, which is exactly what the README used to instruct.

1.3.0 ships a root cordis.patch.yml carrying the llm-local-token row, points dsh.bundle.patch at it, and includes it in files and exports so it reaches the npm tarball.

The manual path stays documented for vendored copies and for pinning config in your own patch layer — that layer is applied after every bundle layer, so restating the id still overrides the bundle's defaults.

Unchanged

Both provider routes behave exactly as in 1.2.0:

Provider route Credential source
openai-codex ~/.codex/auth.json (ChatGPT OAuth, shared with the codex CLI)
anthropic ~/.claude/.credentials.json, else the macOS Keychain item Claude Code-credentials

Per-request token resolution with refresh near expiry, a missing credential skips its route instead of failing the boot, and subscription usage is surfaced from provider rate-limit headers (read over SSE for Codex).

Full changelog: v1.2.0...v1.3.0

v1.2.0 — local Codex / Claude OAuth as DSH model routes

Choose a tag to compare

@tianxia-- tianxia-- released this 17 Aug 13:01

A DeepSeek Harness plugin that serves LLM
calls with the OAuth tokens your local CLIs already hold — no separate API key, no extra login.

If you are signed in to the Codex CLI or to Claude Code, those subscriptions become usable model
routes inside DSH.

Provider route Credential source
openai-codex ~/.codex/auth.json (ChatGPT OAuth, shared with the codex CLI)
anthropic ~/.claude/.credentials.json, else the macOS Keychain item Claude Code-credentials

Both routes appear in the model picker as soon as the plugin loads. A route whose credential is
missing is skipped instead of failing the boot.

Highlights

  • Resolves the OAuth token per request from the file the CLI maintains, and refreshes it near expiry.
  • Hands the token to the pi-ai engine DSH already ships — no forked engine, no proxy process.
  • Shows Codex / Claude subscription usage from provider rate-limit headers, including quota read
    over SSE for Codex, following whichever provider is selected.
  • Quota windows are named by their actual length rather than the vendor's marketing word.

Install

dsh plugin --profile web add https://github.com/tianxia--/dsh-llm-local-token.git

Then enable it in the profile's patch layer (~/.dsh/profiles/web/cordis.patch.yml):

- insert:
    - id: llm-local-token
      name: dsh-llm-local-token

See the README — also available in
中文.