diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 0f5edf6..1100eec 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -20,6 +20,12 @@ struct ApiConfig { active_character_id: Option, #[serde(default)] stream: bool, + #[serde(default = "default_context_limit")] + context_limit: u32, +} + +fn default_context_limit() -> u32 { + 200000 } #[derive(Debug, Clone, Serialize, Deserialize)] @@ -1161,7 +1167,7 @@ async fn validate_api(base_url: String, api_key: String) -> Result, } #[tauri::command] -async fn save_api_config(base_url: String, api_key: String, model: String, stream: bool) -> Result<(), String> { +async fn save_api_config(base_url: String, api_key: String, model: String, stream: bool, context_limit: u32) -> Result<(), String> { // Preserve existing active_character_id if it exists let active_character_id = load_config().and_then(|c| c.active_character_id); @@ -1171,6 +1177,7 @@ async fn save_api_config(base_url: String, api_key: String, model: String, strea model, active_character_id, stream, + context_limit, }; save_config(&config) } diff --git a/src/index.html b/src/index.html index b04c1c7..742613e 100644 --- a/src/index.html +++ b/src/index.html @@ -350,6 +350,19 @@ +
+ + + Maximum tokens for model context (e.g., 200000 for Claude) +
+