dsh-subscription-login:DeepSeek Harness 的统一订阅登录控制台

前言

在 DeepSeek Harness 的插件生态中,订阅登录通常由多个插件分别实现,每个插件都硬编码了支持的提供商列表。这种方式维护成本高,且难以适配新增的提供商。

dsh-subscription-login 解决了这一问题。它通过读取 Harness 的 ctx.authorization 接缝,动态获取当前注册的 OAuth 登录流程。这允许它提供一个统一的控制台,展示所有可用的登录流程,而无需修改代码。

插件简介

  • 名称:dsh-subscription-login
  • 所有者:woodfood111
  • 许可:MIT
  • 类别:客户端

核心功能

  1. 动态流程列表:不从代码中硬编码提供者,而是从 ctx.authorization 读取 OAuth 流程列表。当 dsh-llm-pi-ai 注册新的登录流程时,插件无需修改即可显示。
  2. 安全防护:所有请求均通过 ctx.connection.requestRejection() 检查。这包括 Host/Origin 防护(防止 DNS 重绑定)和浏览器认证。裸请求会返回 401,而不是 200。
  3. 密钥管理:插件不处理密钥,仅调用 describeRecord()。所有流程在 dsh-llm-pi-ai 内部运行并写入 Harness 凭证存储。
  4. 未认领记录清理:提供未认领记录的清理功能,用于处理那些不再被任何流程认领的 llm-pi-ai 作用域记录。
  5. 统一管理界面:在 Settings → Plugins → Subscriptions 提供统一的登录管理入口。

安装与启用

安装命令如下:

dsh plugin --profile web add dsh-subscription-login

安装后必须重启 dsh web 才能生效。这是因为在 Bundle Patch 中插入了授权接缝(authorization seam)和此插件本身,热重载无法可靠加载这种文件写入的变更。

重启后,访问 Settings → Plugins → Subscriptions 即可进入管理界面。

使用说明

在插件界面中,每一行代表一个可登录的账号:

  1. 登录:点击登录后,流程会引导用户打开指定页面并输入验证码。插件支持随时取消登录尝试。
  2. 登出:点击登出会删除本地记录。此操作需要二次确认。
  3. 删除未认领记录:针对不再被任何流程认领的过期记录,可以直接点击删除。

登录成功后,Settings → Models 页面会显示对应的提供商行及其凭证状态。

注意事项

  • 请求体限制:请求体大小限制为 64 KiB。非 JSON 请求体会返回 400 错误。
  • 功能范围:不支持服务器端撤销(仅删除本地记录)。不支持可恢复的登录尝试(刷新页面需重新开始)。不包含推荐、配额跟踪或健康检查。
  • 作用域限制:仅处理和删除 llm-pi-ai/<provider> 作用域的记录。

技术细节

  • 无构建步骤:lib/client.js 是直接运行的客户端模块格式(window.__ModuleLoader__.load 工厂模式),无需编译。
  • 测试覆盖:包含 52 个离线测试,涵盖注册、路由、信任围栏和客户端交互。

参考资源

  • GitHub:https://github.com/woodfood111/dsh-subscription-login
  • 插件目录:https://www.skillhub.cn/plugins/woodfood111/dsh-subscription-login
羽毛球分组比赛记分
小程序二维码

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

小夜