前言¶
在 DSH 的 Web 會話中,工作區裏經常會有臨時記錄、待辦或片段需要快速記下來。dsh-sticky-notes 是一個由 flyhigao 維護的輕量插件,它在當前會話頭部右側提供一個便籤入口,用來爲所選工作區新建、編輯和刪除多張便籤。
該插件使用 MIT 許可證,支持 DSH 0.1.0-rc.6、0.1.0-rc.8、0.1.1-rc.2、0.1.2-alpha.2 及更高版本。
核心能力¶
- 當前會話頭部快捷入口,不佔用側邊欄空間。
- 多便籤管理:列表預覽、點開編輯、新建、保存、刪除。
- 彈窗內提供工作區下拉框,默認當前會話工作區,也可以切換到本機其他已註冊工作區。
- 界面語言跟隨 DSH 當前語言設置,支持中文和英文。
- 切換便籤、切換工作區或關閉窗口前,會自動保存未提交的編輯內容。
- 每個便籤保存爲一個 Markdown 文件,方便直接用編輯器查看和修改。
安裝¶
從 GitHub 安裝:
dsh plugin --profile web add github:flyhigao/dsh-sticky-notes
安裝後重啓 dsh web,進入會話時可在會話頭部右側看到便籤圖標。
本地開發安裝時,克隆倉庫後執行:
dsh plugin --profile web add file:/path/to/dsh-sticky-notes
再重啓 dsh web。
使用¶
1、打開一個 DSH 會話。
2、點擊會話頭部右側的便籤圖標。
3、在彈窗頂部選擇工作區;默認是當前會話工作區,也可以切換到本機其他已註冊工作區。
4、在列表中預覽便籤,或新建、編輯、刪除便籤。
5、保存後,內容會寫入所選工作區的 dsh-notes/ 目錄。
保存後的文件路徑形式爲:
<working-directory>/dsh-notes/<note-id>.md
數據與接口¶
每個便籤對應一個 Markdown 文件。刪除便籤就是刪除對應的 .md 文件,沒有額外索引。手工修改或新增 .md 文件後,重新打開便籤面板即可看到變化。
插件提供如下 HTTP API:
GET /dsh-sticky-notes/list?workspaceId=<id>
POST /dsh-sticky-notes/save
POST /dsh-sticky-notes/delete
這些接口用於列表、保存和刪除。寫操作僅接受同源 POST,避免跨站請求。服務端通過 workspaceRegistry 解析工作區路徑,不信任瀏覽器傳入的任意路徑。
適用場景與注意¶
這個插件適合需要在工作區中快速記錄零散內容、並且希望以 Markdown 文件形式保留的場景。它使用 DSH 官方加法插槽 conversation.session.header.actions,不替換整個會話頭部,也不會獨佔該位置。
插件使用唯一 ID sticky-notes、order: 30 排序、HTTP API 前綴 /dsh-sticky-notes/* 和彈窗類名 dsh-sticky-notes-modal,以減少與其他插件衝突。
當前版本是手工維護的輕量實現,不需要額外構建步驟,零外部運行時依賴,不依賴已被廢棄的 dsh-client-runtime。
由於插件會以當前 dsh 進程權限運行,安裝前建議檢查源碼和 MIT 許可證。
結尾¶
dsh-sticky-notes 的價值在於把“工作區便籤”做成一個輕量、透明、可直接用編輯器維護的 Markdown 文件入口。
GitHub 倉庫:https://github.com/flyhigao/dsh-sticky-notes
插件線索給出的目錄頁地址爲:https://www.skillhub.cn/plugins/flyhigao/dsh-sticky-notes(該地址未直接在已抓取資料中確認)