dsh-clipboard-tools:把系統剪貼板接進 DSH 的兩個工具

前言

用 DeepSeek Harness(DSH)跑 Agent 時,內容和系統剪貼板之間往往還要人工中轉:模型生成一段 SQL 或文案,你要選中再複製;你把報錯貼進聊天框之前,有時還得先落盤成文件,模型纔讀得到。npm 上已有隻支持寫文本的 dsh-clipboard;維護者 kohjuz 發佈的 dsh-clipboard-tools 在讀寫兩側都覆蓋文本與圖片,並在 Windows 下通過 UTF-8 文件路徑處理中文和 emoji。下面介紹它是什麼、怎麼裝、怎麼用。

這是什麼

dsh-clipboard-tools 是 DSH 客戶端類插件(GitHub:kohjuz/dsh-clipboard-tools,社區目錄:skillhub.cn 條目)。它在宿主裏註冊兩個模型工具,讓 Agent 能讀你剛複製的文字或截圖,也能把生成結果寫回剪貼板,方便你在任意應用裏粘貼。運行時零 npm 依賴,平臺能力走系統自帶或常見系統工具(PowerShell、pbpaste/pbcopy、wl-clipboard、xclip 等)。

核心功能

插件暴露兩個工具,對應 README 中的說明:

工具 作用
clipboard_read 讀取剪貼板文字;若爲圖片則存成 PNG 到工作區,供模型通過 read_image 查看
clipboard_write 將文字、文本文件內容或圖片寫入剪貼板

clipboard_read 支持 format: "auto"(默認)、"text"、"image",以及 saveDir 指定圖片落盤目錄。clipboard_write 可通過 path 寫文本文件內容,或通過 imagePath 寫圖片。

設計上的幾個要點(均來自倉庫 README):子進程 stdio 走臨時文件而非管道,以適配 DSH Windows 沙箱;每次調用有超時(默認配置見下文);讀到的圖片先落盤再交給模型,避免把二進制塞進上下文;clipboard_write 只寫不讀回,不會悄悄把剪貼板內容送回模型,除非你再次調用 clipboard_read。

平臺支持

平臺 文本 圖片 依賴
Windows 10/11 ✅ ✅(GDI+) 系統自帶 PowerShell
macOS ✅ ✅(TIFF 經 sips 轉 PNG) 系統自帶
Linux / Wayland ✅ ✅ apt install wl-clipboard
Linux / X11 ✅ ✅(僅 xclip) apt install xclip

裝好後可在插件目錄用 CLI 自檢:

node bin/clipboard.js doctor
node bin/clipboard.js selftest

doctor 打印識別到的後端和已安裝的助手工具;selftest 真實寫一次再讀回來比對。package.json 裏等價腳本爲 npm run doctor、npm run selftest。

安裝與啓用

發佈到 npm 後,一條命令把 bundle 追加進指定 profile 的 dsh.profile.bundles,下次啓動生效:

dsh plugin --profile <profile> add dsh-clipboard-tools

倉庫 README 還說明:在尚未發 npm 時,可在本地執行 npm pack 得到 dsh-clipboard-tools-0.1.0.tgz(package.json 當前版本爲 0.1.0),再安裝 tarball:

dsh plugin --profile <profile> add ./dsh-clipboard-tools-0.1.0.tgz

驗證是否裝配成功:

dsh --profile <profile> --dump-config | grep -B2 -A6 dsh-clipboard-tools

插件要求 Node.js >= 20。許可證爲 MIT。

配置

可在 profile 的 cordis.patch.yml(或 --patch 覆蓋層)中調整 clipboard 插件項,README 示例爲:

- id: clipboard
  config:
    maxChars: 20000
    imageDir: clipboard
    timeoutMs: 8000

maxChars 爲單次讀取返回的最大字符數,超長會截斷並標記 truncated;imageDir 爲讀到的圖片落在工作區的目錄;timeoutMs 爲單次剪貼板調用的超時。

典型用法

對話裏用自然語言即可,例如:

  • 「把我剛複製的那段日誌讀一下,找出報錯行」
  • 「把 README 裏「安裝」那一節複製到我剪貼板」
  • 「把剛生成的圖表複製好,我要發到羣裏」

模型側等價調用示例:

{ "name": "clipboard_read",  "arguments": { "format": "auto" } }
{ "name": "clipboard_write", "arguments": { "path": "dist/report.md" } }
{ "name": "clipboard_write", "arguments": { "imagePath": "charts/revenue.png" } }

適用場景與注意

適合經常在 DSH Agent 與瀏覽器、IDE、聊天軟件之間搬運文本或截圖的開發者。插件只讀寫本機剪貼板、不聯網;除圖片外不落盤,圖片寫到當前 agent 工作區(默認目錄見配置)。讀到的內容會作爲工具結果進入會話記錄,與手動粘貼進對話的暴露面相當,敏感內容需自行判斷。

權限與安全:插件以當前 dsh 進程的權限運行。安裝前應閱讀 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的環境策略。DSH 生態強調「一切皆插件」;skillhub.cn 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

README 已記錄的環境驗證包括 Windows 11 + dsh 0.2.1-rc.5 下的中文、emoji 與 PNG 讀寫,以及 headless profile 中 clipboard_write → clipboard_read 與 PowerShell Get-Clipboard 的獨立複覈。

結尾

dsh-clipboard-tools 把剪貼板做成 clipboard_read / clipboard_write 兩個工具,補齊 Agent 與日常應用之間的「最後一公里」。進一步瞭解可訪問社區目錄頁 https://www.skillhub.cn/plugins/kohjuz/dsh-clipboard-tools 與 GitHub https://github.com/kohjuz/dsh-clipboard-tools。

羽毛球分组比赛记分
小程序二维码

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

小夜