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

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

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

小夜