在 DeepSeek Harness(DSH)的生態中,處理代碼維護或複雜任務時,開發者往往需要在對話、文件編輯器和瀏覽器之間頻繁切換。@yishengjun8/dsh-workspace-studio 插件旨在解決這一痛點,它將 DSH 的界面重構爲左中右三欄佈局,在對話流中直接提供類似 VS Code 的開發體驗。
插件簡介¶
該插件由用戶 yishengjun8 維護,是一個單包客戶端插件。它提供了工作區內的文件樹瀏覽、內置編輯器、會話分支導圖以及編輯器上下文注入能力。通過 CodeMirror 6 驅動的編輯器和智能的三方合併機制,插件確保在 AI 輔助開發過程中的文件修改安全可控。
基本信息¶
- 名稱:
@yishengjun8/dsh-workspace-studio - 維護者:
yishengjun8 - 分類: 客戶端
- Star 數: 2
- 版本: 1.0.30
- 許可證: 未定義
核心功能¶
1. 工作區文件瀏覽與預覽標籤頁¶
插件將文件樹融合進左側欄,與會話列表通過頂部按鈕互切。文件預覽欄默認位於對話左側,可在設置中切換到右側。
- 標籤頁管理: 預覽標籤頁按 Session 保存,支持關閉、拖拽重排、滾輪橫向滾動。單擊文件爲臨時預覽(斜體),雙擊才轉爲正式標籤。右鍵標籤可固定或在新窗口打開。
- 渲染視圖: 支持 Markdown(源碼/預覽切換)、HTML(源碼/頁面預覽)、圖片、只讀文本。PDF 與 Office 文檔需由 Host 提供文檔轉換服務。
- 編碼支持: 自動檢測 14 種編碼(UTF-8, GBK, Big5 等),支持右鍵切換編碼或另存爲編碼。
2. 打開即改的內置編輯器¶
編輯器基於 CodeMirror 6,打開文件即進入編輯狀態,無需額外點擊。
- 暫存盤機制: 所有編輯操作先寫入暫存盤(
~/.dsh-plugin/dsh-workspace-studio/drafts/<workspaceId>/),源文件全程不被觸碰。 - 三方合併: 保存時,插件會比較源文件與暫存盤內容。若源文件未改則靜默寫回;若雙方修改位置不同則自動合併;若衝突則彈窗展示對比,供用戶選擇保留哪一版。
- 差異可視化: 編輯器提供行號、語法高亮和差異色標(綠色新增、藍色修改、紅色刪除),以及類似 VS Code 的摺疊箭頭。
- 滾動條刻度: 預覽列右側滾動條加寬,並在軌道背景上繪製變更刻度(綠色段、藍色段、紅色線),僅支持 Chromium 內核。
3. 會話分支導圖¶
點擊會話頭部的「導圖」按鈕進入導圖模式,將對話流轉化爲可視化的思維導圖。
- 分支管理: 首次進入時將會話轉換爲導圖會話。點擊中間輪次的卡片可 fork 新分支。右鍵卡片可重命名或刪除(真截斷,移除該卡片及之後的所有內容)。
- 流式可視化: 生成中的會話會顯示帶有炫彩漸變光環的卡片,流式輸出完成後恢復正常狀態。
- AI 摘要: 支持爲每輪提問生成摘要(可在設置中啓用),支持單獨重新生成。
4. 編輯器上下文注入¶
允許將當前打開的文件或選中的代碼片段直接注入到對話中。
- 注入方式: 使用
<opened_file>標籤注入整個文件內容,使用<selection>標籤注入選區內容。 - 命令支持: 以
/plan等命令開頭的提示同樣攜帶上下文,確保模型看到的是文件/選區與用戶輸入的結合。
典型用法¶
-
瀏覽與編輯:
在左側欄切換到文件瀏覽視圖,雙擊打開項目中的配置文件或代碼文件。在預覽區直接修改代碼,保存時插件會自動處理與磁盤文件的合併。 -
導圖模式:
點擊會話列表中的「導圖」按鈕,進入導圖視圖。此時右側聊天保持可見,可繼續對話。在導圖中點擊任意輪次卡片可 fork 新分支,進行鍼對性的修改。 -
上下文引用:
在編輯器中打開文件後,模型會自動獲取文件內容。你也可以手動在輸入框中使用<opened_file>或<selection>標籤來明確引用特定內容。
限制與依賴¶
在使用該插件時,請注意以下限制:
- 文件類型限制: 拒絕二進制文件、非 UTF-8 編碼文件以及工作區外的符號鏈接。
- 只讀文件: 截斷的大文件、混合換行文件以及經過符號鏈接的路徑在編輯器中爲只讀。
- Host 服務依賴: PDF 與 Office 文檔(.doc, .ppt, .xls 等)的預覽需要 Harness Host 提供文檔轉換服務。
- 瀏覽器內核依賴: 滾動條刻度功能依賴 Chromium 內核(Chrome / Edge / 桌面端),在 Firefox 上僅顯示基本滾動條。
結尾¶
@yishengjun8/dsh-workspace-studio 爲 DSH 用戶提供了一個從對話到代碼編輯的完整工作流解決方案。如果你正在尋找一種能將 AI 對話與本地文件編輯無縫結合的開發環境,可以查閱其 GitHub 倉庫 或 社區目錄 獲取更多信息。