dsh-snippets:DeepSeek Harness 的 CSS/JS 代碼片段管理器

DeepSeek Harness 的 web GUI 提供了插件擴展能力,但針對特定界面的微調或調試,往往需要編寫專門的插件。dsh-snippets 插件解決了管理這些 CSS 和 JavaScript 代碼片段的需求,允許在不修改 harness 源碼的情況下,對界面進行快速、可複用的調整。

核心功能

該插件爲 web GUI 提供了一個集中的代碼片段管理面板,具備以下能力:

  • 片段管理:通過 CSS 和 JS 兩個選項卡管理代碼,支持搜索(標題或代碼)、添加、編輯、複製、刪除以及拖拽排序。
  • 代碼編輯:集成 CodeMirror 6 編輯器,支持行號、語法高亮、括號匹配、代碼摺疊以及搜索/替換功能。編輯 CSS 時支持實時預覽。
  • 文件監聽:支持監聽本地文件夾中的 .css 和 .js 文件,將其自動同步到插件庫中。
  • 庫導入導出:支持將整個片段庫導出/導入爲 JSON 文件,並在導入前自動創建備份。
  • GitHub Gist 同步:支持通過 GitHub Gist API 同步片段,提供合併更新、鏡像覆蓋或僅添加三種模式。
  • 即時應用:界面中提供“重載界面”按鈕,用於立即應用 CSS 更改。

安裝與啓用

安裝前請確保 DeepSeek Harness 版本爲 0.1.7-rc.1 或更高(0.1.7 重寫了設置行,舊版本不支持)。

dsh plugin --profile web add github:zhang24xiao/dsh-snippets

安裝完成後,重啓 web GUI。對於本地開發,也可以使用鏈接安裝:

git clone git@github.com:zhang24xiao/dsh-snippets.git
dsh plugin --profile web add link:$PWD/dsh-snippets

使用方法

安裝並重啓後,側邊欄底部的 </> 圖標(位於“設置”行上方)會打開管理面板。在官方的“插件”管理頁面中,該插件也會顯示一個摺疊的設置卡片。

編輯片段後,點擊界面上的“重載界面”按鈕以應用 CSS 更改。若進行本地開發,可在插件目錄下運行:

pnpm install
pnpm run watch

注意事項

  • JS 運行機制:JS 代碼片段在頁面加載後執行,不運行在沙箱中,行爲與在瀏覽器控制台粘貼代碼一致。這屬於“信任即擁有”的機制,請僅啓用可信代碼。
  • 安全限制:插件提供的 API 端點僅接受迴環請求(loopback),無法通過網絡訪問。
  • Token 存儲:GitHub Gist 的訪問令牌存儲在本地文件 $DSH_HOME/dsh-snippets/gist-token.json 中,權限爲 0600,不會暴露給瀏覽器或發送到設置文檔中。
  • 卸載行爲:卸載插件會移除所有注入的 <style> 元素,但已執行的 JS 代碼無法被撤銷。
羽毛球分组比赛记分
小程序二维码

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

小夜