/am-setup
执行:
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),
就说明这个会话没展开那个变量。先定位真实路径:
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。