yueyexiayu/dsh-oauth:DSH 官方 OAuth 登录插件

DeepSeek Harness(DSH)采用插件化架构,允许开发者扩展功能。开发者往往需要接入 Grok 或 ChatGPT Codex。直接调用官方接口或手动管理 token 比较繁琐。本插件通过集成官方 OAuth 流程,将登录状态和设备码交互集成到 DSH 桌面端的输入框下方。

插件简介

本插件由 yueyexiayu 维护。它为 DSH 桌面端提供官方 OAuth 登录能力,支持 xAI 设备码和 ChatGPT Codex 设备码。登录状态显示在输入框下方,Token 仅保存在 Host 端的 $DSH_HOME/.credentials.yaml 文件中,不会进入渲染进程或对话上下文。

核心功能

  • 登录状态与操作:显示 Grok / GPT 登录状态,支持换号、退出操作,以及锁内的手动刷新。
  • 官方 OAuth 集成:登录正式调用官方 authorization.begin 接口,由已注册的 llm-pi-ai flow 负责设备码、轮询、PKCE 等协议实现。
  • Token 安全存储:Token 只写在 Host 的 $DSH_HOME/.credentials.yaml(llm-pi-ai/xai、llm-pi-ai/openai-codex),不读取或改写系统级的 ~/.grok/auth.json / ~/.codex/auth.json。
  • 会话与路由管理:当前会话模型通过官方 sessionQuery.observeSession 读取,路由写入携带配置版本号以处理并发修改。Client 订阅槽位使用 useProjection("modelSelection")。
  • 错误处理:显式无效的 sessionId 返回 400,不存在的会话返回 404,不匹配返回 409。网络、HTTP、JSON、业务及持久化失败均会明确显示。

安装与启用

  1. 将插件文件复制到 $DSH_HOME/plugins/OAuth。
  2. 在 $DSH_HOME/profiles/desktop/cordis.patch.yml 写入以下内容:
- insert:
    - id: OAuth
      name: ../../plugins/OAuth/lib/index.js
  1. 完全退出 DeepSeek Harness(macOS:⌘Q)再打开。

使用说明

  • 在输入框下方会出现 Grok / GPT 登录按钮。
  • 配置了 apiKeyEnv 的模型路由会明确显示「模型使用 API key;退出 OAuth 不影响该认证」。
  • 登录或手动刷新会通过官方 settings.describe/mutate 接口补上缺失路由。
  • 修改插件代码后,必须完全退出桌面应用(⌘Q)再打开生效。

注意事项

  • 权限要求:Grok 需要 SuperGrok / X Premium;GPT 需要 ChatGPT Plus / Pro 的 Codex 权限。
  • Token 位置:Token 仅存储在 Host 端,不会在插件或渲染进程泄露。
  • 重启生效:修改插件后需完全退出桌面应用(⌘Q)再打开。
  • 测试环境:组件测试和模拟响应下的浏览器检查不能代替完全重启桌面端后的实际登录验收。
  • 安全声明:仓库不含账号或凭据,凭据提供器仅为内存 FIFO 队列(在测试中)。
羽毛球分组比赛记分
小程序二维码

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

小夜