dsh-model-account-login:DeepSeek Harness 模型账号持久化授权插件

前言

DeepSeek Harness (DSH) 核心提供了授权服务和凭证存储,但缺少用于交互式登录流程的 UI(例如设备码、外部 URL、文本/机密/选择提示)。dsh-model-account-login 插件填补了这一空白,为 ChatGPT、Claude 等 llm-pi-ai 登录流程提供持久化的授权界面。

插件定位

这是一个 Cordis composition plugin,由开发者 hongbaiqi 维护。它将 Host 端的授权服务桥接到私有 JSON-RPC 通道,并在 Web 端提供设置面板,管理登录尝试的状态机。

核心功能

插件分为 Host 端和 Web 客户端两部分:

  1. Host 端

    • 桥接官方 authorization 服务到私有 JSON-RPC 通道 /model-account-login。
    • 使用 AttemptRegistry 跟踪每次登录尝试的状态:running(运行中)、authorized(已授权)、cancelled(已取消)、failed(失败)。
    • 通过 credentials 和 settings 持久化登录结果。
  2. Web 客户端

    • 在设置页面注册「Model Accounts」面板,每条登录流程显示为一张卡片,包含已登录/路由启用状态。
    • 提供操作按钮:登录、重新登录、退出、启用/禁用路由。
    • 进行中的登录会展开内联面板,展示通知、外部 URL、设备码以及文本/机密/选择提示。

安装与启用

这是一个 Cordis composition plugin,需要将其挂载到 DSH 的 host composition 中。

  1. 使用随包附带的 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]
  1. 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.2
    • react ^18.2.0

注意事项

  • 源码状态:当前仓库仅发布编译产物(JS + 类型声明),TypeScript 源码尚未公开。
  • 存储位置:凭证存储在 llm-pi-ai scope,设置存储在 llm-pi-ai namespace。

总结

该插件为 DSH 提供了一套完整的模型账号交互式登录解决方案。通过持久化的 UI 和状态管理,开发者可以在重启后保持会话,并在设置页统一管理不同模型的登录路由。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜