# @alpsckr/unitycli 中文文档

规范地址：https://npmcn.com/package/%40alpsckr/unitycli/

版本：0\.10\.6
npm 元数据更新时间：2026-10-24T12:58:36.780Z
中文译文更新时间：2026-11-06T20:46:25.810Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40alpsckr/unitycli
原文对照：https://npmcn.com/package/%40alpsckr/unitycli/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：15.9 MB，1265 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20\.0\.0
- 运行依赖：0 个
- 首次发布：2026-08-26T07:54:29.642Z
- 最新版本发布：2026-10-24T12:58:36.566Z
- 近 30 天下载量：2371（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：27（近 12 个月 27 个）

## 中文简介

Windows-First CLI用于UnityCLI自动化.

## 安装

```sh
npm install @alpsckr/unitycli
```

也可以使用：`pnpm add @alpsckr/unitycli`、`yarn add @alpsckr/unitycli`、`bun add @alpsckr/unitycli`

## README

# 团结CLI

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

## 所需资源

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

## 安装

为当前用户安装 CLI 一次 :

```powershell
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正常关闭准确的工程,并且只有在用户批准后才能关闭. 它从不强制终止 团结 或决定一个未保存的场景快取.

## 手动设置

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

```powershell
unitycli init help
unitycli init discover
```

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

```powershell
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 :

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

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

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

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

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

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

```powershell
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是独立的授权效果;一个失败不会使另一个无效或阻挡.

## 校验和诊断

软件包和技能检查只读 :

```powershell
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 后, 检查注册编辑器会话 :

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

`instances list`离线 137`instances 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`, (中文)`remaining`3⁄4 ̄ ̧漯B`deferred`时。

要创建稳定选择器 :

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

## 第一个团结呼叫

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

```powershell
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}。

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

```powershell
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`数字 :

```powershell
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 会话和域重装在一个编辑器会话内 :

```powershell
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` 仅用于缩进输出.

成功 :

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

失败 :

```json
{"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再次运行安装协议:

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

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

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

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

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

删除全局的 CLI :

```powershell
npm uninstall -g @alpsckr/unitycli
```

## 文档

-   [文件索引](https://npmcn.com/package/%40alpsckr/unitycli/docs/README.md)
-   [建筑和公共边界](https://npmcn.com/package/%40alpsckr/unitycli/docs/architecture.md)
-   [地方发展](https://npmcn.com/package/%40alpsckr/unitycli/docs/development.md)
-   [工具发现](https://npmcn.com/package/%40alpsckr/unitycli/docs/tool-discovery.md)
-   [工具执行](https://npmcn.com/package/%40alpsckr/unitycli/docs/tool-execution.md)
-   [命令执行](https://npmcn.com/package/%40alpsckr/unitycli/docs/command-execution.md)
-   [选择目标和实例](https://npmcn.com/package/%40alpsckr/unitycli/docs/target-and-instance.md)
-   [安全边界](https://npmcn.com/package/%40alpsckr/unitycli/docs/safety-boundaries.md)
-   [错误](https://npmcn.com/package/%40alpsckr/unitycli/docs/error-codes.md)
-   [扩展](https://npmcn.com/package/%40alpsckr/unitycli/docs/extensions.md)
-   [公共AI技能](https://npmcn.com/package/%40alpsckr/unitycli/skills/unitycli/SKILL.md)

## 许可证

麻省理工学院

## 常见问题

### @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 和提交记录判断。

