Muse Auth
Unofficial and experimental: Muse Spark in opencode using a Muse Code subscription credential. May conflict with Meta's terms; use at your own risk. See DISCLAIMER.md.
10
近 30 天 +9
595
近 7 天 79
52.1
生态多维模型
32 分钟前
2026-10-21
快速安装与配置
opencode.json写入当前项目的 opencode.json,只对这个仓库生效。
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-muse-auth@0.4.0"]
}写入 ~/.config/opencode/opencode.json,对所有项目生效。
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-muse-auth@0.4.0"]
}若你要在本地改造这个插件,先装到项目里再从本地路径引用。
shell
pnpm add -D opencode-muse-authOpenCode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。
Use Meta Muse Spark in opencode billed to your Muse Code monthly subscription — no pay-as-you-go API key, no third-party CLI.
Unofficial and experimental. This plugin uses a Muse Code subscription credential from opencode. 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; the authors cannot recover an account. Read DISCLAIMER.md before installing.
Install
// opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugins": ["opencode-muse-auth"]
}
Then run /connect in opencode, pick the meta provider and the
Muse Code subscription method: it shows a Meta device page URL and a code.
Enter the code in your browser (your own Meta account) and the login
completes by itself.
Verified end-to-end against the published package: isolated project with
only "plugins": ["opencode-muse-auth"], live chat on meta/muse-spark-1.3
billed to subscription.
Requirements
- opencode with plugin support
- A Meta account with an active Muse Code subscription
How it works
The plugin registers an auth hook for the built-in meta provider
(Routes through the Responses API, meta.txt system prompt applies
automatically to muse-* model ids):
- Login — Meta device-code exchange (RFC 8628) inside
/connect, then mints the stable account-bound inference key via the Model API. The key is never printed and the OAuth access token from the login flow is kept in memory only. - V1 storage — OpenCode's auth store is the primary source; the auth
loaderfalls back to the legacy cache (~/.config/opencode/muse-code-sub.json) only when the store has no key. The cache is still written so upgrades keep working. - V2 storage — the credential lives in OpenCode's integration store; the plugin does not write the local cache on this path.
- Runtime — the mint endpoint is aggressively rate-limited, so the plugin
never re-mints on its own; re-run
/connectonly if access is revoked (401).
Flow parameters are compatible with the published behavior of oh-my-pi (MIT); see NOTICE and AUTH_CONTRACT.md.
Credentials and removal
The inference key is held by OpenCode (V1 auth store or V2 integration store);
the legacy cache, when present, stores only apiKey, accountId, and email.
The OAuth access token is never written to disk. To remove access:
- disconnect the provider or log out in OpenCode (this removes the key OpenCode
uses; the store is
~/.local/share/opencode/auth.json); - delete
~/.config/opencode/muse-code-sub.jsonif it exists from an older version; - run
muse logoutif you also want to clear the Muse Code CLI session; - remove
opencode-muse-authfromopencode.json.
Development
npm install
npm run build
npm test
License
MIT — see LICENSE. The software is provided "as is"; see DISCLAIMER.md for the risk notice and liability terms.
同类生态推荐
Kimi Subscription
opencode-kimi-subscription
Use your Kimi Code (Moonshot) subscription in OpenCode via OAuth — sign in with the device flow, no API tokens.
Muse Multi Auth
opencode-muse-multi-auth
Muse Code authentication, multi-account switching and usage limits for OpenCode and your terminal.
Open Grok Build
open-grok-build
Grok Build provider, OAuth, multi-account rotation, quota tracking and Imagine image generation for OpenCode v2.