summaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-11-06 06:46:29 +0800
committerGitHub <noreply@github.com>2024-11-06 06:46:29 +0800
commit35ee277a234a92add2f6244ad6f7ff3616b17ebe (patch)
treeb52de0378cb6427717027e7a4a5d74710088fb28 /src/config
parent640eb00d74d42d98ab117e48bf4f181350bae221 (diff)
downloadaichat-35ee277a234a92add2f6244ad6f7ff3616b17ebe.tar.gz
feat: add config `user_agent` (#971)
Diffstat (limited to 'src/config')
-rw-r--r--src/config/mod.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs
index adf36f3..124eaa5 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -134,6 +134,7 @@ pub struct Config {
pub right_prompt: Option<String>,
pub serve_addr: Option<String>,
+ pub user_agent: Option<String>,
pub clients: Vec<ClientConfig>,
@@ -200,6 +201,7 @@ impl Default for Config {
right_prompt: None,
serve_addr: None,
+ user_agent: None,
clients: vec![],
@@ -246,6 +248,7 @@ impl Config {
config.setup_model()?;
config.setup_document_loaders();
+ config.setup_user_agent();
Ok(config)
}
@@ -2068,6 +2071,9 @@ impl Config {
if let Some(v) = read_env_value::<String>("serve_addr") {
self.serve_addr = v;
}
+ if let Some(v) = read_env_value::<String>("user_agent") {
+ self.user_agent = v;
+ }
}
fn load_functions(&mut self) -> Result<()> {
@@ -2097,6 +2103,16 @@ impl Config {
self.document_loaders.entry(k).or_insert(v);
});
}
+
+ fn setup_user_agent(&mut self) {
+ if let Some("auto") = self.user_agent.as_deref() {
+ self.user_agent = Some(format!(
+ "{}/{}",
+ env!("CARGO_CRATE_NAME"),
+ env!("CARGO_PKG_VERSION")
+ ));
+ }
+ }
}
pub fn load_env_file() -> Result<()> {