dsh-paste-code-block: 將粘貼內容摺疊爲卡片

前言

在 DeepSeek Harness (DSH) Web 的對話輸入框中,複製長日誌、堆棧跟蹤或 API 響應,會導致輸入區域變成難以閱讀的文本牆。dsh-paste-code-block 插件通過將粘貼內容轉化爲結構化的“芯片”卡片,解決了這一視覺雜亂問題。它利用 DSH 的隱藏引用機制,在保持內容可編輯和可恢復的同時,讓輸入界面保持整潔。

插件簡介

名稱:dsh-paste-code-block
作者:cjm-m
分類:趣味換裝
許可:MIT

該插件是 Cherry Studio 風格粘貼功能的移植,專用於 DSH Web 環境。它將粘貼的文本或代碼自動摺疊爲帶邊框、可摺疊且帶有語言標籤的卡片。在發送消息時,原始內容會自動恢復爲 fenced 代碼塊;而在對話記錄中,這些代碼塊會保持摺疊狀態,僅顯示爲可展開的卡片。

核心功能

  1. 自動塊檢測
    插件會檢測包含換行符、長度超過 96 個字符、大括號密集或 fenced 標記(```)的文本。滿足任一條件即視爲代碼塊,否則普通短文本直接通過。

  2. 語言標籤與智能編號
    自動識別 Python、JS、JSON、YAML、SQL、bash、HTML/XML、C++、Go、Ruby(含 shebang)等語言。純文本塊會被標記爲 text。代碼塊和文本塊分別計數,編號自動回收未使用的數字。

  3. 卡片內編輯與刪除
    點擊芯片可展開卡片,支持內聯編輯、複製、摺疊/展開。卡片右上角提供 × 按鈕可一鍵移除該塊,同時釋放其佔用的編號。

  4. 發送與恢復
    點擊發送後,內容會以完整的 fenced 代碼塊形式發送。若發送失敗,輸入框會自動恢復原始內容。

  5. 對話中的摺疊顯示
    發送後的消息在對話流中保持摺疊狀態,顯示爲類似 python · 128 行 的卡片。點擊頭部可展開閱讀,再次點擊摺疊。

  6. 本地化支持
    卡片名稱跟隨 DSH 界面語言(中文/英文),例如 代碼塊 1 或 Code #1。在設置中切換語言時,現有卡片名稱會實時更新。

安裝與啓用

插件通過 npm 發佈,安裝命令如下:

dsh plugin --profile web add dsh-paste-code-block

安裝完成後,需要重啓 dsh web 進程以加載插件。

使用步驟

  1. 複製:從任何地方複製任意代碼或多行文本。
  2. 粘貼:在 DSH 輸入框中粘貼,內容會自動摺疊爲芯片(如 代碼塊 1)。
  3. 管理卡片:點擊芯片打開卡片,可進行閱讀、內聯編輯或點擊 × 刪除。刪除操作會立即回收編號。
  4. 發送:發送消息。原始內容會以 fenced 代碼塊形式發出。
  5. 查看記錄:在對話歷史中,代碼塊以摺疊卡片形式顯示,點擊頭部可展開。

注意事項

  • 草稿安全:塊被附加在草稿末尾,利用 DSH 的隱藏引用機制,這保持了光標和撤銷操作的穩定。創建塊時不會在前後留下多餘空格。
  • 純文本處理:純文本塊在發送時會包裹在 text fences 中,防止文本被擠成一行。
  • 刪除機制:通過點擊 × 或按 Backspace 刪除都會釋放編號。刪除是普通編輯操作,支持 Ctrl+Z 撤銷。
  • 顯示與存儲:發送後的摺疊僅是顯示樣式,不會修改存儲的消息內容。草稿重建恢復依賴 localStorage 鏡像(若瀏覽器禁止本地存儲,僅支持同標籤頁切換)。
羽毛球分组比赛记分
小程序二维码

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

小夜