前言¶
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 辅助开发的场景,这是一个实用的工具。