前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。對於 SketchUp 開發者或用戶,直接在建模軟件中集成本地 AI 能力通常面臨兼容性挑戰:SketchUp 2024 自帶的 Chromium 內核缺少現代 JavaScript 標準 API,且缺乏內建的 Agent 交互界面。
dsh-sketchup 解決了這兩個問題。它是一個獨立的 DeepSeek Harness Host 插件與 SketchUp Ruby 擴展的組合包。它在 SketchUp 內部提供經過認證的 Harness 聊天界面,並通過 WebSocket 建立本地橋接,同時補充了 Chromium 所需的兼容墊片。
插件概況¶
- 名稱:dsh-sketchup
- 定位:獨立的 DSH Host 插件 + SketchUp Ruby 擴展
- 維護者:leolee9086
- 許可證:MIT
該插件旨在讓 SketchUp 能夠作爲 DSH 的宿主,實現模型數據的讀取、結構化操作的執行以及本地 Agent 的深度集成。
核心功能¶
插件提供了從讀取模型到執行操作的完整能力,並針對 SketchUp 2024 的 WebView 進行了優化。
-
模型交互
- 讀取模型信息、選擇集、當前編輯路徑。
- 讀取限量實體幾何信息和審計事件。
-
結構化操作
- 執行創建幾何體(長方體、圓柱體)、選擇/刪除實體、切換活動標籤、保存模型等操作。
-
通信與綁定
- 按明確指定的 SketchUp 實例或當前會話分發指令。
- 在 SketchUp 內打開經過認證的 Harness 聊天界面。
-
兼容性墊片
- 在內嵌窗口的應用模塊加載之前執行
core-js/stable墊片,補充 Iterator、Set 運算、分組、數組複製等標準 API。
- 在內嵌窗口的應用模塊加載之前執行
-
Ruby 插件管理
- 按需啓用指定 Plugins 子目錄內的 Ruby 插件寫入與重新加載。
安裝與啓用¶
插件目前以預發佈版(v0.1.0-alpha.1)提供,已通過 Windows + SketchUp 2024(24.0.484,Ruby 3.2.2)驗證。以下是三種安裝方式:
方式一:使用完整安裝套裝¶
- 從 GitHub 發佈頁下載
dsh-sketchup-0.1.0-alpha.1.zip。 - 解壓 ZIP 文件。
- 在 PowerShell 中運行
install.ps1。- 腳本會自動將預編譯 Host 包登記到 DSH profile,並將 Ruby 擴展安裝到 SketchUp 的 Plugins 目錄。
- 可通過參數指定路徑或使用
-DryRun預覽操作。
- 安裝完成後,重啓 DSH 以加載新的 Host 文件,保存模型並重啓 SketchUp 以加載新的 Ruby 文件。
方式二:通過 SketchUp 擴展管理器¶
- 在 SketchUp 中點擊 擴展程序 → 擴展管理器 → 安裝擴展程序。
- 安裝下載的
dsh-sketchup-0.1.0-alpha.1.rbz。 - 安裝完成後,在 SketchUp 的擴展菜單中選擇 Install DSH Host for SketchUp…。
- 引導安裝器會根據 SHA256 校驗文件,並在獨立的 PowerShell 窗口中完成操作。
方式三:通過 DSH CLI¶
如果已安裝 DSH,可直接登記 Host 包:
dsh plugin --profile web add --save-exact ./leolee9086-dsh-sketchup-0.1.0-alpha.1.tgz
適用場景與注意事項¶
權限與安全¶
- 默認權限關閉:隨包提供的 Host 配置將
allowPluginWrite和allowPluginLoad默認設爲false。啓用後,Ruby 代碼將獲得 SketchUp 進程權限。每次寫入或重新加載需要傳入confirm: true。雖然沒有通用eval命令,但加載 Ruby 文件屬於代碼執行,啓用前請務必檢查源碼。 - 身份驗證:迴環地址檢查與固定的
sketchup://dsh-bridgeOrigin 用於限制瀏覽器來源,但不能驗證惡意本地進程的身份。因此,請僅在可信本機環境使用。
網絡與連接¶
- 斷線處理:斷線後會丟棄該連接尚未執行的任務。網絡隊列有大小上限,寫入也有超時限制。取消操作無法撤銷已經開始的原生模型修改。
- 會話綁定:WebView 會話綁定屬於客戶端協調機制,不是原子化的權限邊界。請避免在多個窗口中將同一會話同時綁定到不同 SketchUp 實例。
技術限制¶
- CEF 兼容性:墊片不能升級 CSS、編解碼器、瀏覽器權限或不支持的 JavaScript 語法。Web Worker 擁有獨立運行環境,需要單獨處理兼容性。
- 平臺支持:目前僅在 Windows + SketchUp 2024 上驗證過橋接和內嵌聊天。其他版本尚未實測。
總結¶
dsh-sketchup 提供了一個在 SketchUp 2024 內部運行 DSH 的穩定路徑。它解決了 WebView 缺失標準 API 的痛點,並提供了安全的 Ruby 腳本執行環境。對於需要深度集成建模自動化或本地 AI 輔助開發的場景,這是一個實用的工具。