前言¶
DeepSeek Harness (DSH) 核心提供了授权服务和凭证存储,但缺少用于交互式登录流程的 UI(例如设备码、外部 URL、文本/机密/选择提示)。dsh-model-account-login 插件填补了这一空白,为 ChatGPT、Claude 等 llm-pi-ai 登录流程提供持久化的授权界面。
插件定位¶
这是一个 Cordis composition plugin,由开发者 hongbaiqi 维护。它将 Host 端的授权服务桥接到私有 JSON-RPC 通道,并在 Web 端提供设置面板,管理登录尝试的状态机。
核心功能¶
插件分为 Host 端和 Web 客户端两部分:
-
Host 端
- 桥接官方
authorization服务到私有 JSON-RPC 通道/model-account-login。 - 使用
AttemptRegistry跟踪每次登录尝试的状态:running(运行中)、authorized(已授权)、cancelled(已取消)、failed(失败)。 - 通过
credentials和settings持久化登录结果。
- 桥接官方
-
Web 客户端
- 在设置页面注册「Model Accounts」面板,每条登录流程显示为一张卡片,包含已登录/路由启用状态。
- 提供操作按钮:登录、重新登录、退出、启用/禁用路由。
- 进行中的登录会展开内联面板,展示通知、外部 URL、设备码以及文本/机密/选择提示。
安装与启用¶
这是一个 Cordis composition plugin,需要将其挂载到 DSH 的 host composition 中。
- 使用随包附带的
cordis.patch.yml文件进行挂载:
# cordis.patch.yml (bundled)
- insert:
- id: model-account-authorization
name: '@deepseek-ai/dsh-authorization'
inject: [credentials]
- id: model-account-login
name: 'dsh-model-account-login'
inject: [authorization, credentials, settings, connection]
- Web 客户端入口通过
package.json中的dsh.client声明,挂载 host row 后会自动加入 Web 模块图。
环境要求¶
- Node.js:>= 20
- Peer Services:需要 DSH 部署提供以下服务(版本需匹配):
@deepseek-ai/cordis^4.0.1@deepseek-ai/dsh-authorization^0.1.1-rc.2@deepseek-ai/dsh-credentials^0.1.1-rc.2@deepseek-ai/dsh-settings^0.1.1-rc.2@deepseek-ai/dsh-client-connection/dsh-client-runtime/dsh-client-ui-settings^0.1.1-rc.2react^18.2.0
注意事项¶
- 源码状态:当前仓库仅发布编译产物(JS + 类型声明),TypeScript 源码尚未公开。
- 存储位置:凭证存储在
llm-pi-aiscope,设置存储在llm-pi-ainamespace。
总结¶
该插件为 DSH 提供了一套完整的模型账号交互式登录解决方案。通过持久化的 UI 和状态管理,开发者可以在重启后保持会话,并在设置页统一管理不同模型的登录路由。