dsh-account-alias
Manifest validDSH plugin: use a custom id instead of the server-masked phone number in the sidebar account entry
dsh-account-alias
让 DeepSeek Harness 左下角账户入口不再显示你手机号的前 2 后 3 位,改用你自己设定的 id——并且可以在界面里随时改。
装完重启一次,侧边栏那一行和「设置 → 账号」资料卡片里都不会再出现服务端下发的脱敏手机号/邮箱。
- 能力分类:界面与体验
- 许可证:MIT
- 平台:DeepSeek Harness(Desktop / Web 客户端),Windows / macOS 均可

上图是侧栏底部区域(3 倍放大):原本会显示
13*****678的位置,现在显示设定的自定义 id。 原始尺寸:docs/account-entry.png
它解决什么问题
侧边栏底部的账户入口由官方包 @deepseek-ai/dsh-client-ui-settings-account 渲染,标签算法是:
profile.name ?? profile.contact ?? t("signedIn")
而 contact 并不是前端算出来的,是宿主侧 @deepseek-ai/dsh-deepseek-account-platform
对 Platform 响应的投影:
contact: mobile || mobile_number || email || null
也就是 Platform 已经脱敏过的手机号(形如 13*****678)或邮箱。前端只是原样显示,
所以没有设置昵称的账号,左下角必然出现手机号的前 2 后 3 位。同一个字段也出现在
「设置 → 账号」的资料卡片里。
本插件把显示换成你自定义的 id。
安装
dsh plugin --profile web add github:PrismScopes/dsh-account-alias
装完重启 DeepSeek Harness(宿主只在启动时读取 profile)。
也可以在「设置 → 插件市场」里搜索 dsh-account-alias 一键安装。
Windows 上如果你是从本地源码目录安装(
link:方式),请用仓库里的install.ps1:它会做一次真实副本安装并做加载自检。原因见下方「为什么本地源码安装要额外一步」。
使用
打开 侧栏「插件」→ dsh-account-alias → 行 account-alias → 配置,可以改三项:
| 字段 | 默认 | 说明 |
|---|---|---|
| 自定义 id | User | 左下角账户入口与账号设置页显示的内容。留空 = 保留服务端昵称;支持 {uid} 占位符,展开成账号 UID |
| 脱敏联系方式 | 不显示 | 服务端下发的就是已脱敏手机号或邮箱。选「不显示」后两处界面都不再出现它 |
| 占位文本 | 空 | 「不显示」时用这段文字顶上;留空则该字段直接不出现 |
保存后即时生效,不需要重启(配置字段以 volatile 形式下发)。
等价的配置文件写法(profile 的 cordis.patch.yml):
- id: account-alias
name: dsh-account-alias
config:
alias: PrismScope
contact: hide
contactText: ''
它改了什么,没改什么
这条链路上只有一个共享注入点:
Platform HTTP
→ dsh-deepseek-account-platform 实现 ctx.deepseekAccount
→ dsh-api-account-controller getProfile() → ctx.deepseekAccount.getProfile(client)
→ client ui-settings-account settings.launcher 标签 + 设置页资料卡片
插件把宿主的 ctx.deepseekAccount.getProfile 包一层,只改写返回值里的 name / contact:
- 没有替换任何 UI 席位。账户菜单(设置入口、意见反馈、退出登录、头像、赠金通知) 仍是官方原装组件,只是它读到的资料变了。
- 账号 UID(
id)绝不改动。平台用它隔离赠金通知(identityOf),getPlatformSession也复用它,改掉会串号。 - 被替换的方法从原型上取,不从实例取:重装时永远包在真正的 provider 方法外, 不会叠在上一个包装器上;插件卸载时删掉自己加的实例属性,原行为完整恢复。
权限与风险
- 不联网。插件本身不发任何请求,只改宿主已经拿到的资料投影的显示值。
- 不读凭据。不接触 token、不读 cookie、不写任何文件;
getProfile的原始响应 仍由官方包获取,插件只在返回路径上改两个字符串。 - 不改服务端数据。Platform 请求本身照旧,脱敏字段该传什么还传什么;
推理鉴权、赠金通知的账号标识、意见反馈问卷的
uidprefill 都不受影响。 - 配置文件:只读 profile 的 Cordis 配置(由宿主提供),设置页的写入由官方
@deepseek-ai/dsh-settings落盘,插件不自己写文件。 - 唯一的外部依赖是宿主自带的
@deepseek-ai/schemastery(用于生成设置表单)。 拿不到它时,插件仍然工作,只是设置表单消失并在日志里说明原因。
已知限制
- 只改显示。服务端下发的仍然是脱敏后的联系方式,本插件只控制它是否出现在界面上。
- 保存后,侧边栏那条标签要等一次账户资料刷新才会更新——重新打开一次设置面板即可。
- 依赖宿主存在
ctx.deepseekAccount(Desktop 登录态)。未登录时侧边栏显示的是 「更多」行,本来就没有手机号。 - 兼容性:面向 DSH
0.2.x系列构建,使用@deepseek-ai/schemastery≥3.18.4。
为什么本地源码安装要额外一步
如果你用 link: 方式安装(源码目录 + 符号链接),插件里的 bare 导入
@deepseek-ai/schemastery 不会被解析到宿主副本,而是沿真实路径命中你机器上可能存在的
旧版本(3.18.2 没有 Schema.prototype.volatile),模块在求值期抛错、条目静默失效。
平台规则见 @deepseek-ai/dsh-app-boot 的 routeLinked():linked 包里的 bare 导入,
只有在该包 manifest 的 peerDependencies 里列出这个名字时才会被拦截到宿主副本。
本包已经声明了 @deepseek-ai/schemastery peer,并且 install.ps1 会把包复制成
profile 层包(真实目录),此时无论走拦截还是普通解析,命中的都是正确那份。
从插件市场(git)安装则天然是 profile 层包,不需要这一步。
文件结构
| 文件 | 作用 |
|---|---|
index.js | 宿主半边:导出 Config(三个 volatile 字段)+ apply,包装 getProfile |
profile-alias.js | 纯逻辑:配置归一化、volatile 现读、资料改写、补丁与还原(无外部依赖,便于单测) |
client.js | 客户端半边:注册 plugins.row.config 的设置表单(手写 __ModuleLoader__ 模块,无需打包) |
cordis.patch.yml | bundle 补丁行与默认配置 |
install.ps1 | 可选:Windows 本地源码安装 / 卸载,自带加载自检 |
许可证
Comments
Loading…
Similar plugins
by jipika
DSH 插件中心(本地改版):插件管理/市场额外提升为设置窗口左侧导航的独立分栏(settings.section#plugin-console),原「设置 → 插件」tab 保留。基于上游 0.3.63。
★ 0
MIT
JavaScript
Sep 27, 2026
dsh plugin --profile web add @noob-stupid/dsh-plugin-consoleby KouzakiUmi
DSH 插件:为实际启用的模型提供可读名称,统一美化 provider / 模型选择器与设置页;只改 UI 展示,不改变模型 ID、路由、凭据或请求。
★ 0
MIT
JavaScript
Oct 9, 2026
dsh plugin --profile web add dsh-model-namesby loeissu
Mobile-first UI for the DeepSeek Harness web client — an official slot client plugin. 让 DSH 在手机上好用:抽屉导航、命中区、键盘适配、横屏。不改宿主源码,不 fork tether,不接管 sidebar。
★ 0
MIT
JavaScript
Sep 14, 2026
dsh plugin --profile web add dsh-plugin-mobile-uiby Hjay1101
DeepSeek Harness 插件:手机扫码遥控电脑上的 agent —— 在 dsh-remote-link 基础上增强会话持久化(dsh 重启后已配对设备保持登录)、iOS 主屏图标等
★ 0
MIT
JavaScript
Aug 23, 2026
dsh plugin --profile web add dsh-ios-controlby DreamsTOF
DeepSeek Harness 的三合一能力台:提示词定制(按名称屏蔽 / 替换 / 注入 / 排序,按会话阶段与 agent 预设分层)+ 技能集合管理(导入 / 分组 / 开关)+ MCP Server 接入(分层遮蔽与工具级启停)。纯插件注入,不动官方源码。
★ 0
MIT
JavaScript
Sep 19, 2026
dsh plugin --profile web add dsh-prompt-customizerby xthreehao
DSH(DeepSeek Harness)隐藏会话插件:把会话从侧边栏隐藏、可随时恢复。免构建零依赖,契约取自运行中的 0.2.0-rc.2。
★ 0
MIT
JavaScript
Oct 2, 2026
dsh plugin --profile web add dsh-hidden-session