English | Русский
Справочник конфигурации TAUSIK
Все настройки в .tausik/config.json в корне проекта. Что не указано — берёт документированный дефолт. Override — добавь ключ в top-level объект (НЕ под bootstrap — там bootstrap управляет).
См. также: environment.md — env-переменные, permissions.md — режимы permissions.
Сигналы сессии (SENAR Rule 9.2 — с 1.10 совет, а не ворота)
| Ключ | Дефолт | Назначение |
|---|---|---|
session_max_minutes | 180 | Порог совета по АКТИВНЫМ минутам сессии: выше него task start, status и Stop-хук печатают совет; ничто не отказывает. 0 выключает. |
session_idle_threshold_minutes | 10 | Промежуток (в минутах), после которого пауза считается AFK и исключается из active-time. |
session_warn_threshold_minutes | 150 | Порог напоминания stop-хука в session_cleanup_check.py. Должен быть < session_max_minutes. |
session_capacity_calls | 200 | Бюджет tool-calls на сессию. call_budget задачи выше остатка — строка совета в task start, не отказ. |
answer_budget_words | 200 | Бюджет слов итогового ответа агента. На следующем запросе ответ сверх него (или без вердикта в первой строке) получает одну строку-совет с числами; ничего не блокируется. Замер — tausik metrics answers. |
checkpoint_calls | 40 | Вызовы с последнего handoff до совета о чекпоинте (выводится из журнала). 0 выключает. |
journal_freshness_calls | 40 | Вызовы с последней записи журнала активной задачи до совета. 0 выключает. |
audit_every_closures | 17 | Закрытия задач с последней отметки аудита до просрочки аудита SENAR 9.5. |
Бюджет контекста host thread
host_context_budget ограничивает реальный thread хоста. В каждом пороге три положительных целых поля: responses, накопленные input_tokens и context_tokens последнего ответа. Пересечение любого advisory-порога один раз сохраняет checkpoint и возвращает готовый промпт нового окна. Пересечение любого hard-порога задаёт allow_continue=false; старый thread без привязанной TAUSIK-сессии не открывается. Дефолты: advisory {24, 2500000, 140000} и hard {32, 4000000, 180000} в указанном порядке полей. Каждый advisory-порог должен быть ниже hard.
Codex отдаёт native identity и usage из локального журнала. Хост без таких сигналов возвращает level=unavailable с причиной и fail-open использует прежние советы по времени и вызовам. Завершение и повторное открытие TAUSIK-сессии в том же host thread не делает fresh_context=true.
Языки поиска по коду (RAG)
| Ключ | По умолчанию | Смысл |
|---|---|---|
rag.extra_extensions | {} | Дополнительные типы файлов для индекса, {".unity": "unity-scene"}. Встроенное расширение не переопределяется. Godot (.gd, .gdshader, .tscn, .tres, .godot) встроен с 1.10. |
rag.boundaries | {} | Где резать язык на чанки, {"unity-scene": "^--- !u!"} (многострочная регулярка). Кривая запись пропускается и называется в rag_status в language_config.problems. |
Проверка обновления
| Ключ | По умолчанию | Смысл |
|---|---|---|
updates.check | true | Не чаще раза в сутки SessionStart отсоединённо запускает tausik update-check: один анонимный GET к releases/latest репозитория Kibertum/tausik-core на GitHub, без данных о проекте. status называет вышедшую версию. false выключает; состояние — в tausik doctor. |
Кэш верификации (SENAR Rule 5)
| Ключ | Дефолт | Назначение |
|---|---|---|
verify_cache_ttl_seconds | 600 | Сколько секунд зелёный verify-run переиспользуется до перезапуска gates. Уменьши для security-critical проектов. |
Настройки из быстрого старта
Все ключи лежат в корне .tausik/config.json, если путь не говорит иного.
| Ключ | По умолчанию | Назначение |
|---|---|---|
context_tier | "minimal" | Размер порождаемого файла правил: "minimal" (по умолчанию, с лимитом), "standard", "full" (расширенные указатели). Неизвестное значение bootstrap отклоняет; tausik doctor сверяет дрифт с сохранённым уровнем. |
output_mode | "off" | "caveman" добавляет сжатую прозу. В любом режиме действуют единые правила: называть исполнителя и действие, предпочитать активный залог, давать одно действие на предложение и один термин на понятие. Это многоязычная рекомендация, а не заявление соответствия ASD-STE100. Код, вывод инструментов и SENAR-доказательства остаются целиком. Ошибочное значение откатывается к "off". |
model_profile | не задан | Слаг профиля хоста (a-z, цифры, дефисы), например claude, codex. Bootstrap записывает его, когда задана TAUSIK_MODEL_PROFILE; неверное значение прерывает bootstrap. python bootstrap/bootstrap.py --refresh обновляет только конфигурацию. |
mcp.compact_tool_list | true после bootstrap | Объявляет полные определения ядра workflow и короткие определения остальных инструментов; полная отложенная схема доступна через tausik_tool_schema. Явное false сохраняется. Отсутствующий или повреждённый конфиг безопасно возвращает полный список. |
task_done.auto_verify | false | true заставляет task done прогонять гейты внутри вызова и закрывать задачу без подписанной квитанции. Это не обход гейтов — они работают, — но квитанция теряется, поэтому проверка доверия конфигурации считает ключ ослаблением, и доверенный тир возвращает его назад (scripts/config_trust.py). Лучше task done <slug> --ac-verified --verify: один вызов и квитанция. |
Для запросов на объяснение prompt-hook добавляет условную матрицу формата. Краткая проза остаётся fallback; таблица нужна для повторяющихся точных сравнений, Mermaid — для связанной структуры, HTML — только для явной или названной интерактивной потребности. Видео роутер не выбирает. Обычные запросы не платят за эту добавку.
Файлы правил сохраняются после первой записи. CLAUDE.md, AGENTS.md, .cursorrules, QWEN.md и файл правил OpenCode bootstrap не перезаписывает, если они уже есть, поэтому поздняя смена context_tier или output_mode до них не доходит. Bootstrap об этом говорит; удалите порождённый файл и запустите bootstrap заново или поправьте руками.
MCP-закрытие возвращает структуру. tausik_task_done отвечает полями stage, gate_results и blocking_failures, чтобы агент чинил упавшее, не разбирая прозу.
Стеки
| Ключ | Дефолт | Назначение |
|---|---|---|
custom_stacks | [] | Список custom stack slug'ов, принимаемых task add --stack X. |
Gates
| Ключ | Дефолт | Назначение |
|---|---|---|
gates | {} | Per-gate overrides: { "pytest": { "enabled": true }, "filesize": { "max_lines": 600 } }. Мержится поверх default_gates.py. |
Файлы инструкций агента (блок DYNAMIC)
tausik update-claudemd переписывает блок между <!-- DYNAMIC:START --> и <!-- DYNAMIC:END --> в CLAUDE.md и, если он лежит рядом, в AGENTS.md. AGENTS.md в большинстве проектов версионируется, поэтому его содержимое — политика, а не случайность (GitLab #14):
| Ключ | Умолчание | Назначение |
|---|---|---|
claudemd.sibling_dynamic | true | true: AGENTS.md обновляется блоком без «Shared knowledge — from other projects» — знания чужих проектов не попадают в историю этого репозитория, а хвост памяти, под которым ничего не осталось, опускается. false: AGENTS.md не пишется вовсе; CLAUDE.md обновляется как раньше. Выключает только JSON-булево false — строка "false" или 0 читаются как «включено». Ключ читается из .tausik/ рядом с записываемым файлом. |
Гейт коммита claudemd_state судит каждый файл по тому же плану, которому следует писатель: сиблинг, который политика не пишет, не судится, а сиблинг, чьё единственное знание было бы чужим, хвоста не должен.
Публикация (что скрывает вычищенный экспорт)
Общее хранилище (~/.tausik-knowledge) не требует настройки: --global у decide / memory add пишет в него, $TAUSIK_HOME переносит. Эти ключи читает только knowledge export --redacted (см. knowledge-store.md).
| Ключ | Дефолт | Назначение |
|---|---|---|
publication.project_names | [] | Имена проектов, заменяемые на [REDACTED:project], в дополнение к имени каталога этого проекта. |
publication.private_url_patterns | [] | Regex-строки; URL, подходящий под одну из них, становится [REDACTED:url]. |
brain.local_mirror_path | ~/.tausik-brain/brain.db | Читается только разовым knowledge import-brain: где отставленный транспорт Notion оставил локальное зеркало. |
Ставки кредитов подписки Codex
codex_subscription_credit_rates необязателен; встроенной таблицы нет. Датированная таблица добавляет к исходным счётчикам metrics tokens --host codex стоимость принятой задачи в кредитах:
{
"codex_subscription_credit_rates": {
"source": "https://developers.openai.com/docs/pricing",
"as_of": "2026-10-02",
"unit": "credits_per_million_tokens",
"models": {
"gpt-5.6-sol": {"input": 100, "cached_input": 10, "output": 500}
}
}
}Указывайте ставки, действующие для вашего аккаунта и даты. Это кредиты подписки, а не API-доллары и не пересчёт остатка включённой квоты.
Пример
{
"session_max_minutes": 240,
"session_idle_threshold_minutes": 15,
"host_context_budget": {
"advisory": {"responses": 20, "input_tokens": 2000000, "context_tokens": 120000},
"hard": {"responses": 28, "input_tokens": 3500000, "context_tokens": 170000}
},
"verify_cache_ttl_seconds": 1200,
"custom_stacks": ["ruby", "elixir"],
"gates": {
"filesize": { "max_lines": 500 },
"ruff": { "enabled": false }
},
"publication": {
"project_names": ["acme"],
"private_url_patterns": ["acme\\.internal"]
},
"claudemd": { "sibling_dynamic": false }
}Health check
tausik doctor (v1.3+) проверяет согласованность config + venv + DB + skills и выдаёт actionable next steps.