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 обновлены
44 lines
2.9 KiB
Plaintext
44 lines
2.9 KiB
Plaintext
# 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)
|