Open Ralph Wiggum CLI
Команда ralph повторяет один промпт для Claude Code, Codex, Cursor Agent или OpenCode, пока в ответе не появится метка завершения
- 1 906 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Запускает CLI агента без ограничения числа итераций и по умолчанию без подтверждений, агент может менять и удалять файлы проекта и выполнять команды
- Делает коммиты в git после каждой итерации и пишет состояние в `.ralph/`, а повторные запросы расходуют платный тариф агента
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/open-ralph-wiggumОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Запускает CLI агента без ограничения числа итераций и по умолчанию без подтверждений, агент может менять и удалять файлы проекта и выполнять команды
- Делает коммиты в git после каждой итерации и пишет состояние в `.ralph/`, а повторные запросы расходуют платный тариф агента
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Open Ralph Wiggum — консольная оболочка на Bun и TypeScript, которая запускает ИИ-агента для программирования в цикле. Вы даете `ralph "промпт" --max-iterations 20`, а программа раз за разом передает агенту тот же текст. Между итерациями агент ничего не помнит: он видит только состояние файлов и историю git, поэтому исправляет собственные ошибки по результатам тестов. Цикл заканчивается либо когда в выводе встречается метка вида `<promise>COMPLETE</promise>`, либо по лимиту итераций. Агента выбирает флаг `--agent`: `claude-code`, `codex`, `copilot`, `cursor-agent`, `qwen-code`, по умолчанию `opencode`. Сами CLI агентов нужно поставить и войти в них заранее. Режим `--tasks` разбивает большую работу на задачи в файле `.ralph/ralph-tasks.md` и дает агенту по одной за итерацию. Параметр `--rotation` чередует агентов и модели по итерациям. Через `--prompt-template` можно подставить свой шаблон промпта с переменными вроде `{{iteration}}` и `{{tasks}}`. За ходом можно следить из другого терминала: `ralph --status` показывает номер итерации, время, последние вызовы инструментов и признаки того, что агент застрял. Подсказку на следующую итерацию вставляет `ralph --add-context`. Состояние лежит в папке `.ralph/` проекта. Для Codex есть режим `--codex-goal`, где каждая итерация начинается с `/goal`, а внешний цикл остается за Ralph. Скилл в `skills/` объясняет эти команды ассистенту.
Для кого. Для разработчиков, которые доводят задачу с проверяемым результатом, например с зелеными тестами, до конца без ручных перезапусков агента, и для тех, кто сравнивает Claude Code, Codex и OpenCode на одном промпте.
Подходит, если
- Надо добиться, чтобы все тесты прошли, и задача допускает много мелких попыток подряд без вашего участия
- Новый проект с четкими критериями готовности запускается на ночь, а утром вы просматриваете коммиты
- Вы хотите провести один и тот же промпт через Claude Code и Codex и сравнить результаты флагом `--agent`
- Крупную работу из PRD нужно пройти по задачам, по одной за итерацию, с журналом в `.ralph/ralph-tasks.md`
Не подходит, если
- Результат нельзя проверить автоматически: цикл без тестов или линтера повторяет промпт вслепую и тратит оплаченные запросы к модели
- Задача требует человеческого решения или разового действия, например отладки на рабочем сервере
- У вас нет Bun: программа запускается только на нем, а еще нужен хотя бы один установленный CLI агента с входом в аккаунт
- Нужна готовая система с ревью и правилами качества, тогда ближе Ralph Orchestrator: он блокирует неполную работу тестами и линтером
Пример запроса к агенту
Запусти ralph с Claude Code на двадцать итераций: добавь экспорт отчета в CSV и закончи, когда все тесты проходятОграничения
- Число итераций по умолчанию не ограничено. Автор советует всегда задавать `--max-iterations`, иначе цикл не остановится, пока в ответе нет метки завершения.
- Разрешения агента по умолчанию принимаются автоматически (`--allow-all` включен), а после каждой итерации идет коммит в git. Для подтверждений используйте `--no-allow-all`, для отключения коммитов `--no-commit`.
- Программа не заменяет агента: нужен Bun, установленный и авторизованный CLI хотя бы одного агента и модель, настроенная в нем. Расходы на запросы идут по тарифу этого агента.
- Для OpenCode без модели по умолчанию появится ошибка `ProviderModelNotFoundError`, модель задают в `opencode.json` или флагом `--model`.
- Автор называет метод техникой Ральфа Виггама по Джеффри Хантли и советует не применять его там, где критерий успеха размыт. Лицензия MIT.
Как отключить. Выполните `npm uninstall -g @th0rgal/ralph-wiggum` или запустите `uninstall.sh` из клонированного репозитория, в Windows `uninstall.ps1`. Остановить идущий цикл можно сочетанием Ctrl+C. Файлы состояния лежат в папке `.ralph/` проекта, ее можно удалить вручную.
Частые вопросы
Как Ralph понимает, что задача выполнена?
Он ищет в выводе агента метку из флага `--completion-promise`, по умолчанию `COMPLETE`, в виде `<promise>COMPLETE</promise>`. Пока не пройдено число итераций из `--min-iterations`, метку игнорируют. Фраза из `--abort-promise` останавливает цикл досрочно.
Может ли Ralph поменять агента посреди цикла?
Да, через `--rotation`: список агентов и моделей через запятую задает, кто выполняет каждую следующую итерацию. Без него весь цикл идет с одним агентом из `--agent`. Пути к бинарникам агентов переопределяют переменные вроде `RALPH_CLAUDE_BINARY` и `RALPH_CODEX_BINARY`.
Как направить агента, не останавливая цикл?
В другом терминале выполните `ralph --add-context "Ошибка в utils/parser.ts, строка 42"`. Подсказка попадет в промпт следующей итерации и будет использована один раз. Очищает очередь `ralph --clear-context`.
Что делает режим `--tasks`?
Он ведет список задач в `.ralph/ralph-tasks.md` с отметками `[ ]`, `[/]` и `[x]` и дает агенту по одной. Задача закрывается меткой `READY_FOR_NEXT_TASK`. Команды `--list-tasks`, `--add-task` и `--remove-task` правят список, `--task-min-iterations` требует минимум попыток на задачу.
Как устроен режим `--codex-goal`?
Флаг `--codex-goal` отдает каждую итерацию Codex с промптом, начинающимся с `/goal`, а перезапуски, лимиты и поиск метки остаются за Ralph. Каждый шаг записывается в `.ralph/codex-goal-ledger.jsonl`. Через OMX режим включают переменные `RALPH_CODEX_GOAL=1` и `RALPH_CODEX_BACKEND=omx`.
Какой промпт лучше всего подходит для цикла?
С проверяемыми условиями: тесты, линтер, типы. Автор рекомендует короткий PRD с целью, границами, нумерованными требованиями и меткой завершения. Для больших проектов он советует файл `features.json` с полем `passes`, чтобы агент не переписывал критерии успеха.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыCLI-оркестратор, который прогоняет Claude Code, Codex, Gemini CLI и другие агенты по циклу до готовности задачи и блокирует неполную работу тестами и линтером
Цикл Ральфа для длинных задач: агент в песочнице Docker идет по списку задач из PRD, проверяет каждую тестами и коммитит, пока список не кончится
Автономное выполнение плана по задачам: каждая задача в свежем сеансе Claude Code или Codex, затем многопроходное ревью. Написан на Go
OpenRig
openrig
CLI для постоянных команд агентов Claude Code и Codex: команда описывается в YAML и запускается одной командой, с ролями и мониторингом
Личный набор автора для Claude Code: команды мета-промптов и заметок на потом, скиллы для создания скиллов, хуков и MCP-серверов, аудиторы и цикл Ральфа
oah раскладывает более 80 скиллов, пять ролей и команды /commit, /review, /test-tdd по папкам Claude Code, Cursor, Codex и других
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Open Ralph Wiggum (эта запись) | нет | 1 906 | ||
| Ralphy | нет | 2 981 | прогоняет агентов циклом по списку задач или PRD, пока все не будет сделано | |
| Ralph Orchestrator | нет | не нужна | 3 190 | оркестратор, который блокирует неполную работу тестами и линтером |
| Ralph | нет | 22 083 | Bash-цикл с чистым контекстом для Claude Code или Amp и два скилла для PRD |
Коротко о README
В репозитории лежат основной цикл на TypeScript в одном файле, оболочка для npm, скрипты установки и удаления для Linux, macOS и Windows, модуль автодополнения, тесты с заглушками агентов, скилл для ассистента и вариант интеграции с OMX в папке `contrib`. Главная страница начинается с таблицы поддерживаемых агентов, затем идут принцип метода, установка, команды, советы по составлению промптов и схема работы цикла.