Files
ratatoskr-go/config.yaml.example
ki.sagidullin 8c91c83024
Some checks failed
CI / test (push) Failing after 1m20s
CI / build-and-package (amd64, linux) (push) Failing after 1m4s
CI / build-and-package (amd64, windows) (push) Successful in 37s
fix(opencode): агенты — в <worktree>/.opencode/agent, OPENCODE_CONFIG_DIR больше не выставляем
OPENCODE_CONFIG_DIR в opencode v1.18.18 перенаправляет Global.Path.config
(global.ts: config = OPENCODE_CONFIG_DIR ?? ~/.config/opencode), из-за чего
глобальный конфиг (модель/провайдеры, напр. tokentool) не загружался и
opencode уходил в fallback-модель. Агенты открывались, т.к. OPENCODE_CONFIG_DIR
дополнительно сканируется как каталог для agent/*.md.

Теперь агенты распаковываются в <worktree>/.opencode/agent/*.md, где opencode
находит их через project-каталог .opencode (paths.ts, cwd=worktree). Глобальный
конфиг не трогаем вовсе.

- internal/opencode: удалены Server.ConfigDir/Pool.ConfigDir и env OPENCODE_CONFIG_DIR
- internal/config: удалено поле OpenCodeCfg.ConfigDir (config_dir)
- internal/app: ensureAgentsDir пишет в <worktree>/.opencode/agent
- internal/agents: WriteTo(dir) → dir/agent/*.md
- README/config.yaml.example/memory обновлены
2026-08-23 17:54:35 +05:00

44 lines
2.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ratatoskr-go пример конфигурации.
# Можно не указывать поля, у которых есть дефолт (см. internal/config/types.go).
# Если telegram.enabled: true (дефолт) — обязательно: telegram.token + telegram.chat_id.
telegram:
enabled: true # false — полностью отключить Telegram (без сетевых вызовов)
token: "${TG_TOKEN}" # токен Telegram бота (обязательно, если enabled)
chat_id: "${TG_CHAT_ID}" # ID чата (обязательно, если enabled)
# Всё ниже — опционально, показаны дефолты:
# opencode:
# bin: "opencode"
# config: "/путь/к/opencode.json" # файл-конфиг модели (OPENCODE_CONFIG); пусто = глобальный конфиг opencode
# hard_timeout: "20m"
# idle_timeout: "5m"
#
# Агенты (analyst/dev/reviewer/...) распаковываются автоматически в
# <worktree>/.opencode/agent/*.md; конфиг opencode для этого не нужен.
# git (источник репозиториев для git clone)
# base_url: "http://gitea.hal9000.home" # базовый URL git-хоста (обязательно для клонирования)
# token: "${GIT_TOKEN}" # токен для приватных репозиториев
# update (авто-обновление бинаря из Gitea Packages)
# Авто-режим только проверяет и уведомляет владельца; замена — по команде /update.
# Если base_url не задан — обновление отключено (фоллбэк на git.base_url НЕ используется).
# Владелец пакета — жёсткая константа в коде (packageOwner), настраивать не нужно.
# enabled: false # включить фоновую проверку обновления
# base_url: "http://gitea.hal9000.home" # хост Gitea для обновления (UPDATE_BASE_URL)
# token: "${UPDATE_TOKEN}" # токен read:package (UPDATE_TOKEN) — опционально, если не вшит
# package: "ratatoskr" # имя пакета-хранилища (generic)
# check_interval: "24h" # как часто проверять наличие обновления
# chat:
# poll_interval: "30s"
# paths:
# worktree: "./worktrees"
# db: "./ratatoskr.db" # или через env RATATOSKR_DB
# log (уровень логирования)
# level: "info" # "info" (по умолчанию) или "debug" — debug включает
# # отладочные логи (напр. все API-вызовы к opencode serve)