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
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:
@@ -1,20 +1,20 @@
|
|||||||
# ratatoskr-go пример конфигурации
|
# ratatoskr-go пример конфигурации.
|
||||||
# Копировать в config.yaml и заполнить переменные.
|
# Можно не указывать поля, у которых есть дефолт (см. internal/config/types.go).
|
||||||
|
# Обязательно: telegram.token + telegram.chat_id
|
||||||
|
|
||||||
telegram:
|
telegram:
|
||||||
token: "${TG_TOKEN}" # токен Telegram бота (обязательно)
|
token: "${TG_TOKEN}" # токен Telegram бота (обязательно)
|
||||||
chat_id: "${TG_CHAT_ID}" # ID чата, куда бот отвечает (обязательно)
|
chat_id: "${TG_CHAT_ID}" # ID чата (обязательно)
|
||||||
|
|
||||||
opencode:
|
# Всё ниже — опционально, показаны дефолты:
|
||||||
bin: "opencode" # путь к opencode CLI
|
# opencode:
|
||||||
config: "${OPENCODE_CONFIG:-}" # путь к opencode config.json
|
# bin: "opencode"
|
||||||
hard_timeout: "20m" # максимальное время работы opencode
|
# hard_timeout: "20m"
|
||||||
idle_timeout: "2m" # таймаут без вывода
|
# idle_timeout: "2m"
|
||||||
db_path: "" # путь к opencode БД (пусто = авто)
|
|
||||||
|
|
||||||
chat:
|
# chat:
|
||||||
poll_interval: "30s" # частота long-poll Telegram
|
# poll_interval: "30s"
|
||||||
|
|
||||||
paths:
|
# paths:
|
||||||
worktree: "/opt/data/ratatoskr/worktrees" # рабочие директории субагентов
|
# worktree: "./worktrees"
|
||||||
db: "/opt/data/ratatoskr/ratatoskr.db" # путь к SQLite-БД
|
# db: "./ratatoskr.db" # или через env RATATOSKR_DB
|
||||||
@@ -75,8 +75,8 @@ telegram:
|
|||||||
if cfg.OpenCode.IdleTimeout.Duration() != 2*time.Minute {
|
if cfg.OpenCode.IdleTimeout.Duration() != 2*time.Minute {
|
||||||
t.Errorf("idle timeout = %v", cfg.OpenCode.IdleTimeout)
|
t.Errorf("idle timeout = %v", cfg.OpenCode.IdleTimeout)
|
||||||
}
|
}
|
||||||
if cfg.Paths.Worktree != "/opt/data/ratatoskr/worktrees" {
|
if cfg.Paths.Worktree != "./worktrees" {
|
||||||
t.Errorf("worktree = %q", cfg.Paths.Worktree)
|
t.Errorf("worktree = %q, want ./worktrees", cfg.Paths.Worktree)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -59,8 +59,8 @@ type ChatCfg struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type PathsCfg struct {
|
type PathsCfg struct {
|
||||||
Worktree string `yaml:"worktree" default:"/opt/data/ratatoskr/worktrees"`
|
Worktree string `yaml:"worktree" default:"./worktrees"`
|
||||||
DB string `yaml:"db" default:"/opt/data/ratatoskr/ratatoskr.db" env:"RATATOSKR_DB"`
|
DB string `yaml:"db" default:"./ratatoskr.db" env:"RATATOSKR_DB"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate проверяет обязательные поля. Возвращает C1 MissingField
|
// Validate проверяет обязательные поля. Возвращает C1 MissingField
|
||||||
|
|||||||
Reference in New Issue
Block a user