返回 DeepSeek-Reasonix
plan_mode.go
根目录 / internal / control / plan_mode.go
1 package control
2
3 import (
4 "encoding/json"
5 "log/slog"
6 )
7
8 func (c *Controller) applyPlanMode(v bool) {
9 c.mu.Lock()
10 changed := c.sessionSettings.planMode != v
11 c.sessionSettings.planMode = v
12 c.mu.Unlock()
13 if setter, ok := c.runner.(interface{ SetPlanMode(bool) }); ok {
14 setter.SetPlanMode(v)
15 } else if c.executor != nil {
16 c.executor.SetPlanMode(v)
17 }
18 if !changed {
19 return
20 }
21 payload, _ := json.Marshal(map[string]any{"enabled": v})
22 if err := c.appendDomainState("plan/state", payload, "mode"); err != nil {
23 slog.Warn("controller: append plan mode event", "err", err)
24 }
25 }
26
26 lines GO