@thestreamcode/dsh-muse-code
Adds Meta's Muse Code subscription as a DSH model provider: the bundle declares the shipped Meta route under Settings > Models, syncs the account chat catalog (Muse Wonder included) into the model picker, and adds a Sign in card plus the /muse-login command that run DSH's built-in Meta device-code f
Install
dsh plugin --profile web add @thestreamcode/dsh-muse-code
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
dsh-muse-code
Muse Code subscription integration for DeepSeek Harness



DeepSeek Harness (DSH) ships Meta's Muse Code subscription as the pi-ai meta
provider with its device-code sign-in flow. This bundle connects that
provider to the surfaces you work in: it declares the route so the provider
appears under Settings → Models and in the model picker, and it adds the
Muse Code OAuth settings page and the /muse-login command that run the
shipped sign-in. No hand-copied key, no duplicated provider code.
Since 2026-10-29 Meta rejects subscription requests whose client tool
declarations collide with Muse Code's builtin tool names, so the bundle ships
a loopback wire adapter that aliases exactly those names toward api.meta.ai
and restores them in the answer. The behavior is pinned in
[ADAPTER_CONTRACT.md](ADAPTER_CONTRACT.md).
Unofficial and experimental. This plugin uses a Muse Code subscription
credential from DeepSeek Harness. Meta's terms limit that credential to Muse
Code, so this use may not be supported and Meta may suspend or revoke accounts
or credentials. Use it at your own risk. Read [DISCLAIMER.md](DISCLAIMER.md)
before installing.
Install
From the npm registry:
dsh plugin --profile desktop add @thestreamcode/dsh-muse-code
From the public GitHub repository:
dsh plugin --profile desktop add github:TheStreamCode/dsh-muse-code
From a local checkout:
dsh plugin --profile desktop add link:C:\path\to\dsh-muse-code
No manual profile edit is required. Restart DSH after installing or upgrading.
Quick start
1. Install the bundle and restart DSH.
2. Open Settings → Muse Code OAuth and press Sign in with Meta. The
Host runs DSH's device-code flow, opens the verification page, and shows the
code.
3. Confirm the code on Meta's page; the page switches to Signed in and DSH
stores the credential.
4. Pick a Muse model in the model picker, for example muse-spark-1.3.
If the Settings page cannot reach the Host, run /muse-login in a chat instead;
it runs the same flow ([how the sign-in fits together](docs/sign-in.md)). The
page states, actions, and provider-row migration are documented in
[docs/settings-page.md](docs/settings-page.md).
Features
- Declares the shipped
metaprovider route asmuse-code-oauthfor
Settings → Models and the model picker.
- Syncs the account's live chat catalog into the route, so new chat models
appear without a DSH catalog update. A model list you edited is never
overwritten.
- Adds a Muse Code OAuth settings page with live status, device code, and
Meta page link, plus the /muse-login chat command. Both start DSH's
device-code flow.
- Paints the native credential dot on the provider row and re-mints the key
before Meta's ~24 h expiry.
- Routes inference through a loopback adapter that aliases colliding tool
names and normalizes parameters (MUSE_CODE_ADAPTER=off keeps the proxy,
drops the reshaping).
- Leaves credential handling to DSH: the shipped flow stores the sign-in and
the plugin keeps the route's reference copy fresh.
Requirements
- DeepSeek Harness
0.2.1-rc.3or newer, with the pi-aimetaprovider. - Node.js 20 or newer on the DSH host; CI runs Node.js 20, 22, and 24.
- A Meta account with an active Muse Code subscription.
- No separate service, CLI, or key file.
Configuration
Setting · Purpose · Default
muse-code-oauth provider route · The shipped meta route, declared by the bundle; shown under Settings → Models and in the model picker. · declared on first boot
Muse Code OAuth page · Starts the device-code flow and follows the status until Signed in. · available after install
/muse-login · The same sign-in from a chat or CLI surface. · available after install
Live model catalog · Account chat models, written into the route when it has no list. · synced after sign-in
META_API_KEY · Optional pay-as-you-go key accepted instead of the sign-in. · unset
MUSE_CODE_ADAPTER · off keeps the local proxy but disables the reshaping. · unset
Model · Any model the route serves. · muse-spark-1.3
The route reads the mirrored key through MUSE_CODE_SUB_TOKEN. Caching behaves
like any other pi-ai route ([measured behavior](docs/prompt-caching.md)).
Installs upgraded from 0.3.x stored Muse Code (Meta subscription) as the
route label. 0.4.0 renames that legacy label to muse-code-oauth on the next
boot and keeps a display name edited by hand.
Privacy and security
- The bundle calls
GET /v1/modelsonapi.meta.aito sync the catalog and
/muse-code/key to refresh the key. DSH owns the sign-in and the credential
store; verification happens on https://auth.meta.com.
- The local sign-in routes and the wire adapter listen on loopback only and
transmit no credential. The adapter forwards Authorization unchanged and
never reads, stores, or logs credentials or bodies.
- To remove access, remove the bundle and the declared provider, and delete
the llm-pi-ai/meta record while DSH is stopped.
See [SECURITY.md](SECURITY.md) for vulnerability reporting,
[AUTH_CONTRACT.md](AUTH_CONTRACT.md) for the pinned login contract, and
[ADAPTER_CONTRACT.md](ADAPTER_CONTRACT.md) for the inference wire rules.
Troubleshooting
The muse-code-oauth row is missing from Settings → Models
The bundle was not loaded by the active profile, or the profile lacks the
llm-pi-ai adapter. Re-run the install command for the same profile, restart
DSH, and check for `did not activ
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::10,最后更新 2026-11-01