refactor(config): удалена опция opencode.config (OPENCODE_CONFIG)
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 30s

This commit is contained in:
ki.sagidullin
2026-08-23 18:18:25 +05:00
parent 8c91c83024
commit 3c51ffee4e
6 changed files with 1 additions and 33 deletions

View File

@@ -156,7 +156,6 @@ func New(configPath, version, updateToken string, noUI bool) (*App, error) {
// Служебный root-сервер (worktree) живёт всё время app; остальные лениво.
ocPool := opencode.NewPool(cfg.Paths.Worktree)
ocPool.Bin = cfg.OpenCode.Bin
ocPool.Config = cfg.OpenCode.Config
ocPool.DBPath = cfg.OpenCode.DBPath
ocPool.Host = cfg.OpenCode.Serve.Hostname
ocPool.BasePort = cfg.OpenCode.Serve.Port

View File

@@ -146,26 +146,6 @@ log:
}
}
func TestLoad_EnvOverride(t *testing.T) {
t.Setenv("TG_TOKEN", "tok")
t.Setenv("TG_CHAT_ID", "42")
// env override для opencode.timeout
t.Setenv("OPENCODE_CONFIG", "/custom/opencode.json")
yaml := `telegram:
token: "${TG_TOKEN}"
chat_id: "${TG_CHAT_ID}"
`
path := writeCfg(t, yaml)
cfg, err := Load(path)
if err != nil {
t.Fatalf("Load: %v", err)
}
if cfg.OpenCode.Config != "/custom/opencode.json" {
t.Errorf("opencode config = %q", cfg.OpenCode.Config)
}
}
func TestLoad_MissingEnvVarUsesDefault(t *testing.T) {
t.Setenv("TG_TOKEN", "tok")
t.Setenv("TG_CHAT_ID", "42")

View File

@@ -88,7 +88,6 @@ type TelegramCfg struct {
type OpenCodeCfg struct {
Bin string `yaml:"bin" default:"opencode"`
DBPath string `yaml:"db_path" default:""`
Config string `yaml:"config" env:"OPENCODE_CONFIG"`
HardTimeout Duration `yaml:"hard_timeout" default:"20m"`
IdleTimeout Duration `yaml:"idle_timeout" default:"5m"`
PollMs Duration `yaml:"poll_ms" default:"2s"`

View File

@@ -19,7 +19,6 @@ import (
// директории → каждая сессия API привязана к правильному project-каталогу.
type Pool struct {
Bin string
Config string
DBPath string
Host string
BasePort int
@@ -72,7 +71,6 @@ func (p *Pool) EnsureRoot(ctx context.Context) error {
}
s := &Server{
Bin: p.Bin,
Config: p.Config,
DBPath: p.DBPath,
Host: p.Host,
Password: p.Password,
@@ -101,7 +99,6 @@ func (p *Pool) Ensure(ctx context.Context, dir string) (*Server, error) {
abs := filepath.Clean(dir)
s := &Server{
Bin: p.Bin,
Config: p.Config,
DBPath: p.DBPath,
Host: p.Host,
Password: p.Password,

View File

@@ -24,7 +24,6 @@ import (
// отдаёт URL, процессом не владеет.
type Server struct {
Bin string // путь к opencode (по умолчанию "opencode")
Config string // OPENCODE_CONFIG
DBPath string // рабочая БД сервера (передам env, если задана)
Host string // hostname для прослушивания
@@ -127,12 +126,7 @@ func (s *Server) serveCmd(ctx context.Context) *exec.Cmd {
"OPENCODE_DISABLE_AUTOUPDATE=1",
"OPENCODE_DISABLE_MODELS_FETCH=1")
// Агенты (analyst/dev/...) opencode находит сам через project-каталог
// .opencode (см. internal/agents); OPENCODE_CONFIG_DIR не выставляем,
// чтобы не перенаправлять Global.Path.config и сохранить глобальный
// конфиг opencode (модель/провайдеры).
if s.Config != "" {
env = append(env, "OPENCODE_CONFIG="+s.Config)
}
// .opencode (см. internal/agents).
if s.DBPath != "" {
env = append(env, "OPENCODE_DB="+s.DBPath)
}