前言¶
在 DSH Desktop 裏做智能體開發或日常對話時,往往需要一個不離開側欄的輕量記錄入口:既能快速寫下碎片想法,又能在多臺機器上讀到同一份內容。常見做法是依賴第三方筆記 SaaS 或自建同步服務,多一個賬號、多一條數據出境路徑。下面介紹社區插件 dsh-notes(維護者 liusaipu,分類「記憶」):在 DSH 左側欄提供 flomo 風格的隨手記,本地先落盤,再通過你自己的郵箱 IMAP 文件夾在多臺 DSH Desktop 之間增量同步,不依賴中轉服務器,也不要求 DSH 賬號提供雲存儲。
這是什麼¶
dsh-notes 是面向 DSH Desktop Web UI 的第三方插件(MIT 許可證,當前版本 1.1.0,engines.dsh 要求 ≥ 0.2.1-rc.5)。它在側欄增加「隨手記」頁面:輸入、標籤、搜索、Markdown 渲染與圖片插入;同步層把每條筆記的每次修訂寫成一封帶自定義 MIME 頭的小郵件,追加到郵箱專用文件夾(默認 DSH Notes),另一臺電腦用同一郵箱按 UID 增量合併。社區目錄頁:https://www.skillhub.cn/plugins/liusaipu/dsh-notes;源碼與說明:https://github.com/liusaipu/dsh-notes。
同步設計:本地優先、郵箱作修訂日誌¶
插件的同步思路可以概括爲四步(與 README 一致):
- 每臺機器先把狀態寫在本地
$DSH_HOME/storages/flomo/state.json,離線也能記。 - 每次修訂對應一封郵件,放進 IMAP 文件夾。
- 其他設備登錄同一郵箱後,按 UID 讀取該文件夾,把郵件裏的修訂合併進本地。
- 衝突按
(updatedAt, deviceId)做 last-write-wins;刪除用墓碑標記,兩端收斂到同一份記錄。
連接郵箱時,插件用 IMAP 登錄,在目標文件夾創建或複用 DSH Notes,寫入一封帶隨機校驗碼的驗證郵件並立即讀回校驗,通過後刪除驗證郵件並保存賬號信息到本地。這一步同時驗證賬號、文件夾讀寫權限與網絡,無需 SMTP,也不依賴「收一封驗證碼郵件」的流程。
郵件正文以可讀快照形式存儲,關鍵頭字段包括 X-DSH-Memo、X-DSH-Kind、X-DSH-Note-Id、X-DSH-Note-Updated、X-DSH-Note-Device、X-DSH-Note-Deleted,內容爲 base64 編碼的 JSON(id / text / 時間戳 / revBy / deleted 等)。任意一封郵件可獨立解讀;重裝或同步失敗後重新掃描文件夾即可恢復。
核心功能¶
書寫與檢索¶
- 打開左側欄「隨手記」。
- 頂部輸入框寫內容,用
⌘/Ctrl + Enter或點「記下來」保存。 - 支持 Markdown 渲染(標題、列表、任務列表、引用、代碼塊、表格、鏈接等)以及
#標籤點擊篩選。 - 支持搜索(README 列爲能力之一)。
圖片¶
插入方式:剪貼板粘貼(⌘/Ctrl + V)、工具欄選文件(可多選)、拖拽到輸入或編輯框。圖片在 Host 側儘量壓縮爲 WebP(大圖最長邊 1600px,目標小於 900KB),存於 $DSH_HOME/storages/flomo/images/,筆記內以  引用,並隨修訂寫入郵箱郵件。限制:單張解碼後最大 1.5MB,單條筆記最多 6 張;不支持 SVG 直接上傳。遠程 http(s) 圖片僅當前設備加載,不會寫入郵箱;跨設備需用「插入圖片」上傳本地文件。
從舊插件導入¶
首次啓動時若存在舊插件 notes-wall 的 storages/notes-wall.json,會導入其中筆記;舊數據文件不會被修改或刪除。
安裝與啓用¶
安裝方式以 README 爲準,不要憑插件名臆造 dsh plugin add github:... 一類命令。DSH Desktop 需 ≥ 0.2.1-rc.5。
從 GitHub Release 安裝(推薦給其他人)¶
Release:https://github.com/liusaipu/dsh-notes/releases/tag/v1.1.0
下載 dsh-notes-1.1.0.tgz 後,在 Plugins → Add plugin → Install a third-party plugin 中填寫本地 tarball 的絕對路徑,或直接粘貼資源 URL:
https://github.com/liusaipu/dsh-notes/releases/download/v1.1.0/dsh-notes-1.1.0.tgz
安裝器支持 tarball URL 或本地路徑,不需要 npm 或 GitHub 賬號。若訪問 GitHub 受限,可先下載再拷貝到目標機器。
拷貝 npm pack 產物¶
在已有源碼的機器上打包後複製 tarball:
npm pack
# 得到 dsh-notes-1.1.0.tgz
在目標機器:Plugins → Add plugin → Install a third-party plugin → 填 tarball 絕對路徑 → Install。
從 Git 倉庫安裝¶
在 Install a third-party plugin 中填寫(將 <40 位 commit SHA> 換成固定提交):
git+https://github.com/liusaipu/dsh-notes.git#<40 位 commit SHA>
若插件位於倉庫子目錄,追加 &path:/flomo-notes。固定 commit 比跟蹤 main 更可復現。
通過社區市場索引(可選)¶
DSH 的「Discover」依賴你自行添加的市場索引 URL,並非 DeepSeek 官方應用商店。較常用的第三方索引之一爲 dsh.so:在 Plugins → More → Experimental plugins 打開 Custom plugin markets 後,可在 Index sources 添加 https://cdn.dsh.so/market/index.json 瀏覽安裝;要讓本插件進入該索引需按 README 向 dsh.so 提交公開倉庫(含 dsh-plugin topic 等流程)。當前通過 Git / dsh.so 安裝不需要 npm;npm 上 dsh-notes 名稱已被佔用,若未來發 npm 需改用自有包名。
典型用法:記一條並打開第二臺同步¶
經過上面的安裝步驟,日常使用可按下面順序操作。
- 在 DSH Desktop 打開側欄「隨手記」,輸入內容並保存。
- 點擊標題欄齒輪,填寫郵箱並連接:
- Gmail:開啓兩步驗證並使用「應用專用密碼」。
- iCloud:在 Apple ID 生成 App 專用密碼,IMAP 服務器imap.mail.me.com。
- QQ / 163 / 126:在郵箱設置開啓 IMAP 並使用「授權碼」。
- Outlook / Microsoft 365:README 註明目前微軟限制密碼方式登錄 IMAP,暫不支持。 - 高級設置可改 IMAP 服務器、端口與同步文件夾名;服務器留空時按郵箱域名自動識別。
- 在第二臺 DSH Desktop 用同一郵箱、同一文件夾連接,點「立即同步」或等待自動同步。
存儲、安全與運維注意¶
- 本地:
state.json權限0600;圖片僅在本機images/目錄。 - IMAP 密碼寫入 DSH Credential 服務(
DSH_FLOMO_IMAP_PASSWORD),不暴露給頁面、也不寫入筆記文件。 - 筆記正文與圖片會進入你的郵箱;請使用可隨時撤銷的應用專用密碼,不要用郵箱主密碼。
- 每次編輯追加一封郵件;不要手動刪除或移動同步文件夾裏的郵件。停用同步請用插件「斷開連接」,本地筆記保留。
- 插件在 DSH 進程權限下運行;安裝前應自行查看源碼與 MIT 許可證,評估是否接受將筆記數據寫入個人郵箱。
結尾¶
dsh-notes 把 flomo 式隨手記收進 DSH 側欄,用郵箱文件夾當跨設備的修訂日誌,適合已在用 DSH Desktop、又希望用自有郵箱做多機同步的開發者。進一步瞭解可從社區目錄 https://www.skillhub.cn/plugins/liusaipu/dsh-notes 進入,或直接閱讀倉庫 https://github.com/liusaipu/dsh-notes 中的設計與 MIME 格式說明。