dsh-clipboard-history:給 DSH 智能體一份可召回的剪貼板歷史

前言

系統剪貼板只保留最後一條內容。你在終端裏複製了一段日誌,接着又複製了一段報錯,前一段就沒了——對智能體開發者來說,這意味着讓 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
羽毛球分组比赛记分
小程序二维码

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

小夜