summaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-09-06 07:09:14 +0800
committerGitHub <noreply@github.com>2024-09-06 07:09:14 +0800
commit791b6150afd626baabc2d71acc1dc3dcb70ad4d0 (patch)
tree08eb8fe26088f0b0cdb2bf6a021307f3168fc293 /src/config
parentb16913fec38f604ab045d6f16ddba62481b09a6c (diff)
downloadaichat-791b6150afd626baabc2d71acc1dc3dcb70ad4d0.tar.gz
feat: add config `serve_addr` & env $SERVE_ADDR for specifying serve addr (#839)
Diffstat (limited to 'src/config')
-rw-r--r--src/config/mod.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs
index 3ef68c6..36a3349 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -57,6 +57,8 @@ pub const TEMP_SESSION_NAME: &str = "temp";
const CLIENTS_FIELD: &str = "clients";
+const SERVE_ADDR: &str = "127.0.0.1:8000";
+
const SUMMARIZE_PROMPT: &str =
"Summarize the discussion briefly in 200 words or less to use as a prompt for future context.";
const SUMMARY_PROMPT: &str = "This is a summary of the chat history as a recap: ";
@@ -126,6 +128,8 @@ pub struct Config {
pub left_prompt: Option<String>,
pub right_prompt: Option<String>,
+ pub serve_addr: Option<String>,
+
pub clients: Vec<ClientConfig>,
#[serde(skip)]
@@ -191,6 +195,8 @@ impl Default for Config {
left_prompt: None,
right_prompt: None,
+ serve_addr: None,
+
clients: vec![],
role: None,
@@ -392,6 +398,10 @@ impl Config {
flags
}
+ pub fn serve_addr(&self) -> String {
+ self.serve_addr.clone().unwrap_or_else(|| SERVE_ADDR.into())
+ }
+
pub fn log(is_serve: bool) -> Result<(LevelFilter, Option<PathBuf>)> {
let log_level = env::var(get_env_name("log_level"))
.ok()
@@ -1848,6 +1858,10 @@ impl Config {
if let Some(v) = read_env_value::<String>("right_prompt") {
self.right_prompt = v;
}
+
+ if let Some(v) = read_env_value::<String>("serve_addr") {
+ self.serve_addr = v;
+ }
}
fn load_functions(&mut self) -> Result<()> {