From a0280a1e4ac693ccb6227ec92e7163f0347e96df Mon Sep 17 00:00:00 2001 From: Manus AI Date: Thu, 5 Feb 2026 03:35:46 -0500 Subject: [PATCH 1/2] fix: update Zhipu AI API key env var and improve model prefixing --- nanobot/cli/commands.py | 2 ++ nanobot/providers/litellm_provider.py | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/nanobot/cli/commands.py b/nanobot/cli/commands.py index c2241fb..641339d 100644 --- a/nanobot/cli/commands.py +++ b/nanobot/cli/commands.py @@ -642,12 +642,14 @@ def status(): has_anthropic = bool(config.providers.anthropic.api_key) has_openai = bool(config.providers.openai.api_key) has_gemini = bool(config.providers.gemini.api_key) + has_zhipu = bool(config.providers.zhipu.api_key) has_vllm = bool(config.providers.vllm.api_base) console.print(f"OpenRouter API: {'[green]✓[/green]' if has_openrouter else '[dim]not set[/dim]'}") console.print(f"Anthropic API: {'[green]✓[/green]' if has_anthropic else '[dim]not set[/dim]'}") console.print(f"OpenAI API: {'[green]✓[/green]' if has_openai else '[dim]not set[/dim]'}") console.print(f"Gemini API: {'[green]✓[/green]' if has_gemini else '[dim]not set[/dim]'}") + console.print(f"Zhipu AI API: {'[green]✓[/green]' if has_zhipu else '[dim]not set[/dim]'}") vllm_status = f"[green]✓ {config.providers.vllm.api_base}[/green]" if has_vllm else "[dim]not set[/dim]" console.print(f"vLLM/Local: {vllm_status}") diff --git a/nanobot/providers/litellm_provider.py b/nanobot/providers/litellm_provider.py index 8945412..1dbee8e 100644 --- a/nanobot/providers/litellm_provider.py +++ b/nanobot/providers/litellm_provider.py @@ -50,6 +50,7 @@ class LiteLLMProvider(LLMProvider): elif "gemini" in default_model.lower(): os.environ.setdefault("GEMINI_API_KEY", api_key) elif "zhipu" in default_model or "glm" in default_model or "zai" in default_model: + os.environ.setdefault("ZAI_API_KEY", api_key) os.environ.setdefault("ZHIPUAI_API_KEY", api_key) elif "groq" in default_model: os.environ.setdefault("GROQ_API_KEY", api_key) @@ -92,7 +93,8 @@ class LiteLLMProvider(LLMProvider): if ("glm" in model.lower() or "zhipu" in model.lower()) and not ( model.startswith("zhipu/") or model.startswith("zai/") or - model.startswith("openrouter/") + model.startswith("openrouter/") or + model.startswith("hosted_vllm/") ): model = f"zai/{model}" From 394ebccb461d108d633dcc9737ea72e24a5c2bcb Mon Sep 17 00:00:00 2001 From: Re-bin Date: Sat, 7 Feb 2026 07:24:19 +0000 Subject: [PATCH 2/2] docs: update line count --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bde285d..bf19298 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ⚡️ Delivers core agent functionality in just **~4,000** lines of code — **99% smaller** than Clawdbot's 430k+ lines. -📏 Real-time line count: **3,428 lines** (run `bash core_agent_lines.sh` to verify anytime) +📏 Real-time line count: **3,431 lines** (run `bash core_agent_lines.sh` to verify anytime) ## 📢 News