From 0475c8d807a28b6bffca64f1cef14db14a9edca5 Mon Sep 17 00:00:00 2001 From: sigoden Date: Mon, 24 Feb 2025 09:00:59 +0800 Subject: feat: add `cmd_prelude` and remove `prelude` (#1197) --- config.example.yaml | 6 +++--- src/config/mod.rs | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/config.example.yaml b/config.example.yaml index 6284d76..0c41554 100644 --- a/config.example.yaml +++ b/config.example.yaml @@ -19,9 +19,9 @@ mapping_tools: # Alias for a tool or toolset use_tools: null # Which tools to use by default. (e.g. 'fs,web_search') # ---- prelude ---- -prelude: null # Set a default role or session to start with (e.g. role:, session:, :) -repl_prelude: null # Overrides the `prelude` setting specifically for conversations started in REPL -agent_prelude: null # Set a session to use when starting a agent. (e.g. temp, default) +repl_prelude: null # Set a default role or session for REPL mode (e.g. role:, session:, :) +cmd_prelude: null # Set a default role or session for CMD mode (e.g. role:, session:, :) +agent_prelude: null # Set a session to use when starting a agent (e.g. temp, default) # ---- session ---- # Controls the persistence of the session. if true, auto save; if false, not save; if null, asking the user diff --git a/src/config/mod.rs b/src/config/mod.rs index f8ea258..135e6ca 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -116,8 +116,8 @@ pub struct Config { pub mapping_tools: IndexMap, pub use_tools: Option, - pub prelude: Option, pub repl_prelude: Option, + pub cmd_prelude: Option, pub agent_prelude: Option, pub save_session: Option, @@ -192,8 +192,8 @@ impl Default for Config { mapping_tools: Default::default(), use_tools: None, - prelude: None, repl_prelude: None, + cmd_prelude: None, agent_prelude: None, save_session: None, @@ -1606,8 +1606,8 @@ impl Config { return Ok(()); } let prelude = match self.working_mode { - WorkingMode::Cmd => self.prelude.as_ref(), - WorkingMode::Repl => self.repl_prelude.as_ref().or(self.prelude.as_ref()), + WorkingMode::Repl => self.repl_prelude.as_ref(), + WorkingMode::Cmd => self.cmd_prelude.as_ref(), WorkingMode::Serve => return Ok(()), }; let prelude = match prelude { @@ -2280,12 +2280,12 @@ impl Config { self.use_tools = v; } - if let Some(v) = read_env_value::(&get_env_name("prelude")) { - self.prelude = v; - } if let Some(v) = read_env_value::(&get_env_name("repl_prelude")) { self.repl_prelude = v; } + if let Some(v) = read_env_value::(&get_env_name("cmd_prelude")) { + self.cmd_prelude = v; + } if let Some(v) = read_env_value::(&get_env_name("agent_prelude")) { self.agent_prelude = v; } -- cgit v1.2.3