dsh-bookmarks-dock:DeepSeek Harness 左侧网址书签栏插件

前言

DeepSeek Harness (DSH) 的 Web 界面在处理多任务切换时,侧边栏管理或快速访问常用工具可能不够直观。dsh-bookmarks-dock 插件通过在界面左侧增加一个可展开的工具栏解决了这一问题。该插件不改变原有布局结构,展开时通过内容右移来容纳书签列,避免遮挡主视图内容。

核心功能

左侧书签工具栏
固定悬浮「★」按钮,收起态不占位。点击展开 52px 宽的书签列,用于展示常用网址。

内容右移不遮挡
展开时给 DSH 三栏外壳增加 margin-left,中栏随框架 ResizeObserver 自动收窄,无横向滚动条,不会盖住原有内容。

真实 favicon 自动解析
Host 端(Node 进程)抓取站点首页 HTML,按浏览器真实加载顺序提取图标并转 base64,结果缓存于 localStorage。

书签持久化
书签数据存储于浏览器 localStorage,支持跨刷新和重启保留。

增删便捷
底部「+」添加网址(名称可选、自动补全 https://);悬停书签显示「×」删除。

预置常用站点
首次使用预置百度、GitHub、知乎,用户可删除后自定义使用。

安装与启用

环境要求:Node 18+,已安装 @deepseek-ai/dsh。

安装命令如下:

dsh plugin --profile web add ./dsh-bookmarks-dock

安装后重启 web 服务使客户端插件表生效:

dsh web --port 3080

典型用法

  1. 启动 dsh web 后,界面最左侧会出现一个悬浮「★」按钮。
  2. 点击 ★ 展开书签列,页面内容自动右移、不被遮挡。
  3. 点击书签图标 → 新标签页打开对应网址。
  4. 底部「+」添加网址;悬停书签点击「×」删除。
  5. 点击「«」或点空白处收起,布局还原。

实现说明

双半插件
Host 半通过 webServer.register({ kind: "prefix", path: "/dsh-bookmarks-dock" }) 暴露 favicon 解析路由,用 Node 全局 fetch + Buffer 抓取并按 magic bytes 校验后 base64 编码。

客户端注入
Client buffer 以 window.__ModuleLoader__.load({ id, factory }) 格式加载,require("react") 走平台 seed 表;通过 ctx.slots.inject("shell.overlay", ...) 挂载 UI。

持久化机制
客户端插件以 dsh.client 声明,经 cordis.patch.yml 的 insert 常驻加载(重启不丢失);区别于进程内 cordis_define 动态插件。

适用场景

本插件适合需要在 DSH 界面中快速切换常用开发工具或参考站的开发者。插件以当前 dsh 进程权限运行,安装前建议检查源码与许可证。

总结

dsh-bookmarks-dock 通过简洁的悬浮交互和自动布局调整,为 DSH 用户提供了实用的左侧书签管理方案。项目地址:https://github.com/songying2024/dsh-bookmarks-dock

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜