前言¶
在 DSH(DeepSeek Harness)里做项目时,侧边栏仍是默认品牌,空对话页中央也是官方文案;更麻烦的是,过几天再打开某个工作目录,往往想不起当时为什么把这批文件加进来、当时在推进哪件事。社区里已有若干只改 Logo / 标题的插件,但很少把「页面水印」和「文件夹落盘说明」放在同一套配置里。
下面介绍维护者 Shushushu-whn 发布的 dsh-brand-text(npm 包名 dsh-brand-text,当前版本 0.4.0,MIT 许可证)。它面向 DSH Web 客户端,用两层能力处理品牌与水印:基础换肤,以及可撤销的文件夹盖章台账。社区目录将其归类为「趣味换装」;配置与数据集中在同一份 brand.json 中。
这是什么¶
dsh-brand-text 是 DSH 的 Web 端插件:一层改 DSH Web 界面的品牌元素(侧栏 Logo、名称、空对话中央标题、浏览器标签标题、favicon 与 PWA manifest);另一层在页面上铺半透明水印,并把「为何添加」「当前在做什么」写进你指定的项目目录(含台账 apply / undo)。两层都可以在设置面板 /brand-studio/ 里编辑,也可以在页面上双击就地修改。
与社区插件 dsh-custom-brand 不同,且二者会争用侧栏品牌位,不要同时启用。README 也说明本插件已覆盖原 dsh-client-ui-brand 的职责,一般无需再装后者。
核心功能¶
① 基础换肤(Basics)¶
| 项 | 展示位置 | 配置键 |
|---|---|---|
| 侧栏名称 | 侧栏左上角;同时作为浏览器标签标题与 PWA 名称 | productName |
| 中央标题 | 新建空对话时页面中间一行 | heroText(留空则用官方默认「探索未至之境」/ “Into the Unknown”) |
| 侧栏 Logo | 侧栏品牌位 / favicon / PWA 图标 | logoPath |
保存后 刷新页面(F5) 即可生效,无需重启 DSH 进程。
② 水印(Watermark)¶
水印解决两类可见性需求:
- 页面叠加层(Form A):在 DSH 页面上显示可调透明度、角度、字号、平铺或单条的斜向文字层;
pointer-events: none,不挡点击。任意浏览器可用。 - 文件 / 文件夹盖章(Form B):在目标目录内写入
_DSH水印说明.md、Explorer 悬停提示(InfoTip),并将文件夹图标换成品牌标记;说明写在目录本身,离开 DSH 仍存在。仅 Windows(依赖desktop.ini与attrib);盖章会给文件夹设置系统属性,Explorer 有时需要 F5 才刷新图标。
brand.json 里 watermark 可配置 text、task、note(对应「为什么加」「在干什么」等语义)、opacity、angle、scale、repeat、color、onPage,以及台账数组 watermark.targets。每条路径可在面板里 apply / undo;撤销会删掉说明、恢复原有 desktop.ini 并清除文件夹属性。
两种编辑方式¶
| 方式 | 入口 | 适合 |
|---|---|---|
| 设置面板 | http://127.0.0.1:<dsh-port>/brand-studio/ |
基础项、水印预览与调参、文件夹台账 |
| 双击就地编辑 | 双击左上角品牌区(Logo 或文字)弹快捷对话框;双击中央标题改文案 | 小改快调,保存后页面会重载 |
为让双击可用,插件会拦截品牌位的单击/按下事件:单击不再新建对话;双击编辑,右键打开完整面板。这是 README 明确写明的交互取舍。
安装与启用¶
推荐顺序:npm(预构建)→ GitHub → 本地目录兜底。安装后需 重启对应 DSH 实例。插件以当前 DSH 进程权限运行,安装前请自行查看源码与 MIT 许可证。
从 npm(推荐)¶
dsh plugin --profile web add dsh-brand-text
更新:
dsh plugin --profile web update dsh-brand-text
从 GitHub¶
dsh plugin --profile web add github:Shushushu-whn/dsh-brand-text
本地目录(离线或安装失败时)¶
在插件仓库目录执行(将 <path-to-profile> 换成你的 profile 路径):
cd /path/to/dsh-brand-text
node install.mjs --profile "<path-to-profile>"
install.mjs 可重复执行;本地 link: 安装后改 lib/ 无需重装。
插件配置项¶
在 profile 的 cordis.patch.yml 中可指定 brand.json 路径,便于多 profile 共用不同品牌:
- id: dsh-brand-text
config:
configPath: '' # 空则使用插件旁的 brand.json
示例(多品牌):
- id: dsh-brand-text
config:
configPath: 'D:\brands\team-a.json'
brand.json 字段示例见仓库内 brand.example.json;无 watermark 键的旧文件默认关闭水印。
典型用法¶
- 按上文命令把插件装进 web profile,重启 DSH。
- 浏览器打开
http://127.0.0.1:<dsh-port>/brand-studio/,填写productName、heroText,上传或指定logoPath,F5 看侧栏与标签页变化。 - 在水印区开启 overlay,填写
text、task、note,拖动透明度等参数;需要时在台账里对某个项目路径执行 apply。 - 若只需改名称或中央一句话,可在主界面双击品牌区或中央标题,按对话框顺序先基础、后水印保存。
卸载前建议在面板里先 undo 文件夹盖章;再从 dsh.profile.bundles 与 dependencies 移除 dsh-brand-text 并执行 pnpm install。
适用场景与注意¶
适合谁:需要把自用或团队 DSH Web 换成自家品牌标识的开发者;希望在 DSH 里就能给当前任务相关目录留下「为何存在、当时在做什么」说明的人(尤其 Windows 本机项目树)。
兼容性:面向 @deepseek-ai/dsh 0.2.x 开发验证;package.json 要求 Node >=20。HTTP 路由(如 /brand-studio/ 及各 API)与官方插件路由类似,跳过 DSH token 校验且仅监听 loopback;若把 DSH 暴露到局域网,需自行加访问控制。
生态说明:DSH 奉行「一切皆插件」;SkillHub 插件目录 是社区站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-brand-text 把 Web 换肤与「页面水印 + 文件夹盖章台账」收进一份 brand.json 和一个 /brand-studio/ 面板,适合长期用 DSH 管多项目、又不想靠记忆追溯目录来历的场景。