16. FAQ — частые вопросы
Общие
Что такое AstraCode?
TUI-агент кодинга на Rust. Вы пишете задачу обычным текстом, он читает ваш код, запускает команды, редактирует файлы, и объясняет, что делает. Под капотом — большая языковая модель (GPT, Claude, или локальная).
Чем отличается от ChatGPT / Claude в браузере?
- AstraCode видит ваш код напрямую (не нужно копировать).
- Может запускать команды (тесты, сборка, git).
- Может редактировать файлы (с вашего разрешения).
- Запоминает контекст между сессиями (если включить память).
- Работает в терминале, можно интегрировать в workflow (tmux, vim и т.п.).
Чем отличается от Cursor / Copilot?
- Cursor / Copilot — в IDE, синхронное автодополнение и refactor.
- AstraCode — в терминале, асинхронный «агент» для долгих задач.
Они дополняют друг друга, а не конкурируют. Cursor — для активного кодинга; AstraCode — для делегации.
Чем отличается от других LLM-фронтендов в терминале?
AstraCode заточен под российские команды и on-prem инфраструктуру:
- Полная русская локализация (TUI на двух языках, локализованы команды, ошибки, отчёты ревью).
- Долгие задачи через /goal с бюджетом токенов и продолжением через /resume.
- Голосовой режим (realtime).
- Расширенные скиллы (русские описания, неявная активация по контексту).
- Локализованный /help с pager'ом.
- Поддержка кастомных on-prem provider'ов (включая в-процесс Chat Completions bridge).
- Лицензирование через offline-подписанные ключи.
- Мультиагентные треды.
- Дополнительные slash-команды (/cd popup, /sandbox-add-read-dir, /index).
Безопасность и приватность
AstraCode видит мой код?
Только когда вы запросите. AstraCode сам не сканирует — каждое чтение происходит через read_file / list_dir / exec_command tools, по запросу модели. Контент уходит в provider'а (OpenAI / Anthropic / ваш on-prem).
Мой код попадает в обучение модели?
Зависит от провайдера: - OpenAI API — по умолчанию данные не используются для тренировки (если у вас не enterprise / opt-in). - Anthropic API — то же. - Локальный LLM — данные не уходят никуда вообще.
Читайте политики конкретных провайдеров.
Можно ли работать с конфиденциальным кодом?
Если используете cloud LLM — формально код уходит провайдеру. Решения:
- Локальный LLM (Llama, Qwen, DeepSeek через vLLM / Ollama).
- On-prem gateway компании.
- Дополнительные guardrails — [shell_environment_policy] для фильтрации env.
См. 13-safety.md.
Где хранятся мои API-ключи?
В ~/.astracode/secrets/local.age — зашифрованы с помощью age (passphrase хранится в системном хранилище ключей ОС — OS keyring). Без вашего входа в ОС расшифровать нельзя.
Может ли AstraCode сделать что-то плохое с моими файлами?
Песочница (sandbox) и подтверждения (approvals) защищают от случайностей: - По умолчанию не пишет за пределами рабочей директории без вашего подтверждения. - Не выходит в сеть без отдельного разрешения. - Опасные действия требуют подтверждения в диалоге.
Но никакая защита не абсолютна. Если вы сами разрешили выполнять что-то опасное «не спрашивать снова» — ничего не остановит.
Использование
Сколько это стоит?
Зависит от провайдера. Грубо: - Дешёвые модели (haiku, mini): $0.5-2 / день при активной работе. - Средние (sonnet, 4o): $5-20 / день. - Большие (opus, GPT-5): $20-100 / день.
/status показывает текущий расход в сессии. У провайдеров есть dashboards (platform.openai.com/usage, console.anthropic.com).
Как сэкономить токены?
/compactпри длинной сессии./newдля несвязанных задач.- Использовать дешёвую модель для рутины, дорогую — только когда нужно.
model_reasoning_effort = "low"или"none"для простых задач.- Отключить лишние скиллы (
/skills).
Можно ли использовать без интернета?
Да — через локальную LLM:
- Ollama (http://localhost:11434/v1).
- llama.cpp server.
- vLLM.
Качество ниже, чем у GPT-5 / Claude, но всё работает.
См. 06-model-and-providers.md.
Можно ли работать с большим репозиторием?
Да, но:
- Контекст модели ограничен (обычно от ~128k до ~1M токенов в зависимости от модели). Весь репозиторий в него не вместится.
- AstraCode не пытается читать всё — только то, что попросите или что нужно для задачи.
- Для огромных репо — узкие задачи в /cd <subdirectory>.
- AGENTS.md с указаниями типа «не лезь в /legacy» поможет фокусу.
Как остановить ответ модели?
Esc.
Как выйти из AstraCode?
Ctrl-C дважды (одно нажатие прерывает текущий ответ, второе — выходит).
Или команда /quit.
Можно ли использовать в CI/CD?
Скорее нет для типичного AstraCode-flow — это интерактивный TUI с approvals. Для headless:
astracode exec "запусти тесты и почини если упадут"
С approval_policy = "never" — но это рискованно для автоматизации. Лучше — обычные CI-инструменты.
Можно ли использовать с несколькими репозиториями параллельно?
Да:
- В разных терминалах одновременно (каждая — свой cwd).
- Или в одном через /cd.
Подробнее — 05-working-with-project.md.
Команды и интерфейс
Как переключиться на русский?
/locale ru
Только до первого сообщения в сессии. Иначе /new, потом /locale ru.
Постоянно — в ~/.astracode/config.toml:
[tui] locale = "ru"
Как сменить модель посреди сессии?
/model
Picker → выбрать → активируется со следующего turn'а.
Как открыть git diff в полный экран?
/diff
Как продолжить вчерашнюю работу?
/resume
Picker всех сохранённых сессий — выберите. История восстановится.
Как сделать code review своих изменений?
/review
Меню — выберите цель ревью. Или сразу:
/review проверь безопасность
Что делать, если модель не понимает, что я хочу?
Дайте больше контекста. Чем конкретнее задача — тем лучше:
Плохо: «почини».
Хорошо: «в @src/auth.rs функция verify_token возвращает Unauthorized для валидных токенов с пробелами в конце — добавь trim()».
Можно ли отменить изменения, которые сделал AstraCode?
Да, через git:
git status git diff git checkout -- <file> # откатить файл git reset HEAD~1 # откатить последний коммит (если committed, не запушено)
Что значит 🔧 Tool: ... в чате?
Это вызов инструмента (tool) моделью — например, exec_command (shell-команда), apply_patch (изменение файла), list_dir и т.п. Подробнее — Каталог инструментов (dev-вики).
Как добавить новый MCP-сервер?
Через ~/.astracode/config.toml:
[mcp_servers.my_server] command = "..." args = [...]
Подробнее — 11-mcp.md.
Что такое /goal и когда использовать?
/goal — для долгих задач на день и больше. Цель переживает /new и перезапуск.
/goal Реализовать OAuth-вход
Подробнее — 07-goals.md.
/side — это что?
Побочный разговор для уточнений, не загрязняющий основную задачу.
/side как работает Arc<Mutex<T>>?
Esc — закрыть. Главная задача продолжается, не «увидев» вопроса.
Подробнее — 09-side-conversations.md.
Что такое /autoreview и «авто-проверка»?
«Авто-проверка» (auto-review) — это режим, в котором запросы на подтверждение действий агента (запуск команды, правка файла, выход в сеть) обрабатывает не вы, а специальный сабагент-«страж»: он оценивает риск и сам разрешает или отклоняет действие. Режим включается в настройках подтверждений (/approvals, пресет «Авто-проверка»).
Команда /autoreview открывает список последних действий, которые страж отклонил (до 10). Выбрав отклонённое действие, вы вручную разрешаете один его повтор.
/autoreview
Ожидаемая реакция: - Если отказов не было — сообщение «В этом треде нет недавних отказов авто-проверки». - Если были — список отклонённых действий с обоснованием; после выбора AstraCode сообщит, что разрешение записано. Важно: повтор всё равно снова пройдёт авто-проверку.
Что делают /agent и /subagents?
Это две формы одной команды — они открывают список агентных тредов («Subagents») и позволяют переключиться между ними. Отдельной команды /agents нет.
/agent
Важно: эти команды не создают субагентов — они только переключают, какой тред вы сейчас видите. Субагентов запускает сама модель в ходе сложной задачи. Переключаться между тредами можно также горячими клавишами Alt+← / Alt+→.
Скиллы и расширения
Что такое скиллы?
Специализации агента — markdown + опциональные скрипты. Активируются по $<name> или автоматически. Помогают агенту лучше работать в конкретной области (PDF, web design, code review, и т.п.).
Подробнее — 10-skills.md.
Как поставить новый скилл?
Через встроенный скилл skill-installer — введите в строке ввода $skill-installer и укажите источник на GitHub. Репозиторий не захардкожен: нужно явно задать его и путь к папке скилла внутри репозитория.
Конкретный пример — установка скилла pdf из реального публичного репозитория github.com/anthropics/skills:
$skill-installer --repo anthropics/skills --path skills/pdf
или через URL:
$skill-installer --url https://github.com/anthropics/skills/tree/main/skills/pdf
Папка скилла обязана содержать SKILL.md. Голый адрес репозитория без пути к папке скилла не сработает (установщик попросит --path). Подробнее и про формат репозитория — 10-skills.md.
Или вручную: скопируйте папку скилла в ~/.astracode/skills/<name>/.
Как написать свой скилл?
$skill-creator
Проведёт через шаги: имя, описание, default_prompt.
Скиллы безопасны?
Если скилл содержит scripts/ — они выполняются с правами sandbox (как любая shell-команда, с approval'ом). Не ставьте скиллы из недоверенных источников.
Память
Что такое память?
Долгосрочные факты, которые AstraCode помнит между сессиями: ваш стиль, контекст проекта, предпочтения. Хранятся в ~/.astracode/memories/.
Подробнее — 12-memory.md.
Как включить память?
В TUI: /memories → согласиться включить функцию → включить оба переключателя (Use memories и Generate memories). По умолчанию память выключена (экспериментальная функция).
В IDE-плагине всплывающего окна нет — включайте через ~/.astracode/config.toml, причём нужен и мастер-флаг функции:
[features] memories = true [memories] use_memories = true generate_memories = true
Почему агент говорит «запомнил», но не запоминает?
Это ожидаемое поведение. Агент не пишет память во время диалога — у него нет такого инструмента. Память наполняет отдельный фоновый процесс, который разбирает ваши прошлые («отлежавшиеся») сессии при следующих запусках AstraCode. Поэтому только что сказанное в память сразу не попадёт, а просьба «запомни» в текущем разговоре ничего не сохранит. Подробнее — 12-memory.md.
Можно ли удалить, что AstraCode о мне помнит?
Да, но только вручную — агент не может править память по просьбе:
- Конкретный факт — отредактируйте файл в ~/.astracode/memories/.
- Всё — «Сбросить всю память» (Reset all memories) через /memories.
Ошибки и проблемы
Failed to decrypt secrets file
OS keyring потерял master-ключ. Лечение:
rm ~/.astracode/secrets/local.age astracode # /model → ввести API-ключи заново
bwrap: Permission denied
Linux выключил unprivileged user namespaces:
sudo sysctl kernel.unprivileged_userns_clone=1
Модель отвечает медленно
- Reasoning высокий — снизить (
model_reasoning_effort = "low"). - Большая история —
/compactили/new. - Слабая локальная LLM — переключиться на cloud.
- Провайдер перегружен — подождать или сменить.
TUI не запускается / висит
Ctrl-C несколько раз. Если не помогло:
kill -9 $(pgrep astracode)
Потом разобраться в ~/.astracode/log/astracode-tui.log (см. 15-troubleshooting.md).
Платформы
Работает на Windows?
Да, но в degraded режиме: sandbox через AppContainer (ограниченная функциональность). Лучше — WSL2 или Linux/macOS виртуалка.
Работает на ARM Mac?
Да — есть нативные сборки astracode-macos (arm64).
Можно ли в Docker?
Да, но bwrap не работает в обычном Docker без --privileged. Вариант — запустить AstraCode с sandbox_mode = "danger-full-access" (рискованно; оправдано, только если сам контейнер уже изолирован). Подробнее про режимы песочницы — 13-safety.md.
Поддерживается ли в VS Code?
Расширения нет (это TUI). Можете запустить AstraCode в интегрированном терминале VS Code — будет работать как обычно.
В roadmap есть планы на VS Code extension.
Сравнение
AstraCode vs Aider?
Похожие концепции. AstraCode — Rust, ориентирован на интеграцию с провайдерами, имеет sandboxing, /goal, скиллы, MCP. Aider — Python, более старый, активный community.
AstraCode vs Continue?
Continue — VS Code extension с автодополнением. AstraCode — TUI-агент для делегации задач. Разные ниши.
AstraCode для команд с on-prem инфраструктурой?
Да — это один из основных use cases. Поддерживаются кастомные провайдеры через OpenAI-совместимый протокол (vLLM, llama.cpp, LiteLLM, Ollama и т. п.). В 0.4.11 добавлен in-process Chat Completions bridge — даже если ваш upstream отвечает только в Chat Completions формате, AstraCode сам транслирует. Лицензия offline (не нужно интернет-callback'ов).
Прочее
Где живёт документация?
- Это руководство пользователя — для пользователей.
- Техническая документация (dev-вики) — для разработчиков самого AstraCode (архитектура, протокол, расширение).
Как сообщить о баге?
/feedback
Категория Bug → описание. Отправит метаданные + ваш текст (без логов и кода).
Или GitHub issues, если репо публичный.
Как предложить фичу?
/feedback
Категория Other. Описание идеи.
Где обсуждение / community?
См. репозиторий проекта. Конкретные ссылки зависят от вашей установки (внутренний чат / GitHub Discussions / Discord).
Можно ли использовать AstraCode коммерчески?
Лицензия в репозитории (LICENSE). Кратко — обычно да, но проверьте именно версию, которую используете.
Что в roadmap?
Из обозримых направлений:
- VS Code extension.
- Параллельные сборки (musl Linux, x86_64 macOS).
- Доп. collaboration modes.
- Расширение /personality.
- Улучшение Memory Phase 2.
Конкретные планы — в issue tracker'е проекта.
Если ваш вопрос не здесь
/help <команда>— встроенная справка.$astracode-help— встроенный скилл с подробными ответами.- 15-troubleshooting.md — типовые проблемы.
- Техническая документация (dev-вики) — для глубоких вопросов.
/feedback(категорияOther) — задайте напрямую разработчикам.