diff --git a/Cargo.toml b/Cargo.toml index 252bb0d0..502df438 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ members = [ ] [workspace.package] -version = "0.3.9" +version = "0.3.10" edition = "2021" license = "Apache-2.0 OR MIT" repository = "https://github.com/RightNow-AI/openfang" diff --git a/crates/openfang-api/src/routes.rs b/crates/openfang-api/src/routes.rs index d8ed3be8..d2f66392 100644 --- a/crates/openfang-api/src/routes.rs +++ b/crates/openfang-api/src/routes.rs @@ -2025,6 +2025,12 @@ pub async fn configure_channel( unsafe { std::env::set_var(env_var, value); } + // Also write the env var NAME to config.toml so the channel section + // is not empty and the kernel knows which env var to read. + config_fields.insert( + field_def.key.to_string(), + (env_var.to_string(), FieldType::Text), + ); } else { // Config field — collect for TOML write with type info config_fields.insert(field_def.key.to_string(), (value.to_string(), field_def.field_type)); diff --git a/crates/openfang-cli/src/tui/screens/wizard.rs b/crates/openfang-cli/src/tui/screens/wizard.rs index 323358f2..4ca4a136 100644 --- a/crates/openfang-cli/src/tui/screens/wizard.rs +++ b/crates/openfang-cli/src/tui/screens/wizard.rs @@ -109,6 +109,24 @@ const PROVIDERS: &[ProviderInfo] = &[ default_model: "Meta-Llama-3.3-70B-Instruct", needs_key: true, }, + ProviderInfo { + name: "moonshot", + env_var: "MOONSHOT_API_KEY", + default_model: "moonshot-v1-128k", + needs_key: true, + }, + ProviderInfo { + name: "zhipu", + env_var: "ZHIPU_API_KEY", + default_model: "glm-4-plus", + needs_key: true, + }, + ProviderInfo { + name: "zhipu_coding", + env_var: "ZHIPU_API_KEY", + default_model: "codegeex-4", + needs_key: true, + }, ProviderInfo { name: "ollama", env_var: "OLLAMA_API_KEY",