DeepSeek Harness (DSH) SketchUp 插件介紹

前言

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 進行了優化。

  1. 模型交互

    • 讀取模型信息、選擇集、當前編輯路徑。
    • 讀取限量實體幾何信息和審計事件。
  2. 結構化操作

    • 執行創建幾何體(長方體、圓柱體)、選擇/刪除實體、切換活動標籤、保存模型等操作。
  3. 通信與綁定

    • 按明確指定的 SketchUp 實例或當前會話分發指令。
    • 在 SketchUp 內打開經過認證的 Harness 聊天界面。
  4. 兼容性墊片

    • 在內嵌窗口的應用模塊加載之前執行 core-js/stable 墊片,補充 Iterator、Set 運算、分組、數組複製等標準 API。
  5. Ruby 插件管理

    • 按需啓用指定 Plugins 子目錄內的 Ruby 插件寫入與重新加載。

安裝與啓用

插件目前以預發佈版(v0.1.0-alpha.1)提供,已通過 Windows + SketchUp 2024(24.0.484,Ruby 3.2.2)驗證。以下是三種安裝方式:

方式一:使用完整安裝套裝

  1. 從 GitHub 發佈頁下載 dsh-sketchup-0.1.0-alpha.1.zip。
  2. 解壓 ZIP 文件。
  3. 在 PowerShell 中運行 install.ps1。
    • 腳本會自動將預編譯 Host 包登記到 DSH profile,並將 Ruby 擴展安裝到 SketchUp 的 Plugins 目錄。
    • 可通過參數指定路徑或使用 -DryRun 預覽操作。
  4. 安裝完成後,重啓 DSH 以加載新的 Host 文件,保存模型並重啓 SketchUp 以加載新的 Ruby 文件。

方式二:通過 SketchUp 擴展管理器

  1. 在 SketchUp 中點擊 擴展程序 → 擴展管理器 → 安裝擴展程序。
  2. 安裝下載的 dsh-sketchup-0.1.0-alpha.1.rbz。
  3. 安裝完成後,在 SketchUp 的擴展菜單中選擇 Install DSH Host for SketchUp…。
  4. 引導安裝器會根據 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-bridge Origin 用於限制瀏覽器來源,但不能驗證惡意本地進程的身份。因此,請僅在可信本機環境使用。

網絡與連接

  • 斷線處理:斷線後會丟棄該連接尚未執行的任務。網絡隊列有大小上限,寫入也有超時限制。取消操作無法撤銷已經開始的原生模型修改。
  • 會話綁定:WebView 會話綁定屬於客戶端協調機制,不是原子化的權限邊界。請避免在多個窗口中將同一會話同時綁定到不同 SketchUp 實例。

技術限制

  • CEF 兼容性:墊片不能升級 CSS、編解碼器、瀏覽器權限或不支持的 JavaScript 語法。Web Worker 擁有獨立運行環境,需要單獨處理兼容性。
  • 平臺支持:目前僅在 Windows + SketchUp 2024 上驗證過橋接和內嵌聊天。其他版本尚未實測。

總結

dsh-sketchup 提供了一個在 SketchUp 2024 內部運行 DSH 的穩定路徑。它解決了 WebView 缺失標準 API 的痛點,並提供了安全的 Ruby 腳本執行環境。對於需要深度集成建模自動化或本地 AI 輔助開發的場景,這是一個實用的工具。

項目地址:https://github.com/leolee9086/dsh-sketchup

羽毛球分组比赛记分
小程序二维码

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

小夜