前言¶
系統剪貼板只保留最後一條內容。你在終端裏複製了一段日誌,接着又複製了一段報錯,前一段就沒了——對智能體開發者來說,這意味着讓 DSH 幫你處理「剛纔那個複製過的東西」時,它只能拿到最新的一條。
dsh-clipboard-history 解決的就是這個問題:它在後臺監控系統剪貼板,把每一次文本變化記進一個持久化文件,再以工具的形式交給智能體,隨時可以按 id 召回。
下面介紹這個插件的功能、安裝方式和配置項。
這是什麼¶
dsh-clipboard-history 是一個 DeepSeek Harness(DSH)插件,作者是 kuangre123,當前版本 0.1.0,許可證爲 MIT。它的定位一句話可以講完:監控系統剪貼板並保留可召回的多條歷史記錄。
工作方式分兩部分:
1、後臺輪詢系統剪貼板——macOS 上輪詢 pbpaste,Linux 用 xclip,Windows 用 PowerShell——每次檢測到文本變化就記錄下來。
2、歷史寫入持久化文件,路徑爲 $DSH_HOME/clipboard-history.json,跨重啓保留。
插件運行在宿主進程中,不需要原生插件就能訪問登錄用戶的粘貼板。
它向智能體暴露的五個工具¶
安裝後,智能體會獲得以下工具:
| 工具 | 作用 |
|---|---|
clipboard_list |
列出最近歷史條目(id、時間、大小、預覽) |
clipboard_get |
按 id 召回單條完整文本 |
clipboard_current |
讀取當前即時剪貼板內容 |
clipboard_copy |
將文本寫入系統剪貼板並記錄 |
clipboard_clear |
清除存儲的歷史(保留即時剪貼板) |
clipboard_list 只返回預覽(默認 160 字符),確認目標條目後用 clipboard_get 取完整內容,這是召回一條歷史的標準路徑。
安裝與啓用¶
先做環境準備。dsh 插件管理器依賴 pnpm,缺失時通過 corepack 啓用:
corepack enable
然後安裝插件。安裝命令由 README 給出:
# from npm (once published)
dsh plugin --profile web add dsh-clipboard-history
# from a local checkout
dsh plugin --profile web add file:/absolute/path/to/dsh-clipboard-history
需要說明的是,README 中 npm 安裝命令標註了 “once published”,該包當前是否已在 npm 上發佈無法確認;如果 npm 安裝不可用,從本地 checkout 安裝是穩妥路徑。
dsh plugin 命令會轉發到 profile 目錄內的 pnpm,並自動整理 dsh.profile.bundles。這個包在 package.json 裏聲明瞭:
"dsh": { "bundle": { "patch": "./cordis.patch.yml" } }
因此安裝後會自動加入 profile 的 patch 層棧,不需要手動登記。
安裝完成後,重啓 web 應用讓新的宿主插件生效:
dsh web
配置¶
編輯 profile 的 cordis.patch.yml(或 bundle 插入的 config 塊),可以調整輪詢與存儲行爲:
- id: clipboard-history
config:
pollIntervalMs: 700 # clipboard poll interval in ms
maxHistory: 200 # max stored entries
maxEntryChars: 50000 # max stored characters per entry
previewChars: 160 # preview length in clipboard_list
historyFile: clipboard-history.json # relative to the DSH home
poll: true # false disables background monitoring
幾個默認值的含義:
pollIntervalMs: 700:剪貼板輪詢間隔 700 毫秒。maxHistory: 200:最多保留 200 條歷史。maxEntryChars: 50000:單條最多存儲 50000 字符。historyFile:歷史文件名,相對於 DSH home 目錄。poll: false時關閉後臺監控。
環境要求與依賴¶
- Node >= 18。
- peerDependencies 爲
@deepseek-ai/dsh-tools ^0.1.0-rc.6和@deepseek-ai/cordis ^0.4.1之上的^4.0.1(以 package.json 爲準:@deepseek-ai/cordis ^4.0.1)。 - macOS 是主要目標平臺;Linux 需要安裝
xclip,Windows 使用 PowerShell。
適用場景與注意¶
適合的場景:經常在終端和編輯器之間搬運文本、希望智能體能拿到「之前複製過」的內容、或者需要把會話中的文本寫回剪貼板繼續手工操作。
使用前有幾點要知道:
1、只支持文本。圖片和文件剪貼板會被忽略,讀取爲空文本。
2、插件以當前 dsh 進程的權限運行,可以直接訪問登錄用戶的粘貼板。這意味着它能讀到你在系統裏複製的所有文本——安裝任何第三方插件前,都應先檢查源碼和許可證。這個插件是 MIT 許可,源碼在 GitHub 上可查。
3、歷史有上限約束:默認 200 條、單條 50000 字符,超過後按配置裁剪,重要內容建議及時用 clipboard_get 取出。
結尾¶
dsh-clipboard-history 做的事很小但很實:把一次性剪貼板變成可召回的歷史,讓 DSH 智能體能拿到「之前複製過」的內容。如果你在 macOS 上日常使用 DSH,值得一試。
- 社區插件目錄頁:https://www.skillhub.cn/plugins/kuangre123/dsh-clipboard-history(該目錄爲獨立社區站點,與 DeepSeek / 幻方無官方從屬關係)
- GitHub 倉庫:https://github.com/kuangre123/dsh-clipboard-history