dsh-unity-2022:用 Agent 工具驱动 Unity 2022.3 编辑器

前言

在 DeepSeek Harness(DSH)里做游戏或工具类 Unity 项目时,智能体往往只能改磁盘上的脚本和资源,无法直接感知当前场景层级、Play 模式状态或 Console 输出。若集成方案只覆盖 Unity 6,而团队仍固定在 2022.3 LTS,就会多一层版本门槛。

下面介绍维护者 snakeazh 发布的工作流类插件 dsh-unity-2022:通过随插件自带的本地 bridge 包,把运行中的 Unity 2022.3 编辑器暴露为一组 unity_* 工具,供 harness 中的 agent 像调用普通工具一样读改场景、切 Play、截图、看日志、打构建并在编辑器进程内执行 C#。

这是什么

插件 npm 包名为 dsh-unity-2022(当前版本 0.1.0,MIT 许可证)。简介与 README 一致:在 harness 侧驱动 Unity 2022.3 Editor——场景与 GameObject、组件与序列化字段、Play 模式、Console、截图、构建以及编辑器内 C# 执行,均经 bundled 的 loopback bridge 完成。

与「只支持 Unity 6」的部分编辑器集成不同,本插件自带 bridge,在未额外安装包、无网络访问的前提下,面向原版 Unity 2022.3 工作;README 还说明 unity_eval 路径不触发 domain reload。

插件行由 cordis.patch.yml 写入 harness 配置(条目 id 为 unity-2022);bridge 包则落在每个 Unity 工程的 Packages/com.dsh.unity-bridge(embedded package,可进版本库)。

环境与前提

项 说明
Unity Editor 参考版本 2022.3.62f3(international build);bridge 仅上报版本(isRequiredUnityVersion),其他 2022.3 补丁(README 提到曾测 2022.3.46f1、2022.3.62f1c1)同样可用且不会被拦截
Harness 任意提供 tools 服务的 DSH 构建
平台 Windows(macOS/Linux 编辑器会被检测,README 标明未充分测试)
Node(插件包) package.json 要求 ^22.19.0 \|\| >=24

核心功能

README 将能力归纳为:读改场景、运行 Play 模式、截图、读取 Console、构建 Player、在 Editor 进程内执行 C#。对应暴露的工具(节选,均以资料表格为准)如下。

工具 作用
unity_status 可达编辑器、版本、Play/编译状态、活动场景、选中对象、已安装 Editor 构建等
unity_open 安装 bridge 并启动编辑器,等待 bridge 就绪
unity_install 仅把 bridge 装进工程 Packages,不启动(适合提交到仓库)
unity_commands / unity_command 列出 bridge 命令表 / 用原始参数执行任意 bridge 命令
unity_hierarchy 场景树(路径、实例 id、激活状态,可选组件名)
unity_find 按名称、组件类型、Tag、Layer 查找 GameObject
unity_inspect Transform、激活状态及各组件序列化字段(类似 Inspector)
unity_create 创建空物体或 Primitive,可设父级、变换、Tag、Layer、碰撞体等(可 Undo)
unity_add_component 添加组件并可同次写入属性
unity_set_property 按属性路径或名称写入序列化字段(资料中表格在此截断,其余 unity_* 以仓库 README 完整列表为准)

目录页简介提到约 20 个 unity_* 工具,经 bridge 安装到工程中;具体名称与参数以 GitHub README 的 Tools 章节为准。

多工程路由( precedence ):调用参数里的 projectPath → 插件配置默认工程 → agent 工作目录落在某 Unity 工程内 → 仅一个 Editor 在跑。多个 Editor 且未指定 projectPath 时会失败并返回 ambiguous_editor 及可达工程列表。

安装与启用

官方 README 给出的安装方式为克隆仓库后通过 plugin_manager 安装 bundle(勿自行拼接未在文档出现的 dsh plugin add 命令):

git clone https://github.com/snakeazh/dsh-unity-2022
plugin_manager install_bundle .\dsh-unity-2022

安装后插件行 unity-2022 由 patch 写入;下一轮 harness 对话中即可看到工具。卸载:plugin_manager remove_bundle dsh-unity-2022。

插件在 awesome-dsh-plugin 审核队列中;条目合并后也可从 DSH 插件目录一键安装。社区目录由独立生态维护,与 DeepSeek / 幻方无官方从属关系,不宜表述为「官方应用商店」。

DSH 侧插件装在 profile(一份 harness 共用);bridge 在 project(每个 Unity 工程一份)。给任意工程接入 bridge 可任选:

  1. unity_open 带 projectPath——安装、启动并等待;
  2. unity_install 带 projectPath——只安装包,便于提交 Git;
  3. 手动复制插件内 unity-package/ 到 <project>/Packages/com.dsh.unity-bridge。

典型用法

先做 unity_open 打开目标工程;若 Editor 已打开且只有一个实例,其余工具通常无需再传 projectPath。Quick start 示例(路径按本机修改):

unity_open    { "projectPath": "D:\\Work\\MyGame" }
unity_status  {}
unity_hierarchy { "includeComponents": true }
unity_create  { "name": "Crate", "primitive": "Cube", "position": [0, 0.5, 0] }
unity_add_component { "target": "Crate", "type": "Rigidbody", "properties": { "m_Mass": 12 } }
unity_screenshot { "view": "game", "width": 1280, "height": 720 }

unity_open 会写入 Packages/com.dsh.unity-bridge,按工程 ProjectVersion.txt 选择 Hub 里匹配的 2022.3 安装(README 说明本地多个 2022.3 构建均可候选),版本与参考 build 不一致时会上报而非强制拦截。

适用场景与注意

适合:已在 DSH 中用 agent 改代码,又需要在 Unity 2022.3 LTS 上自动化查看场景、试 Play、抓截图或跑编辑器内脚本的工作流;Windows 为主力环境时与 README 的测试范围一致。

注意:

  • 插件以当前 DSH 进程权限运行,安装前请阅读 GitHub 源码 与 MIT 许可证,确认 bridge 写入工程目录的行为可接受。
  • bridge 为本地 loopback,README 强调无需额外网络;仍应对 agent 可执行的 mutating 工具保持预期内的约束。
  • 非 Windows 编辑器路径请先小规模验证;多 Editor 并行时务必传 projectPath。

结尾

dsh-unity-2022 把 Unity 2022.3 编辑器收成 harness 里可编排的 unity_* 工具,并自带可嵌入工程的 bridge,弥补「只支持较新 Unity 版本」类集成的空白。查阅条目与说明可打开 SkillHub 目录页,安装与工具细节以 GitHub 仓库 README 为准。

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

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

Xiaoye