Часто задаваемые вопросы
Чему вы научитесь
Прочитав этот FAQ, вы сможете:
- Быстро находить решения проблем с установкой и настройкой
- Понимать, как правильно использовать режим ultrawork
- Освоить лучшие практики вызова агентов
- Понимать границы и ограничения совместимости с Claude Code
- Избегать распространённых ошибок безопасности и производительности
Установка и настройка
Как установить oh-my-opencode?
Самый простой способ: попросите AI-агента установить за вас.
Отправьте следующий промпт вашему LLM-агенту (Claude Code, AmpCode, Cursor и др.):
Install and configure oh-my-opencode by following the instructions here:
https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/docs/guide/installation.mdРучная установка: см. Руководство по установке.
Почему рекомендуется установка через AI-агента?
Люди часто допускают ошибки при настройке формата JSONC (забывают кавычки, неправильно ставят двоеточия). AI-агент поможет избежать типичных синтаксических ошибок.
Как удалить oh-my-opencode?
Удаление выполняется в три шага:
Шаг 1: Удалите плагин из конфигурации OpenCode
Отредактируйте ~/.config/opencode/opencode.json (или opencode.jsonc), удалив "oh-my-opencode" из массива plugin.
# Автоматическое удаление с помощью jq
jq '.plugin = [.plugin[] | select(. != "oh-my-opencode")]' \
~/.config/opencode/opencode.json > /tmp/oc.json && \
mv /tmp/oc.json ~/.config/opencode/opencode.jsonШаг 2: Удалите файлы конфигурации (опционально)
# Удаление пользовательской конфигурации
rm -f ~/.config/opencode/oh-my-opencode.json
# Удаление конфигурации проекта (если существует)
rm -f .opencode/oh-my-opencode.jsonШаг 3: Проверьте удаление
opencode --version
# Плагин больше не должен загружатьсяГде находятся файлы конфигурации?
Файлы конфигурации имеют два уровня:
| Уровень | Расположение | Назначение | Приоритет |
|---|---|---|---|
| Проект | .opencode/oh-my-opencode.json | Настройки проекта | Низкий |
| Пользователь | ~/.config/opencode/oh-my-opencode.json | Глобальные настройки | Высокий |
Правило слияния: Пользовательская конфигурация переопределяет конфигурацию проекта.
Файлы конфигурации поддерживают формат JSONC (JSON with Comments), можно добавлять комментарии и завершающие запятые:
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/assets/oh-my-opencode.schema.json",
// Это комментарий
"disabled_agents": [], // Можно использовать завершающую запятую
"agents": {}
}Как отключить определённую функцию?
Используйте массивы disabled_* в файле конфигурации:
{
"disabled_agents": ["oracle", "librarian"],
"disabled_skills": ["playwright"],
"disabled_hooks": ["comment-checker", "auto-update-checker"],
"disabled_mcps": ["websearch"]
}Переключатели совместимости с Claude Code:
{
"claude_code": {
"mcp": false, // Отключить MCP Claude Code
"commands": false, // Отключить Commands Claude Code
"skills": false, // Отключить Skills Claude Code
"hooks": false // Отключить hooks из settings.json
}
}Использование
Что такое ultrawork?
ultrawork (или сокращённо ulw) — это магическое слово. Включите его в промпт, и все функции активируются автоматически:
- ✅ Параллельные фоновые задачи
- ✅ Все специализированные агенты (Sisyphus, Oracle, Librarian, Explore, Prometheus и др.)
- ✅ Режим глубокого исследования
- ✅ Механизм принудительного завершения Todo
Пример использования:
ultrawork разработать REST API с JWT-аутентификацией и управлением пользователямиИли короче:
ulw рефакторинг этого модуляПринцип работы
Hook keyword-detector обнаруживает ключевые слова ultrawork или ulw, затем устанавливает message.variant в специальное значение, активируя все расширенные функции.
Как вызвать конкретного агента?
Способ 1: Использование символа @
Ask @oracle to review this design and propose an architecture
Ask @librarian how this is implemented - why does behavior keep changing?
Ask @explore for policy on this featureСпособ 2: Использование инструмента delegate_task
delegate_task(agent="oracle", prompt="Review this architecture design")
delegate_task(agent="librarian", prompt="Find implementation examples of JWT auth")Ограничения прав агентов:
| Агент | Запись кода | Выполнение Bash | Делегирование задач | Описание |
|---|---|---|---|---|
| Sisyphus | ✅ | ✅ | ✅ | Главный оркестратор |
| Oracle | ❌ | ❌ | ❌ | Консультант (только чтение) |
| Librarian | ❌ | ❌ | ❌ | Исследователь (только чтение) |
| Explore | ❌ | ❌ | ❌ | Поиск (только чтение) |
| Multimodal Looker | ❌ | ❌ | ❌ | Анализ медиа (только чтение) |
| Prometheus | ✅ | ✅ | ✅ | Планировщик |
Как работают фоновые задачи?
Фоновые задачи позволяют нескольким AI-агентам работать параллельно, как настоящая команда разработчиков:
Запуск фоновой задачи:
delegate_task(agent="explore", background=true, prompt="Find auth implementations")Продолжайте работу...
Система автоматически уведомит о завершении (через Hook background-notification)
Получение результата:
background_output(task_id="bg_abc123")Управление параллелизмом:
{
"background_task": {
"defaultConcurrency": 3,
"providerConcurrency": {
"anthropic": 2,
"openai": 3
},
"modelConcurrency": {
"anthropic/claude-opus-4-5": 1,
"openai/gpt-5.2": 2
}
}
}Приоритет: modelConcurrency > providerConcurrency > defaultConcurrency
Зачем нужно управление параллелизмом?
Чтобы избежать ограничения скорости API и неконтролируемых расходов. Например, Claude Opus 4.5 дорогой — ограничьте его параллелизм; Haiku дешёвый — можно запускать больше параллельных задач.
Как использовать Ralph Loop?
Ralph Loop — это самореферентный цикл разработки, который продолжает работу до завершения задачи.
Запуск:
/ralph-loop "Build a REST API with authentication"
/ralph-loop "Refactor the payment module" --max-iterations=50Как определяется завершение: Агент выводит маркер <promise>DONE</promise>.
Отмена цикла:
/cancel-ralphКонфигурация:
{
"ralph_loop": {
"enabled": true,
"default_max_iterations": 100
}
}Отличие от ultrawork
/ralph-loop — обычный режим, /ulw-loop — режим ultrawork (все расширенные функции активированы).
Что такое Categories и Skills?
Categories (новое в v3.0): Уровень абстракции моделей, автоматически выбирающий оптимальную модель в зависимости от типа задачи.
Встроенные Categories:
| Category | Модель по умолчанию | Temperature | Применение |
|---|---|---|---|
| visual-engineering | google/gemini-3-pro | 0.7 | Фронтенд, UI/UX, дизайн |
| ultrabrain | openai/gpt-5.2-codex | 0.1 | Задачи с высоким IQ |
| artistry | google/gemini-3-pro | 0.7 | Творческие и художественные задачи |
| quick | anthropic/claude-haiku-4-5 | 0.1 | Быстрые, недорогие задачи |
| writing | google/gemini-3-flash | 0.1 | Документация и написание текстов |
Skills: Модули специализированных знаний, внедряющие лучшие практики конкретной области.
Встроенные Skills:
| Skill | Условие активации | Описание |
|---|---|---|
| playwright | Задачи с браузером | Автоматизация браузера через Playwright MCP |
| frontend-ui-ux | Задачи UI/UX | От дизайнера к разработчику, создание красивых интерфейсов |
| git-master | Операции Git (commit, rebase, squash) | Эксперт по Git, атомарные коммиты, поиск по истории |
Пример использования:
delegate_task(category="visual", skills=["frontend-ui-ux"], prompt="Разработать UI этой страницы")
delegate_task(category="quick", skills=["git-master"], prompt="Закоммитить эти изменения")Преимущества
Categories оптимизируют затраты (используют дешёвые модели), Skills обеспечивают качество (внедряют экспертные знания).
Совместимость с Claude Code
Можно ли использовать конфигурацию Claude Code?
Да, oh-my-opencode обеспечивает полный уровень совместимости:
Поддерживаемые типы конфигурации:
| Тип | Расположение | Приоритет |
|---|---|---|
| Commands | ~/.claude/commands/, .claude/commands/ | Низкий |
| Skills | ~/.claude/skills/*/SKILL.md, .claude/skills/*/SKILL.md | Средний |
| Agents | ~/.claude/agents/*.md, .claude/agents/*.md | Высокий |
| MCPs | ~/.claude/.mcp.json, .claude/.mcp.json | Высокий |
| Hooks | ~/.claude/settings.json, .claude/settings.json | Высокий |
Приоритет загрузки конфигурации:
Конфигурация проекта OpenCode > Пользовательская конфигурация Claude Code
{
"claude_code": {
"plugins_override": {
"claude-mem@thedotmack": false // Отключить конкретный плагин
}
}
}Можно ли использовать подписку Claude Code?
Технически возможно, но не рекомендуется.
Ограничения доступа Claude OAuth
По состоянию на январь 2026 года Anthropic ограничила сторонний доступ OAuth, ссылаясь на нарушение ToS.
Официальное заявление (из README):
Действительно существуют некоторые инструменты сообщества, подделывающие подписи OAuth-запросов Claude Code. Эти инструменты могут быть технически необнаруживаемыми, но пользователи должны понимать последствия для ToS, и я лично не рекомендую их использовать.
Этот проект не несёт ответственности за любые проблемы, возникающие при использовании неофициальных инструментов, мы не реализовывали эти OAuth-системы самостоятельно.
Рекомендуемое решение: Используйте имеющуюся подписку AI-провайдера (Claude, OpenAI, Gemini и др.).
Совместимы ли данные?
Да, формат хранения данных совместим:
| Данные | Расположение | Формат | Совместимость |
|---|---|---|---|
| Todos | ~/.claude/todos/ | JSON | ✅ Совместимо с Claude Code |
| Transcripts | ~/.claude/transcripts/ | JSONL | ✅ Совместимо с Claude Code |
Вы можете беспрепятственно переключаться между Claude Code и oh-my-opencode.
Безопасность и производительность
Есть ли предупреждения о безопасности?
Да, в верхней части README есть чёткое предупреждение:
Предупреждение: Поддельные сайты
ohmyopencode.com не связан с этим проектом. Мы не управляем этим сайтом и не поддерживаем его.
OhMyOpenCode — бесплатный и открытый. Не скачивайте установщики и не вводите платёжную информацию на сторонних сайтах, заявляющих о своей «официальности».
Поскольку поддельный сайт находится за платным доступом, мы не можем проверить распространяемый контент. Считайте любые загрузки оттуда потенциально небезопасными.
✅ Официальная загрузка: https://github.com/code-yeongyu/oh-my-opencode/releases
Как оптимизировать производительность?
Стратегия 1: Используйте подходящую модель
- Быстрые задачи → используйте категорию
quick(модель Haiku) - UI-дизайн → используйте категорию
visual(Gemini 3 Pro) - Сложные рассуждения → используйте категорию
ultrabrain(GPT 5.2)
Стратегия 2: Включите управление параллелизмом
{
"background_task": {
"providerConcurrency": {
"anthropic": 2, // Ограничить параллелизм Anthropic
"openai": 5 // Увеличить параллелизм OpenAI
}
}
}Стратегия 3: Используйте фоновые задачи
Пусть лёгкие модели (например, Haiku) собирают информацию в фоне, а главный агент (Opus) сосредоточится на основной логике.
Стратегия 4: Отключите ненужные функции
{
"disabled_hooks": ["comment-checker", "auto-update-checker"],
"claude_code": {
"hooks": false // Отключить hooks Claude Code (если не используются)
}
}Требования к версии OpenCode?
Рекомендуется: OpenCode >= 1.0.132
Баг в старых версиях
Если вы используете версию 1.0.132 или старше, баг в OpenCode может повредить конфигурацию.
Исправление было добавлено после 1.0.132 — используйте более новую версию.
Проверка версии:
opencode --versionУстранение неполадок
Агент не работает?
Чек-лист:
- ✅ Проверьте правильность формата файла конфигурации (синтаксис JSONC)
- ✅ Проверьте настройки провайдера (действителен ли API Key)
- ✅ Запустите диагностику:
oh-my-opencode doctor --verbose - ✅ Проверьте логи OpenCode на наличие ошибок
Распространённые проблемы:
| Проблема | Причина | Решение |
|---|---|---|
| Агент отклоняет задачу | Неправильная настройка прав | Проверьте конфигурацию agents.permission |
| Таймаут фоновой задачи | Слишком строгий лимит параллелизма | Увеличьте providerConcurrency |
| Ошибка блока размышлений | Модель не поддерживает thinking | Переключитесь на модель с поддержкой thinking |
Конфигурация не применяется?
Возможные причины:
- Синтаксическая ошибка JSON (забыты кавычки, запятые)
- Неправильное расположение файла конфигурации
- Пользовательская конфигурация не переопределяет конфигурацию проекта
Шаги проверки:
# Проверьте существование файлов конфигурации
ls -la ~/.config/opencode/oh-my-opencode.json
ls -la .opencode/oh-my-opencode.json
# Проверьте синтаксис JSON
cat ~/.config/opencode/oh-my-opencode.json | jq .Используйте JSON Schema для валидации:
Добавьте поле $schema в начало файла конфигурации, и редактор автоматически покажет ошибки:
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/assets/oh-my-opencode.schema.json"
}Фоновая задача не завершается?
Чек-лист:
- ✅ Проверьте статус задачи:
background_output(task_id="...") - ✅ Проверьте лимит параллелизма: есть ли свободные слоты
- ✅ Проверьте логи: нет ли ошибок ограничения скорости API
Принудительная отмена задачи:
background_cancel(task_id="bg_abc123")TTL задачи: Фоновые задачи автоматически очищаются через 30 минут.
Дополнительные ресурсы
Где получить помощь?
- GitHub Issues: https://github.com/code-yeongyu/oh-my-opencode/issues
- Сообщество Discord: https://discord.gg/PUwSMR9XNk
- X (Twitter): https://x.com/justsisyphus
Рекомендуемый порядок чтения
Если вы новичок, рекомендуем читать в следующем порядке:
- Быстрая установка и настройка
- Знакомство с Sisyphus: главный оркестратор
- Режим Ultrawork
- Диагностика конфигурации и устранение неполадок
Участие в разработке
Pull Request приветствуются! 99% кода проекта создано с помощью OpenCode.
Если вы хотите улучшить функцию или исправить баг:
- Сделайте форк репозитория
- Создайте ветку для функции
- Внесите изменения
- Отправьте в ветку
- Создайте Pull Request
Итоги урока
Этот FAQ охватывает часто задаваемые вопросы по oh-my-opencode:
- Установка и настройка: как установить, удалить, расположение файлов конфигурации, отключение функций
- Советы по использованию: режим ultrawork, вызов агентов, фоновые задачи, Ralph Loop, Categories и Skills
- Совместимость с Claude Code: загрузка конфигурации, ограничения подписки, совместимость данных
- Безопасность и производительность: предупреждения безопасности, стратегии оптимизации, требования к версии
- Устранение неполадок: распространённые проблемы и решения
Запомните ключевые моменты:
- Используйте ключевые слова
ultraworkилиulwдля активации всех функций - Пусть лёгкие модели собирают информацию в фоне, а главный агент сосредоточится на основной логике
- Файлы конфигурации поддерживают формат JSONC, можно добавлять комментарии
- Конфигурация Claude Code загружается без проблем, но доступ OAuth ограничен
- Скачивайте только с официального репозитория GitHub, остерегайтесь поддельных сайтов
Анонс следующего урока
Если у вас возникли конкретные проблемы с конфигурацией, см. Диагностика конфигурации и устранение неполадок.
Вы узнаете:
- Как использовать диагностические инструменты для проверки конфигурации
- Значение распространённых кодов ошибок и способы их устранения
- Методы диагностики проблем с настройкой провайдера
- Советы по выявлению и оптимизации проблем производительности
Приложение: Справочник по исходному коду
Нажмите, чтобы увидеть расположение исходного кода
Дата обновления: 2026-01-26
| Функция | Путь к файлу | Строки |
|---|---|---|
| Keyword Detector (обнаружение ultrawork) | src/hooks/keyword-detector/ | Весь каталог |
| Background Task Manager | src/features/background-agent/manager.ts | 1-1377 |
| Concurrency Control | src/features/background-agent/concurrency.ts | Весь файл |
| Ralph Loop | src/hooks/ralph-loop/index.ts | Весь файл |
| Delegate Task (парсинг Category & Skill) | src/tools/delegate-task/tools.ts | 1-1070 |
| Config Schema | src/config/schema.ts | Весь файл |
| Claude Code Hooks | src/hooks/claude-code-hooks/ | Весь каталог |
Ключевые константы:
DEFAULT_MAX_ITERATIONS = 100: Максимальное количество итераций Ralph Loop по умолчаниюTASK_TTL_MS = 30 * 60 * 1000: TTL фоновой задачи (30 минут)POLL_INTERVAL_MS = 2000: Интервал опроса фоновых задач (2 секунды)
Ключевые настройки:
disabled_agents: Список отключённых агентовdisabled_skills: Список отключённых навыковdisabled_hooks: Список отключённых хуковclaude_code: Настройки совместимости с Claude Codebackground_task: Настройки параллелизма фоновых задачcategories: Пользовательские настройки Categoryagents: Переопределение настроек агентов