前言¶
在 DeepSeek Harness (DSH) 的智能體開發流程中,頻繁地在代碼編輯器和對話會話之間切換以引用特定片段或文件路徑,會造成上下文割裂。dsh-sidebar-vscode 插件通過將 VS Code Web 工作臺嵌入到 DSH 官方右側邊欄中,將編輯器的代碼選中或文件資源直接轉化爲對話中的原子引用芯片,簡化了上下文傳遞的過程。
這是什麼¶
這是 DeepSeek Harness (DSH) 的一個官方右側邊欄標籤頁類型插件。它由開發者 chendefine 維護,基於 MIT 許可證開源。
核心定位:提供一個名爲 vscode 的官方右側邊欄標籤頁,嵌入 VS Code Web 工作臺,並將編輯器的選擇或文件操作轉換爲可被模型直接讀取的原子引用標記。
運行環境:Web 平臺(DSH Web GUI),引擎要求 Node.js ^22.19.0 || >=24.0.0。
核心功能¶
1. 官方右側邊欄標籤頁與持久化工作臺¶
插件註冊了官方的右側邊欄標籤頁類型 vscode。工作臺邏輯通過 workbenchRuntime.ts 將 iframe 持久化在 document.body 下的容器中,而非標籤頁 Body。這確保了切換標籤頁時工作臺及其 WebSocket 連接和編輯器狀態保持不變,無需重載。只有關閉標籤頁或插件卸載時,工作臺上下文才會被銷燬。
2. 快捷鍵與右鍵發送¶
- 發送選中代碼:在嵌入的 VS Code 中選中代碼,按下
Ctrl/Cmd+Alt+C,或右鍵選擇「DSH: 發送選中代碼到會話」。代碼以原子芯片形式插入到輸入框當前光標處,提交時會展開爲包含快照內容的<text-selection>標籤。 - 發送文件/文件夾:在文件資源管理器中右鍵點擊文件或文件夾,選擇「DSH: 發送文件/文件夾到會話」。文件以路徑芯片形式插入(如
@src/main.ts),提交時僅攜帶路徑,不包含內容,模型按需讀取。
3. 原子引用芯片與引用管理¶
- 插件將引用序列化爲自包含的規範提及。引用管理軌道顯示所有引用及其出現次數,支持一鍵刪除某引用的所有芯片。
- 引用支持跨域回退:當同源橋不可用時,引用會降級到剪貼板粘貼識別,或純文本回退,保證可用性。
4. 跨域支持與接管功能¶
- 通過插件內置反向代理實現同源,或配置網關子路徑。默認路徑爲
/sidebar/vscode。 - 插件提供
openAsDefault開關。開啓後,可以接管右側邊欄展開按鈕的點擊(在列摺疊時),以及會話中文件鏈接和工具輸出的文件點擊,使其在嵌入的 VS Code 中打開,而非默認查看器。
5. 雙語文本複製工具欄¶
工具欄提供中英雙語文本的複製功能,並遵循 DSH 的外觀風格(亮/暗/系統)。
安裝與啓用¶
此插件通過 DSH 的插件系統管理。無需額外的命令行安裝步驟。
- 進入 DSH 設置頁面。
- 導航至「插件」區域。
- 在
dsh-sidebar-vscode 的配置區編輯插件配置。配置項來源於插件入口的 volatileConfigschema。
典型用法¶
- 代碼引用:在右側邊欄的 VS Code 工作臺中選中一段代碼,按
Ctrl/Cmd+Alt+C,代碼片段會立即以芯片形式出現在對話框中。 - 文件引用:在文件資源管理器中右鍵點擊項目中的
src/main.ts,選擇發送,對話框中會出現@src/main.ts的引用芯片。 - 配置調整:在設置頁面的對應配置區調整
openAsDefault等開關,以接管文件打開行爲。
適用場景與注意¶
- 適用場景:需要頻繁在對話中引用特定代碼片段、文件路徑或文件夾結構的智能體開發場景。特別是需要保持編輯器狀態連續性(如未保存的修改)時,持久化工作臺能顯著提升效率。
- 注意:插件以當前 DSH 進程的權限運行。使用前請檢查源碼與許可證(MIT)。工作臺邏輯依賴 iframe 的持久化渲染,若手動移除 iframe 上下文將導致工作臺銷燬。插件測試覆蓋率爲 477 passing (24 spec files)。
短結尾¶
dsh-sidebar-vscode 通過持久化嵌入和原子引用機制,將 VS Code 的開發體驗無縫集成到 DSH 會話中,減少了上下文切換的開銷。插件目錄與 GitHub 倉庫:https://github.com/chendefine/dsh-sidebar-vscode