Khellendros97/dsh-subscription-auth3

dsh-subscription-auth

订阅会员 OAuth 登录(ChatGPT 等):配置中心「订阅服务」页登录/注销,自动发现订阅模型列表,按登录状态注册提供商,支持思考强度选择

AI 분석

核心用途是为 ChatGPT、Claude、Grok、Kimi 等订阅服务提供 OAuth 登录管理,自动拉取可用模型并支持设置思考强度。适合拥有上述订阅账号并希望在 DSH 中直接使用的用户。

패키지
dsh-subscription-auth
버전
0.2.1
라이선스
BSD-3-Clause
최근 업데이트
2026. 8. 15.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Khellendros97/dsh-subscription-auth

使用

  1. 打开 设置 → 订阅服务:列出四个订阅提供商,显示登录状态、账号与可用模型(折叠列表)。

  2. 点「登录」:

    • ChatGPT / Claude:浏览器自动打开授权页 → 登录并授权 → 跳回 localhost 回调 → 页面轮询到「已登录」→ 自动拉取官方模型列表。
    • Grok / Kimi:页面显示验证链接 + 设备授权码 → 在浏览器打开链接并输入代码 → 页面轮询到「已登录」→ 自动拉取模型列表。
  3. 在模型选择里切到对应的提供商(如「Claude (订阅)」),选一个模型即可对话。

    模型选择器可为订阅模型选择思考强度(推理等级)

    • ChatGPT:minimal / low / medium / high(默认 medium,作为 codex Responses 的 reasoning.effort 发送)
    • Claude:low / medium / high(默认 medium,映射为 extended thinking 的 budget_tokens 8192 / 16384 / 32000)
    • Grok:low / medium / high(不设默认,选择后作为 xAI Responses 的 reasoning.effort 发送)
    • Kimi:low / medium / high(不设默认,映射为 thinking.budget_tokens 4096 / 16384 / 32768)

    不选择时走提供商默认行为(请求体不带思考参数)。

  4. 点右上角「注销」删除已保存的令牌与模型列表。

注意:授权码渠道(ChatGPT / Claude)需要在本机运行 dsh,因为回调落在 127.0.0.1

注意:未登录的提供商不会出现在模型选择器里(provider/adapter 按登录状态注册):登录成功后才注册进模型列表,注销后自动移除。设置 → 订阅服务 页始终列出全部四个渠道以便登录。

注意:已登录的提供商在 dsh 启动时即自动注册并发现模型(启动门控会等待 credential 服务就绪,settings 就绪后还会补一次检查),无需先进入设置页。

配置

每个渠道一个 settings 命名空间(subscription-auth-)。模型优先级:手动 models → 登录发现并持久化的 discoveredModels → 渠道内置默认列表。

subscription-auth-chatgpt:
  apiBaseURL: https://chatgpt.com/backend-api/codex/responses
  redirectPort: 1455
  maxTokens: 8192

subscription-auth-claude:
  apiBaseURL: https://api.anthropic.com/v1/messages
  redirectPort: 54545
  maxTokens: 64000

subscription-auth-grok:
  apiBaseURL: https://api.x.ai/v1/responses
  maxTokens: 8192

subscription-auth-kimi:
  apiBaseURL: https://api.kimi.com/coding/v1/messages
  maxTokens: 32768

models 可手动固定模型列表(可选;不配则用登录后自动发现的官方列表),例如:

subscription-auth-claude:
  models:
    - { id: claude-sonnet-5, name: Claude Sonnet 5, contextWindow: 1000000 }