dsh-no-login:在 DeepSeek Harness 中移除账号登录

前言

DeepSeek Harness(DSH)默认带有 DeepSeek 平台账号登录:侧边栏账号菜单、设置里的「账号与余额」、首次引导里的登录步骤,以及模型选择器里走平台余额的 DeepSeek Account 路由。若你只想用 API Key 或第三方网关、不希望界面出现登录入口,也不希望本地残留可用的平台会话 token,需要一个在 profile 级别关掉整套账号能力、又不把依赖 deepseekAccount 的组件拖死的方式。下面介绍社区插件 dsh-no-login 的定位与用法。

这是什么

dsh-no-login 是 DSH 的 bundle 插件(维护者 SwufeFox,GitHub:SwufeFox/dsh-no-login),分类为 admin-security。一句话:移除 DeepSeek 账号登录相关 UI 与路由,API Key 与第三方/网关模型路由不受影响。

装好后,界面上不再出现:

  • 侧边栏底部账号菜单(头像 / 登录 / 退出登录)
  • 设置 → 「账号与余额」整页
  • 首次启动引导里的「登录 DeepSeek 账号 / 添加 API Key」选择与额度引导
  • 模型选择器中的 DeepSeek Account 路由
  • 浏览器 OAuth 回调 /oauth/callback、赠金到账弹窗、登录失效提示

许可证为 MIT(package.json 版本 1.0.0)。

核心功能与实现要点

Harness 里没有单独的「关闭登录」配置项,账号能力分散在四个出厂插件行里。本插件通过 cordis.patch.yml 做两件事:

  1. 将以下四行设为 disabled: true:
行 id 插件
deepseek-account @deepseek-ai/dsh-deepseek-account-platform
account-controller @deepseek-ai/dsh-api-account-controller
llm-deepseek-account @deepseek-ai/dsh-llm-deepseek-account
ui-settings-account @deepseek-ai/dsh-client-ui-settings-account
  1. 插入本包行 no-login,由 lib/index.js 提供永远未登录的 deepseekAccount 替身:读操作返回 { status: 'signed-out', attempt: null, links: {} } 且不发网络请求;startSignIn() 抛 SIGN_IN_DISABLED;resolveToken() 恒为 undefined。原因是 @deepseek-ai/dsh-client-product-analytics 硬依赖该服务,服务消失会导致遥测一直 pending。

插件加载时会删除凭证库里遗留的 deepseek-account-platform/default 授权记录;deepseek-account-platform/device 与所有 API Key 凭证不动。

安装与启用

在已有插件目录的前提下,用 DSH 的 bundle 安装命令(路径改为你本机上的绝对路径):

plugin_manager install_bundle  target=<本目录绝对路径>

安装后,设置 → 插件中会出现名称为「禁用登录」的条目。profile 补丁层支持 live reload,一般无需重启 Host;浏览器端刷新一次即可看到账号入口消失。

从 GitHub 获取源码后,同样把 target 指向该目录;README 说明 profile 里是目录链接,后续可在该目录内更新代码。

注意: 不要单独停用插件行 no-login。停用后 deepseekAccount 服务会消失,可能再次触发遥测 pending。若要恢复登录,应整包移除:

plugin_manager remove_bundle target=dsh-no-login

移除后四行恢复启用,但安装时已清掉的平台授权需重新登录。

典型用法与验证

开发者在插件仓库内可跑单元测试:

node --test test/no-login.test.mjs

测试用假 Cordis context 加载 lib/index.js,断言替身服务的未登录行为、startSignIn() 拒绝授权,以及仅删除 deepseek-account-platform/default 凭证。

README 记录在 DSH 0.2.1-rc.5、web profile 上的实测:dsh --profile web --dump-config 可见四行 disabled: true 且 no-login 在列;Host 侧四账号行 inactive;Client 侧账号菜单与账号设置段为空;GET /oauth/callback 返回 404。

适用场景与注意

适合: 内网或自建部署、只走 API Key/第三方路由、希望减小平台 OAuth 与会话 token 暴露面的 DSH 使用者。插件对装入的 profile 下所有会话 生效。

务必知晓的取舍:

  • 首次 onboarding 与登录 UI 在同一 Client 插件里,装本 bundle 后整条首次引导都会消失(不只登录一步)。
  • 只覆盖带 profile 的 Web / 桌面组合;上游若新增账号相关行 id,需同步改 cordis.patch.yml。
  • 插件以当前 DSH 进程权限运行;安装前请自行审阅 源码与 MIT 许可证。

DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区收录,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-no-login 用 bundle 补丁禁用四条账号出厂行,并用 Host 侧替身稳住依赖,同时清理遗留平台授权。若你的目标是「Harness 里完全没有登录入口、只保留 Key 与第三方模型」,可按 README 的 install_bundle 装入对应 profile,并用移除 bundle 的方式恢复登录能力。

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

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

Xiaoye