前言¶
在 DeepSeek Harness (DSH) Web 的對話輸入框中,複製長日誌、堆棧跟蹤或 API 響應,會導致輸入區域變成難以閱讀的文本牆。dsh-paste-code-block 插件通過將粘貼內容轉化爲結構化的“芯片”卡片,解決了這一視覺雜亂問題。它利用 DSH 的隱藏引用機制,在保持內容可編輯和可恢復的同時,讓輸入界面保持整潔。
插件簡介¶
名稱:dsh-paste-code-block
作者:cjm-m
分類:趣味換裝
許可:MIT
該插件是 Cherry Studio 風格粘貼功能的移植,專用於 DSH Web 環境。它將粘貼的文本或代碼自動摺疊爲帶邊框、可摺疊且帶有語言標籤的卡片。在發送消息時,原始內容會自動恢復爲 fenced 代碼塊;而在對話記錄中,這些代碼塊會保持摺疊狀態,僅顯示爲可展開的卡片。
核心功能¶
-
自動塊檢測
插件會檢測包含換行符、長度超過 96 個字符、大括號密集或 fenced 標記(```)的文本。滿足任一條件即視爲代碼塊,否則普通短文本直接通過。 -
語言標籤與智能編號
自動識別 Python、JS、JSON、YAML、SQL、bash、HTML/XML、C++、Go、Ruby(含 shebang)等語言。純文本塊會被標記爲text。代碼塊和文本塊分別計數,編號自動回收未使用的數字。 -
卡片內編輯與刪除
點擊芯片可展開卡片,支持內聯編輯、複製、摺疊/展開。卡片右上角提供×按鈕可一鍵移除該塊,同時釋放其佔用的編號。 -
發送與恢復
點擊發送後,內容會以完整的 fenced 代碼塊形式發送。若發送失敗,輸入框會自動恢復原始內容。 -
對話中的摺疊顯示
發送後的消息在對話流中保持摺疊狀態,顯示爲類似python · 128 行的卡片。點擊頭部可展開閱讀,再次點擊摺疊。 -
本地化支持
卡片名稱跟隨 DSH 界面語言(中文/英文),例如代碼塊 1或Code #1。在設置中切換語言時,現有卡片名稱會實時更新。
安裝與啓用¶
插件通過 npm 發佈,安裝命令如下:
dsh plugin --profile web add dsh-paste-code-block
安裝完成後,需要重啓 dsh web 進程以加載插件。
使用步驟¶
- 複製:從任何地方複製任意代碼或多行文本。
- 粘貼:在 DSH 輸入框中粘貼,內容會自動摺疊爲芯片(如
代碼塊 1)。 - 管理卡片:點擊芯片打開卡片,可進行閱讀、內聯編輯或點擊
×刪除。刪除操作會立即回收編號。 - 發送:發送消息。原始內容會以 fenced 代碼塊形式發出。
- 查看記錄:在對話歷史中,代碼塊以摺疊卡片形式顯示,點擊頭部可展開。
注意事項¶
- 草稿安全:塊被附加在草稿末尾,利用 DSH 的隱藏引用機制,這保持了光標和撤銷操作的穩定。創建塊時不會在前後留下多餘空格。
- 純文本處理:純文本塊在發送時會包裹在
textfences 中,防止文本被擠成一行。 - 刪除機制:通過點擊
×或按 Backspace 刪除都會釋放編號。刪除是普通編輯操作,支持 Ctrl+Z 撤銷。 - 顯示與存儲:發送後的摺疊僅是顯示樣式,不會修改存儲的消息內容。草稿重建恢復依賴 localStorage 鏡像(若瀏覽器禁止本地存儲,僅支持同標籤頁切換)。