前言¶
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 做两件事:
- 将以下四行设为
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 |
- 插入本包行
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