前言¶
DSH 的理念是「一切皆插件」。如果你使用 dsh web,并想让自己部署的服务显示自己的品牌标识,常见麻烦是要手动准备 favicon、侧边栏 Logo、折叠栏图标等多尺寸图片,再处理重启、缓存和前端资源替换。
下面介绍 dawsondx/dsh-custom-logo。这个插件的做法是直接上传两张图:一张方形图、一张横向宽图,插件自动处理并替换 dsh 的 favicon 与侧边栏 Logo,不需要手动准备任何尺寸的切图。
这是什么¶
dsh-custom-logo 是一个 DSH web 插件,仓库由 dawsondx 维护,许可证为 MIT。当前资料中的 package.json 版本为 1.0.2,插件没有第三方依赖。
安装后,dsh 的设置弹窗中会多一个「品牌设置」分区,与「通用 / 模型 / 插件」并列。你只需要在这个分区里选择图片,插件会完成品牌位替换。
核心功能¶
两张图对应三处品牌位:
- 浏览器标签页:方形图居中裁切为 favicon,收藏夹图标同步更新。
- 展开侧边栏:横向宽图等比缩放,以 42px 高度替换原生文字标。
- 折叠窄栏:方形图缩为 36px 圆形图标。
图片处理全部在浏览器端完成。上传后页面自动刷新生效,不需要重启服务,也不需要手动准备不同尺寸的切图。
服务端会把图片写入 dsh 用户目录下的品牌目录:
<DSH_HOME>/branding/
具体文件为:
logo-128.png
logo-64.png
logo-wide.png
写入采用原子落盘方式。每次 index 请求时,插件会动态注入 favicon 与 CSS 自定义 Logo,并让资源 URL 带上:
?v=<mtime>
用于自动破缓存。
品牌图保存在 dsh 用户目录中,而不是插件包内。因此插件升级不会丢品牌图;dsh 自身升级也不会覆盖本插件。插件通过用户 profile 的 patch 层挂载,CSS 锚点使用稳定属性。
设置面板支持中英文,跟随 dsh 界面语言。两张卡片的当前图会以缩略图预览。
安装与启用¶
README 标注的推荐安装命令是:
dsh plugin --profile web add dsh-custom-logo
安装后重启 dsh:
dsh start --profile web
如果你有自己的启动脚本,也可以使用启动脚本。
启动后打开 dsh 设置弹窗,在左侧导航中选择「品牌设置」,即可开始上传品牌图。
典型用法¶
先准备两张 PNG 图片:一张用于 favicon 的方形图,一张用于展开侧边栏的横向宽图。
1、打开设置弹窗,在左侧导航选择「品牌设置」。
2、在「网页图标」卡片中选择方形 PNG 图片,插件自动处理并刷新。
3、在「侧边栏 Logo」卡片中选择横向宽图 PNG 图片,插件自动处理并刷新。
4、不满意时随时重传;想回到 dsh 默认品牌时点「恢复默认」。
如果上传后页面没有变化,先做一次硬刷新:
Ctrl+Shift+R
宽图建议使用接近 3:1 的比例,例如:
126×42
540×180
更宽的图会按高度等比缩窄,不会变形。折叠窄栏会显示 36px 圆形图标,建议主体图形不要太贴边。
适用场景与注意¶
这个插件适合使用 dsh web,并希望把默认 DeepSeek Harness 品牌位换成自己标识的开发者。由于插件随 dsh 当前进程权限运行,安装前应检查源码、许可证和依赖。该插件许可证为 MIT,资料中说明为零第三方依赖。
安全方面需要注意:
- 上传/重置接口仅接受 loopback 来源,校验 peer socket 地址,而不是可伪造的 Host 头。
- 仅接受 PNG,校验文件魔数。
- 单次上传上限 8MB。
- 使用文件名白名单,不接受任意路径写入。
卸载命令是:
dsh plugin --profile web remove dsh-custom-logo
再删除用户目录下的品牌图文件:
~/.dsh/branding/logo-*.png
即可还原。
结尾¶
dsh-custom-logo 的价值比较直接:不改前端资源、不手动切图,用两张 PNG 图片把 dsh web 的 favicon 和侧边栏品牌位换成自己的标识,并通过 dsh 设置弹窗完成上传、重置和恢复默认。
- GitHub:https://github.com/dawsondx/dsh-custom-logo.git
- 社区目录:检索插件名
dsh-custom-logo(本文资料未提供目录页 URL)