# Am Setup

> 多 Agent 协作编排的首次初始化 —— 建 SQLite 账本、装常驻规则、把本会话注册成主 agent。在某个项目里第一次使用这套编排前必须先跑一次；可重复执行。

- Skill: `wjg-ares/am-setup` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wjg-ares/am-setup`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wjg-ares/am-setup/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: Wjg-Ares (https://skillmd.com/u/wjg-ares)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/wjg-ares/am-setup

---


# /am-setup

执行：

```bash
python "${CLAUDE_PLUGIN_ROOT}/scripts/pool.py" setup
```

带参数时（`$ARGUMENTS`）原样传过去。可用：

| 参数 | 用途 |
|---|---|
| `--scratch-dir <路径>` | 临时文件换个去处。**平时不用给** —— 默认就是项目内的 `.claude/am/tmp`，setup 会自动建好 |
| `--role worker-1` | 把本会话注册成 worker 而不是 main |
| `--force-rules` | 强行覆盖项目里的规则文件。**平时不需要**，也**不要和 `--vendor` 叠加**（落地本来就会重写规则路径）—— 只要你没手改过那份文件，跑一次 `/am-setup` 就会自动更新；只有你在里面加过东西时它才会保留不覆盖，那时才用这个。覆盖前会把你改过的那份备份成 `.bak` |
| `--no-gitignore` | 不改 .gitignore |
| `--reset` | **清空账本从头来**，任务/交付/锁/注册/审计全删，配置保留 |
| `--vendor` | **把脚本、hook、四个命令全部复制进项目的 `.claude/`**，自检通过后**自动卸掉 C 盘那份插件安装**。用户说「不想占 C 盘」「装到项目里」就用这个 |
| `--keep-plugin` | 配合 `--vendor`：落地后保留插件安装，不自动卸载 |

**`--reset` 是破坏性的**，只在用户明确说「清空重来」时才用。主 agent 重开窗口
**不需要** reset —— 直接跑 `/am-setup` 就会把地址更新过来，账本留着。
它会先检查有没有 worker 还活着，有就拒绝并说明原因，别自作主张加 `--force`。

## 如果报「找不到文件」

看一眼报错里的路径：如果里面原样出现了美元号加大括号的插件根变量，
或者塌成了 `/scripts/pool.py`（git bash 下会显示成 `D:\...\Git\scripts\pool.py`），
就说明**这个会话没展开那个变量**。先定位真实路径：

```bash
python -c "import glob,os;p=sorted(glob.glob(os.path.expanduser('~/.claude/plugins/cache/*/*/*/scripts/pool.py')));print(p[-1] if p else 'NOT FOUND')"
```

拿它输出的绝对路径替换掉命令里那段，重跑一次。

**跑完 `--vendor` 之后就不会再有这个问题** —— 落地会把四个命令里的路径全部改写成
项目内的绝对路径，不含任何变量。

**照它的输出做，不要自己发挥。** 输出里已经写好了下一步（开几个 worker 窗口、
每个窗口里敲什么）。

拦截用的 PreToolUse hook 随插件自带，setup 不会改动用户的 `settings.json`。

