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

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

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

小夜