dsh-paste-dock:大段文本粘貼自動存爲附件並管理

前言

在 DeepSeek Harness (DSH) 開發中,直接在輸入框粘貼大段文本容易污染上下文。插件 dsh-paste-dock 攔截這一操作,將超過閾值的文本自動保存爲 pastes/*.txt 文件,並在輸入框上方通過 dock 卡片管理,草稿區僅保留最小化引用。

它是什麼

dsh-paste-dock 是由 drscrewdriver 維護的 DSH 插件。它通過文件系統代替輸入框直接承載長文本,解決長文本上下文污染問題,並提供統一的卡片管理視圖。

核心功能

大段粘貼轉附件

插件會攔截輸入框的粘貼事件。當粘貼文本超過默認閾值(500 字符)時,文本會被寫入當前會話工作區的 pastes/<時間戳>.txt(默認上限 1 MiB,UTF-8 逐字節保真)。

若保存失敗,原文會自動插回輸入框並提示。同時,插件註冊 save_paste 工具作爲兜底機制,確保即使輸入框鉤子未攔截,也能通過工具手動保存。

草稿內只留可辨識的最小徽標

在草稿區,長文本被替換爲 dsh 原生原子引用 chip。
* 顯示形式:默認顯示爲 📄開頭幾個字…(多粘貼依次爲 📄2、📄3 等)。
* 交互:點擊徽標可路由到右側欄預覽(配合 dsh-better-sidebar 可編輯)。Backspace 或 Delete 鍵一次即可刪除整個引用,無中間態。
* 發送:發送路徑零改動,chip 序列化爲裸 @"pastes/x.txt",不增加請求 token。

輸入框上方 dock

完整信息展示在 conversation.input.dock 槽位(order 0,居中卡片)。
* 內容:包含文件名、開頭預覽、字符數、路徑及操作按鈕。
* 操作:
* 打開全文:調用宿主 openWorkspacePath(僅 loopback 部署可用)。
* 從草稿移除:刪除 dock 卡片,草稿中的 mention 也會同步刪除。
* 狀態同步:dock 是草稿引用的投影,雙向同步。

降級處理

如果插件 facade 缺失(如老版本 DSH 線)或輸入框正忙,插件會自動降級爲文本引用 @"pastes/x.txt" (N 字符)。發送後仍能渲染成可點擊卡片,dock 也能識別。

安裝與配置

安裝

使用以下命令在本地目錄安裝:

dsh plugin --profile web add ./dsh-paste-dock

安裝後重啓 DSH,控制台可見 [dsh-paste-dock] 日誌。

配置

配置文件爲 cordis.patch.yml(部署默認),修改後重啓 DSH 即可生效。

字段 默認值 說明
minChars 500 大段粘貼閾值(UTF-16 代碼單元)。可在 Settings → General 中覆蓋。
maxBytes 1048576 單次粘貼字節上限,宿主強制硬頂 64 MiB。
chipBadge true 草稿 chip 顯示爲最小徽標(📄…)。設爲 false 恢復完整 label。
dock true 輸入框上方是否注入 dock 卡片槽位。

典型用法

  1. 安裝:執行上述安裝命令。
  2. 粘貼:在輸入框粘貼超過 500 字符的文本,自動生成附件。
  3. 管理:點擊輸入框上方的 dock 卡片查看全文或刪除引用。
  4. 發送:發送的消息中,chip 會被序列化爲 @"pastes/x.txt",模型直接讀取文件內容。

適用場景與注意

適用場景

  • 需要頻繁處理代碼片段、長文檔或結構化數據的智能體開發。
  • 希望保持輸入框整潔,通過文件系統管理上下文的場景。

注意事項

  • 版本限制:僅支持 DSH peer 範圍 0.1.0-rc.2 至 0.2.0-rc.2。
  • 會話切換:切會話後,chip 可能退化爲文本引用 @"…" (N 字符),但仍可發送和渲染。
  • 編輯限制:配合 dsh-better-sidebar 編輯保存時可能遇到 400 錯誤(路徑問題),從文件樹打開同一文件可解決。
  • 普通文件:插件不接管普通文件/圖片粘貼,由 DSH 原生附件管線覆蓋。
  • 權限與安全:插件以當前 DSH 進程權限運行,安裝前請檢查源碼與許可證。

結語

dsh-paste-dock 通過文件化管理和 UI 投影,有效解決了 DSH 中大段文本的輸入與管理問題。更多細節可查看 GitHub 倉庫。

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

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

小夜