@taskless-app/swarm 0.5.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/dist/cli.js +1551 -312
- package/dist/overmind.js +2249 -636
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -152,6 +152,65 @@ swarm remove --yes # отключить машину от роя цел
|
|
|
152
152
|
машин (её незавершённые прогоны освобождаются и уедут на другие машины) и стирает
|
|
153
153
|
токены. Вернуть — `swarm login && swarm start`.
|
|
154
154
|
|
|
155
|
+
## Перелогин — одна команда
|
|
156
|
+
|
|
157
|
+
Токен машины отзывается сам собой: вошли на второй машине, нажали «сбросить токен
|
|
158
|
+
роя», выключили рой тумблером. Демон при этом жив и тикает, но работу не берёт, а в
|
|
159
|
+
логе повторяет одну строку — «токен роя отозван … Почини одной командой: swarm login».
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
swarm login # и всё: без stop, без start, без чтения логов
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Команда сама разруливает демона: увидела поднятого — **гасит его аккуратно** (как
|
|
166
|
+
`swarm stop --wait`: живые дроны доигрывают, новую работу рой в это время не берёт),
|
|
167
|
+
поднимает страницу входа и **поднимает демона обратно** — уже с новым токеном.
|
|
168
|
+
Перезапуск обязателен: токен читается один раз при старте процесса, иначе демон
|
|
169
|
+
продолжил бы стучаться старым.
|
|
170
|
+
|
|
171
|
+
Ждать нечего — `swarm stop --force` в другом терминале оборвёт дронов и вход пойдёт
|
|
172
|
+
сразу. Демон был погашен до команды — обратно она его не поднимает: было выключено,
|
|
173
|
+
выключенным и останется. Вход не удался или вкладку закрыли — демон возвращается в то
|
|
174
|
+
состояние, в котором был.
|
|
175
|
+
|
|
176
|
+
## Кем исполнять дрона
|
|
177
|
+
|
|
178
|
+
Рою всё равно, какой агент внутри: всё, что знает про конкретный харнесс (как
|
|
179
|
+
запустить, как передать задачу, как забрать результат, как понять, что прогон
|
|
180
|
+
умер), спрятано за адаптером в `src/executors/`. Наружу торчит одинаковый прогон.
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
SWARM_EXECUTOR=claude-code swarm start # по умолчанию: Claude Code (`claude`)
|
|
184
|
+
SWARM_EXECUTOR=codex swarm start # Codex CLI (`codex exec`)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Смена исполнителя — это настройка, а не правка демона: очередь, worktree, ревью,
|
|
188
|
+
учёт стоимости, watchdog и воскрешение после обрыва работают одинаково. Что
|
|
189
|
+
различается — прячет адаптер:
|
|
190
|
+
|
|
191
|
+
| | `claude-code` | `codex` |
|
|
192
|
+
|---|---|---|
|
|
193
|
+
| запуск | `claude -p <промпт>` | `codex exec <промпт>` |
|
|
194
|
+
| продолжить оборванное | `--continue` | `exec resume --last` |
|
|
195
|
+
| MCP-сервер роя | файл `.swarm-mcp.json` + `--mcp-config` | `-c mcp_servers.overmind={…}` |
|
|
196
|
+
| результат прогона | один JSON в конце stdout | поток событий JSONL |
|
|
197
|
+
| сессии (живость дрона) | `~/.claude/projects/<worktree>` | `~/.taskless-swarm/executor-state/codex/<worktree>` |
|
|
198
|
+
| скиллы роли | `--plugin-dir` | текстом в промпте (флага нет) |
|
|
199
|
+
|
|
200
|
+
Путь к исполняемому файлу, если он не в `PATH`: `SWARM_CLAUDE_BIN` /
|
|
201
|
+
`SWARM_CODEX_BIN`. Неизвестное значение `SWARM_EXECUTOR` — ошибка на старте, а не
|
|
202
|
+
тихий откат на дефолт: «думал, поехали на другом» узнаётся иначе только из счёта.
|
|
203
|
+
|
|
204
|
+
Оговорки по `codex`: прайсинг его моделей пока пуст, поэтому стоимость таких
|
|
205
|
+
прогонов считается нулём (лучше честный ноль, чем выдуманный тариф), а
|
|
206
|
+
deny-правил на файловые тулы у него нет — дрона прикрывает только теневой HOME.
|
|
207
|
+
Состояние сессий он держит вне git-worktree (иначе дерево было бы вечно грязным
|
|
208
|
+
для `git status`) и, как и транскрипты Claude Code, само оно не подчищается.
|
|
209
|
+
|
|
210
|
+
Третий харнесс = файл рядом с этими двумя плюс строка в реестре
|
|
211
|
+
(`src/executors/index.ts`). Если для него пришлось тронуть общий код — значит,
|
|
212
|
+
чинить надо интерфейс, а не общий код; на это и стоит `contract.test.ts`.
|
|
213
|
+
|
|
155
214
|
## Windows
|
|
156
215
|
|
|
157
216
|
Рой работает на Windows, но **рекомендуемый способ — WSL2**: там он ведёт себя ровно
|