fix: дефолтные пути — ./worktrees и ./ratatoskr.db (независимо от ОС)
All checks were successful
CI / test (push) Successful in 40s
CI / build-and-package (amd64, darwin) (push) Successful in 39s
CI / build-and-package (amd64, linux) (push) Successful in 40s
CI / build-and-package (amd64, windows) (push) Successful in 40s
CI / build-and-package (arm64, darwin) (push) Successful in 42s
CI / build-and-package (arm64, linux) (push) Successful in 45s

This commit is contained in:
Hermes
2026-08-15 11:26:34 +05:00
parent 3298bbcf8a
commit 87fae9b82c
3 changed files with 19 additions and 19 deletions

View File

@@ -1,20 +1,20 @@
# ratatoskr-go пример конфигурации
# Копировать в config.yaml и заполнить переменные.
# ratatoskr-go пример конфигурации.
# Можно не указывать поля, у которых есть дефолт (см. internal/config/types.go).
# Обязательно: telegram.token + telegram.chat_id
telegram:
token: "${TG_TOKEN}" # токен Telegram бота (обязательно)
chat_id: "${TG_CHAT_ID}" # ID чата, куда бот отвечает (обязательно)
chat_id: "${TG_CHAT_ID}" # ID чата (обязательно)
opencode:
bin: "opencode" # путь к opencode CLI
config: "${OPENCODE_CONFIG:-}" # путь к opencode config.json
hard_timeout: "20m" # максимальное время работы opencode
idle_timeout: "2m" # таймаут без вывода
db_path: "" # путь к opencode БД (пусто = авто)
# Всё ниже — опционально, показаны дефолты:
# opencode:
# bin: "opencode"
# hard_timeout: "20m"
# idle_timeout: "2m"
chat:
poll_interval: "30s" # частота long-poll Telegram
# chat:
# poll_interval: "30s"
paths:
worktree: "/opt/data/ratatoskr/worktrees" # рабочие директории субагентов
db: "/opt/data/ratatoskr/ratatoskr.db" # путь к SQLite-БД
# paths:
# worktree: "./worktrees"
# db: "./ratatoskr.db" # или через env RATATOSKR_DB

View File

@@ -75,8 +75,8 @@ telegram:
if cfg.OpenCode.IdleTimeout.Duration() != 2*time.Minute {
t.Errorf("idle timeout = %v", cfg.OpenCode.IdleTimeout)
}
if cfg.Paths.Worktree != "/opt/data/ratatoskr/worktrees" {
t.Errorf("worktree = %q", cfg.Paths.Worktree)
if cfg.Paths.Worktree != "./worktrees" {
t.Errorf("worktree = %q, want ./worktrees", cfg.Paths.Worktree)
}
}

View File

@@ -59,8 +59,8 @@ type ChatCfg struct {
}
type PathsCfg struct {
Worktree string `yaml:"worktree" default:"/opt/data/ratatoskr/worktrees"`
DB string `yaml:"db" default:"/opt/data/ratatoskr/ratatoskr.db" env:"RATATOSKR_DB"`
Worktree string `yaml:"worktree" default:"./worktrees"`
DB string `yaml:"db" default:"./ratatoskr.db" env:"RATATOSKR_DB"`
}
// Validate проверяет обязательные поля. Возвращает C1 MissingField