@alpsckr/unitycli

中文文档
0.10.6发布于 2026/10/24MITES Module零依赖近 30 天下载 2371

Windows-First CLI用于UnityCLI自动化.

中文使用文档
文档目录10 节
  1. 所需资源
  2. 安装
  3. 手动设置
  4. 校验和诊断
  5. 第一个团结呼叫
  6. 活方法钩
  7. 产出
  8. 更新并删除
  9. 文档
  10. 许可证

团结CLI

用于AI代理的Windows-First Unity Editor自动化CLI. 可执行文件是 unitycli; npm 软件包为 @alpsckr/unitycli; 团结软件包是 com.alpsckr.unitycli。 。 。 .

所需资源

  • 窗口
  • 节点.js 20或更新
  • 团结 2022.3或更新
  • 安装桥时的统一工程
  • 一个打开的团结编辑器只有在使用活的团结能力时才会打开;安装通常在用户明确批准后可能只关闭精确的目标编辑器

安装

为当前用户安装 CLI 一次 :

npm install -g @alpsckr/unitycli

在您通常工作的目录中启动您的 AI 并告诉它:

{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我需要你帮助 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}。

init help 包含完整的AI安装协议。 只读的发现使用独特的当前 Unity 工程和工作空间,而不要求您重复,报告已安装和可用的 Bridge 版本,并接受您已经命名的任何精确的 Skill 目录 。 它只询问何时仍有真正的选择,例如,在几个已发现的团结项目中,哪一个项目得到了桥. 开通的统一编辑器是正常的安装状态:桥被替换到位. 关闭是一个倒计时:只有在发布报告之后,一个真实的目录锁才能让AI正常关闭准确的工程,并且只有在用户批准后才能关闭. 它从不强制终止 团结 或决定一个未保存的场景快取.

手动设置

读取同一协议并检查当前目录 :

unitycli init help
unitycli init discover

在一个明确的团结项目中安装或修复桥梁。 保持编辑器打开:一个已存在的软件包通过文件的就位而聚合出文件,其目录从未被重新命名. 被屏蔽的文件通过路径报告,并重运行同一命令使其趋同. --close-editor 保留供操作员自行决定; 安装协议从未要求关闭 :

unitycli init package --project C:\path\UnityProject
unitycli init package --project C:\path\UnityProject --close-editor
unitycli init package --project C:\path\UnityProject --check

安装或检查精确的用户选择的技能目录, 包括 Pi :

unitycli init skill --target C:\path\Workspace\.pi\skills\unitycli
unitycli init skill --target C:\path\Workspace\.pi\skills\unitycli --check

通用代理技能仍可用作预设:

unitycli init skill --agent .agents --scope workspace --workspace C:\path\Workspace
unitycli init skill --agent .agents --scope workspace --workspace C:\path\Workspace --check

在一个工作空间安装或检查 Claude 技能 :

unitycli init skill --agent claude --scope workspace --workspace C:\path\Workspace
unitycli init skill --agent claude --scope workspace --workspace C:\path\Workspace --check

安装或检查一个用户级技能 :

unitycli init skill --agent .agents --scope user
unitycli init skill --agent .agents --scope user --check

unitycli init skill --agent claude --scope user
unitycli init skill --agent claude --scope user --check

预设的工作空间和用户范围是独立的选择. 准确 --target 是最终用户意图,不能与预设代理/镜像选项相合并。 桥梁和Skill是独立的授权效果;一个失败不会使另一个无效或阻挡.

校验和诊断

软件包和技能检查只读 :

unitycli init package --project C:\path\UnityProject --check
unitycli init skill --target C:\path\Workspace\.pi\skills\unitycli --check
unitycli init skill --agent .agents --scope workspace --workspace C:\path\Workspace --check

用户打开或刷新 Unity 后, 检查注册编辑器会话 :

unitycli instances list
unitycli instances prune --instance C:\path\UnityProject
unitycli doctor --project C:\path\UnityProject

instances list离线 137instances list --all{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我们一起生活吧 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}时间已到invalidRecordCount返回数量; 当前项目由团结自动恢复。需要清理历史记录时运行instances prune --instance <name|alias|projectPath>并检查removed, (中文)remaining3⁄4 ̄ ̧漯Bdeferred时。

要创建稳定选择器 :

unitycli target alias set C:\path\UnityProject my-project
unitycli target alias list

第一个团结呼叫

随着选定的团结项目开放并准备就绪:

unitycli tools group --instance C:\path\UnityProject
unitycli tools search 'editor|state' --instance C:\path\UnityProject
unitycli tools describe editor.state --instance C:\path\UnityProject
unitycli tools run editor.state --input '{}' --instance C:\path\UnityProject

不要猜测工具名称或输入 。 发现当前目录,读取一个描述符,然后调用精确的工具. command <name> 是一种对同一个活目录的计程参数投影,而不是第二个能力系统. \\ schema 默认至例 ;\ \ 默认至例 \ \ \ probe / smoke}。

可选扩展使用其专用控制平面 :

unitycli extensions list --project C:\path\UnityProject
unitycli extensions install <id> --project C:\path\UnityProject
unitycli extensions remove <id> --project C:\path\UnityProject
unitycli extensions doctor --project C:\path\UnityProject

发现列表默认为20项,最多允许100项,并继续 pageInfo.nextCursor数字 :

unitycli tools group list <group> --page-size 20 --cursor <nextCursor> --instance <name|alias|projectPath>
unitycli tools search '<k1|k2|...>' --page-size 20 --cursor <nextCursor> --instance <name|alias|projectPath>
unitycli command --project-path C:\path\UnityProject --page-size 20 --cursor <nextCursor>

在"PowerShell"中,引用了用单引出词来分管搜索的关键词.

活方法钩

这个 debug 组主机 : debug.hook-* 在 Play 运行前, 在当前编辑器域的确切管理方法上安装截取器, 观察调用, 修改行为, 或执行绑定的 C# 回调, 并将这些定义保存在 Play 会话和域重装在一个编辑器会话内 :

unitycli command debug.hook-install --label ai-movement-order --target '{"assemblyName":"Assembly-CSharp","typeName":"Game.AiController","methodName":"BeginMovement","parameterTypes":[],"returnType":"System.Void","isStatic":false}' --capture '{"arguments":true}' --instance C:\path\UnityProject
unitycli command debug.hook-list --instance C:\path\UnityProject
unitycli command debug.events-read --hook-id hook-0123456789abcdef --instance C:\path\UnityProject

在使用该组前值得了解的边界:

  • 定义属于一个编辑会话,并在编辑器重启时被丢弃;安装钩子不是任意代码的持续授权.
  • 在补丁保留原始行为之前编译的呼叫站点,所以一个已安装的定义可以合法地不产生点击. 使用 debug.events-read 或真正的企业回击 证明打击.
  • 回调源通过编辑器捆绑的 C# 编译器按需要编译并装入当前域;这不是一个工程编译,但它需要一个编译器子进程,无法单独卸载.
  • disable 财务报告和审定财务报表 remove 停止未来的发送,并恢复最初的行为;它们不会使先前援引已经产生的影响倒退.

unitycli tools describe debug.hook-install 记录选定实例的精确目标身份、抓取选项、回调上下文 API、资源预算和错误恢复。 带有抓取选项的纯观测不会启动编译器,因为一个没有回调源的定义不需要一个.

产出

每个命令都返回一个JSON信封. stdout 默认为紧凑单行 JSON; 使用 --pretty 仅用于缩进输出.

成功 :

{"ok":true,"requestId":"req-...","data":{}}

失败 :

{"ok":false,"requestId":"req-...","error":{"code":"...","message":"...","nextActions":[],"transient":false,"retryAfterMs":0}}

遵循结构 nextActions与 --timeout-ms T,使用至少为 2 * T + 5000 毫秒后等待统一cli进程退出. E_EXECUTION_TIMEOUT 表示没有可信任的终端结果; 超时不会停止Unity效果或已运行的同步 C# . 对于 asset.refresh,玩家构建, Play Mode, 软件包安装(包括准确的版本更改),软件包去除,以及 test.run,发现匹配域 .status 工具并传递原始根 requestId;状态读取同片段的活动相或精确终端而不重放效果. 否则,在决定是否提交新的变异之前,先检查商业状态.

更新并删除

更新全球CLI,然后让AI再次运行安装协议:

npm install -g @alpsckr/unitycli@latest
unitycli init help

要删除工作空间或用户技能, 只删除选中的 unitycli 技能目录 :

<explicit-target>/unitycli
<workspace>/.agents/skills/unitycli
<workspace>/.claude/skills/unitycli
~/.agents/skills/unitycli
~/.claude/skills/unitycli

要移除管理中的桥, 请先检查当前 package.bridge-remove 说明并依之:

unitycli tools describe package.bridge-remove --instance C:\path\UnityProject

删除全局的 CLI :

npm uninstall -g @alpsckr/unitycli

文档

许可证

麻省理工学院

版本与发布记录

@alpsckr/unitycli 共发布 27 个版本,首次发布于 2026/08/26;过去 12 个月发布了 27 个版本。

版本发布日期距今
0.10.6latest2026/10/2414 天前
0.10.52026/10/2414 天前
0.10.42026/10/2414 天前
0.10.32026/10/2414 天前
0.10.22026/10/2315 天前
0.10.12026/10/2315 天前

关于 @alpsckr/unitycli 的常见问题

@alpsckr/unitycli 是什么?

Windows-First CLI用于UnityCLI自动化.

如何安装 @alpsckr/unitycli?

在项目目录运行 npm install @alpsckr/unitycli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 unitycli,可以用 npx unitycli 直接运行。

@alpsckr/unitycli 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/alpsckr__unitycli 是否存在。

@alpsckr/unitycli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@alpsckr/unitycli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@alpsckr/unitycli 可以商用吗?

@alpsckr/unitycli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@alpsckr/unitycli 的下载量有多少?

根据 npm 官方下载统计,@alpsckr/unitycli 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,371 次,日均约 79 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@alpsckr/unitycli 还在维护吗?

最新版本 0.10.6 发布于 2026/10/24(14 天前);至今共发布 27 个版本,其中过去 12 个月发布了 27 个;首次发布于 2026/08/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。