# DSH AuthMux > 一个登录入口,复用多家模型订阅。 [English](README.md) AuthMux 是一个 DSH 原生 OAuth multiplexer。它把多家订阅模型的登录集中到一个设置页面,同时让 DeepSeek Harness Core 继续负责凭据、设置、模型路由与 Token 刷新。 ![DSH 设置中的 AuthMux](artifacts/oauth-settings.png) ## 为什么是 AuthMux - 所有 DSH Core OAuth flow 共用一个登录界面。 - 不维护私有凭据文件,grant 写入 `dsh-credentials-local`。 - 不重复实现模型适配器,请求继续走 Core `llm-pi-ai`。 - 不自建 HTTP 服务,浏览器通过 DSH Connection RPC 通信并限制为 loopback。 - 浏览器回调、设备码、PKCE 与刷新逻辑仍由 provider flow 自己负责。 OpenAI Codex 固定置顶。当前 DSH Core 还提供 Anthropic、GitHub Copilot、Kimi For Coding、OpenRouter 和 xAI 的 OAuth flow。 ## 安装 ```sh dsh plugin --profile web add github:Q-xuan/dsh-authmux dsh --profile web ``` 打开 **设置 → AuthMux**,登录后从 DSH 原生模型选择器选择对应模型。 ## 从 dsh-simple-oauth 迁移 首次启动时,AuthMux 会读取 `$DSH_HOME/simple-oauth.json`,将有效凭据迁移为 `llm-pi-ai/` Core record,启用模型路由,并把旧文件改名为 `simple-oauth.json.migrated` 作为恢复备份。 ## 安全边界 - OAuth payload 不会传给浏览器。 - Token 刷新运行在 Core `modifyRecord()` 的串行写路径中。 - AuthMux RPC 固定为 loopback authority。 - 模型工具无法调用登录入口。 ## 开发 ```sh npm ci npm run verify ``` ## License MIT