DSH 桌面客户端装插件:一次 --profile 选错的完整排查
本文实测环境Windows DeepSeek Harness 官方桌面客户端Electron。文中的路径统一用环境变量表示示例属于脱敏写法插件本身是公开仓库 MeteorNOX/DeepSeek-Balance-Whale-Widget。起因我想给 DSH 装一个右下角常驻的余额挂件显示 DeepSeek 余额、今日已用和每轮对话消耗。这类插件在 DSH 里叫 bundle 插件正常情况下一条命令就能装。插件的 README 给的命令是这样的dsh plugin--profile web add dsh-whale-widget我照做了接着折腾了十几分钟。问题不在命令写错了而在我装错了 profile。这篇把整个过程记下来因为这类装成功了但界面什么都不显示、控制台也不报错的问题第一反应很容易怀疑插件坏了。第一步先确认你在哪种 DSH 里DSH 有两种常见运行形态命令行起的dsh web和官方 Electron 桌面客户端。两者读的是不同的 profile而 profile 决定了插件装到哪里、界面从哪里读。不用猜环境变量里写得清清楚楚Get-ChildItemenv:|Where-ObjectName-likeDSH_*我的输出里有三个关键项DSH_HOME 用户目录\.dsh DSH_PROFILE desktop DSH_PROFILE_DIR 用户目录\.dsh\profiles\desktopDSH_PROFILEdesktop就是答案我现在跑在桌面客户端里它读的是desktopprofile不是web。对应的 profile 目录长这样一个 profile 就是一个独立的小工程%USERPROFILE%\.dsh\profiles\desktop\ ├── package.json # 依赖 dsh.profile.bundles插件清单 ├── pnpm-workspace.yaml ├── pnpm-lock.yaml ├── cordis.patch.yml # 用户自己的补丁层 └── node_modules\所以 README 里那条--profile web命令在这个环境下装完是落在webprofile 里的桌面窗口从desktop读自然一个字都读不到。表现就是右下角什么都没有控制台也没有报错。不是插件的问题是它被装到了另一间屋子。第二步用客户端自带的 CLI 装进 desktop profile这里有个小坑通用的dsh命令行按设计拒绝碰desktopprofile会直接报error: profile desktop is managed exclusively by the Electron application那不让你用是不是就只能手动去改 profile 里的文件不必。桌面客户端自己带了一个 CLI它能正常操作desktopprofile$dsh$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd$dshplugin--profile desktop add dsh-whale-widget执行结果就是一次普通的 pnpm 安装dependencies: dsh-whale-widget ^0.3.18 Done in 2.1s using pnpm v11.7.0这一步不需要手工改任何配置文件。命令跑完profile 的package.json里依赖和插件清单都已经自动写好了{dependencies:{dsh-whale-widget:^0.3.18},dsh:{profile:{bundles:[deepseek-ai/dsh-base,deepseek-ai/dsh-web-app,dshmarket,dsh-whale-widget]}}}如果你手上是本地资源包或开发目录把包名换成link:仓库绝对路径即可link:是软链安装改了源码立刻生效但装完之后不能再移动或重命名那个目录。第三步分清宿主半区和客户端半区这是整件事里最有价值的一段。DSH 插件通常分两半宿主半区跑在 DSH 主进程里负责注册 HTTP 路由、读凭据、写账本客户端半区一段前端脚本由宿主注入到页面里执行负责画界面。两半的活了没有要分开判断不然只会看到没反应三个字。判断宿主半区直接探测插件注册的路由。这里要注意 DSH 有一层浏览器信任栅栏不带会话凭据的裸请求会返回 401/403这是预期的——它恰好说明路由已经注册好了curl.exe-s-o NUL-w%{http_code}nhttp://127.0.0.1:端口/dsh-whale/size.json# 401路由已注册被信任栅栏拦下再拿一个同前缀但肯定不存在的路径做对照curl.exe-s-o NUL-w%{http_code}nhttp://127.0.0.1:端口/dsh-whale/definitely-not-real.json# 404说明上面的 401 不是所有请求都 401而是路由真的在一次对照就能定性401/403 挂上了404 没挂上。判断客户端半区桌面端的前端注入表是在宿主启动时一次性收集的没有运行时刷新路径。也就是说插件是启动之后才装进去的话宿主这半区能立刻热加载但页面拿不到注入行——界面就永远不会出现。这不是 bug是运行期装的插件没赶上开门时间。结论很朴素装完必须重启一次桌面客户端。重启之后我实测到的现象是DSH 的运行目录里出现插件自己的状态文件随时间更新说明宿主在持续记账弹窗/挂件的设置文件生成说明前端脚本真的跑起来了界面右下角出现挂件余额、今日已用正常显示。如果重启后仍然什么都没有可按插件 README 的顺序检查assets/是否完整缺图缺声不会报错只会静默降级、凭据是否配置、以及是否有下载管理器把挂件音效的请求抢去当下载任务。第四步卸载与两个容易踩的点卸载就是把add换成remove$dshplugin--profile desktop remove dsh-whale-widget两个要点安装方式二选一不要混用。同一个插件既有 npm 包也能从 GitHub 仓库直接装。两种方式装的是同一个包名先后安装会并存冲突要换方式先remove再add。profile 是隔离的。web里装了不代表desktop里有反过来也一样。以后看到Dsh 插件装了没反应第一步就该确认DSH_PROFILE。这次得到的一条通用经验排查这类问题先问三个问题能省掉大部分瞎猜我的程序读的是哪个 profileDSH_PROFILE一查就知道插件的宿主半区活了吗探一个它自己的路由401/403 也算活客户端半区需要重开程序才会加载吗注入表在启动时收集 → 是文中结论的状态说明已验证desktopprofile 的安装命令可正常执行并自动写入依赖与dsh.profile.bundles重启客户端后挂件可显示宿主侧记账与状态文件正常更新。未验证其他 DSH 版本的 profile 行为是否完全一致插件的长期稳定性以上步骤在 macOS / Linux 下的等价路径本文只覆盖 Windows。

相关新闻

Ubuntu 26.04 的 Windows Spotlight 最终方案:强烈推荐 Spotlight Desktop

Ubuntu 26.04 的 Windows Spotlight 最终方案:强烈推荐 Spotlight Desktop

在 Ubuntu 26.04 上,我一直很喜欢折腾桌面壁纸。 倒不是单纯想每天换一张图片,而是一直比较喜欢 Windows 11 的 Windows Spotlight(Windows 聚焦):每天自动换一张质量不错的风景壁纸,同时还能知道这张照片…

2026/10/11 6:27:17 阅读更多 →
国漫大模型推荐2026:Illustrious、NoobAI、Anything V5对比,ComfyUI 8G显存选型指南

国漫大模型推荐2026:Illustrious、NoobAI、Anything V5对比,ComfyUI 8G显存选型指南

你是不是已经能用 SD1.5 基础模型出图了,但每次画出来的“国漫”,总觉得像日漫穿了件汉服——形似神不似? 别慌,我一开始也这样,换了三个模型才找到感觉。 这篇不教操作,就做一件事:帮你在 Illustrious、NoobAI、Anything V5 三个国漫模型里,选出一个最适合你当前阶段的…

2026/10/11 6:27:17 阅读更多 →
Linux 日志增量统计:inode + offset 方案(不丢不重)

Linux 日志增量统计:inode + offset 方案(不丢不重)

背景 我给 Nginx 缓存命中率写了个统计脚本,每 5 分钟跑一次,读 /var/log/nginx/dashboard_cache.log,统计 HIT/MISS 数量写进 MariaDB。 第一版逻辑很简单: tail -n 100 /var/log/nginx/dashboard_cache.log | awk {...}跑了两天…

2026/10/11 6:27:17 阅读更多 →

最新新闻

安卓分屏自动左滑脚本:Auto.js+ADB实现3秒滑动挂机

安卓分屏自动左滑脚本:Auto.js+ADB实现3秒滑动挂机

先说个真实场景:我手机上装了某短视频极速版,每天要做签到和刷视频任务,手得一遍遍地左滑,滑到拇指发酸。后来我寻思,这滑动动作完全可以用脚本代替。于是就有了标题里这个功能——“循环3秒左滑-支持屏幕上下分屏”。…

2026/10/11 7:04:36 阅读更多 →
PS5控制器协议解析与Linux驱动开发指南

PS5控制器协议解析与Linux驱动开发指南

我无法基于当前输入生成符合要求的博文。原因如下:项目标题 "AnyPS5" 缺乏有效上下文:该标题本身是一个模糊的命名组合(可能指向某款非官方PS5相关工具、模拟器、兼容层、硬件方案或社区项目),但未提供任何可…

2026/10/11 7:04:36 阅读更多 →
C盘空间不足?用Codex定位并清理AppData 87.81GB的完整方案

C盘空间不足?用Codex定位并清理AppData 87.81GB的完整方案

C盘爆红这种事,经历过一次就再也不想经历。我前两天正写着代码,系统突然弹窗提示 C 盘空间不足,磁盘剩余居然只剩不到 1GB。习惯性点开“此电脑”,看到 C 盘那一整条红色,第一反应是打开应用列表准备卸载软件&#xff…

2026/10/11 7:04:36 阅读更多 →
从传统编辑器到Cursor:AI编程实战与智能重构经验总结

从传统编辑器到Cursor:AI编程实战与智能重构经验总结

1. 为什么我最终把主力编辑器换成了 Cursor先说结论:我不是因为“AI 编辑器”这个概念火才换的,而是因为一次真实的项目重构把我逼到了墙角。当时手上有一个跨平台的后端服务,代码量大概四万多行,涉及三个语言栈,历史遗…

2026/10/11 7:04:36 阅读更多 →
Simulink搭建魔术公式轮胎模型:纵向、侧向及综合滑移工况详解

Simulink搭建魔术公式轮胎模型:纵向、侧向及综合滑移工况详解

做车辆动力学仿真的朋友,十有八九都绕不开轮胎模型。我最初把整车动力学模型跑起来时,最头疼的就是轮胎力算不准——明明车辆动力学方程写得没问题,但一到极限工况,侧偏特性就对不上,跑出来的横摆角速度曲线像过山车。…

2026/10/11 7:04:36 阅读更多 →
Ionic Icon 图标完全指南:从基础用法到实战技巧

Ionic Icon 图标完全指南:从基础用法到实战技巧

1. 引言在移动应用和 Web 应用开发中,图标是界面设计中不可或缺的元素。Ionic 框架内置了一套功能强大、风格统一的图标库——Ionicons,它包含了 1300 个精心设计的图标,覆盖了日常开发中绝大部分场景。本文将带你全面了解 Ionic Icon 的使用…

2026/10/11 7:03:35 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →