前言¶
用 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。