From 5dbe4092fa4f957b06ecc4803f46a8cbb1d5b0ab Mon Sep 17 00:00:00 2001 From: CrazyBoyM Date: Sun, 25 Jan 2026 00:32:36 +0800 Subject: [PATCH] feat: support ANTHROPIC_BASE_URL for API proxies All agents now read ANTHROPIC_BASE_URL from .env for custom endpoints. Co-Authored-By: Claude Opus 4.5 --- .env.example | 3 +++ v0_bash_agent.py | 4 ++-- v0_bash_agent_mini.py | 2 +- v1_basic_agent.py | 2 +- v2_todo_agent.py | 2 +- v3_subagent.py | 2 +- v4_skills_agent.py | 2 +- 7 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.env.example b/.env.example index ea70bdb..e2625c5 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,6 @@ # Anthropic API Key (required) # Get your key at: https://console.anthropic.com/ ANTHROPIC_API_KEY=sk-ant-xxx + +# Base URL (optional, for API proxies) +# ANTHROPIC_BASE_URL=https://api.anthropic.com diff --git a/v0_bash_agent.py b/v0_bash_agent.py index 3108ff8..0471b47 100644 --- a/v0_bash_agent.py +++ b/v0_bash_agent.py @@ -55,8 +55,8 @@ import os load_dotenv(override=True) -# Initialize Anthropic client (uses ANTHROPIC_API_KEY env var) -client = Anthropic() +# Initialize Anthropic client (uses ANTHROPIC_API_KEY and ANTHROPIC_BASE_URL env vars) +client = Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL")) MODEL = "claude-sonnet-4-5-20250929" # The ONE tool that does everything diff --git a/v0_bash_agent_mini.py b/v0_bash_agent_mini.py index b9b0166..ce30ffe 100644 --- a/v0_bash_agent_mini.py +++ b/v0_bash_agent_mini.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """v0_bash_agent_mini.py - Mini Claude Code (Compact)""" from anthropic import Anthropic; from dotenv import load_dotenv; import subprocess as sp, sys, os -load_dotenv(override=True); C = Anthropic(); M = "claude-sonnet-4-5-20250929" +load_dotenv(override=True); C = Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL")); M = "claude-sonnet-4-5-20250929" T = [{"name":"bash","description":"Shell cmd. Read:cat/grep/find/rg/ls. Write:echo>/sed. Subagent(for complex subtask): python v0_bash_agent_mini.py 'task'","input_schema":{"type":"object","properties":{"command":{"type":"string"}},"required":["command"]}}] S = f"CLI agent at {os.getcwd()}. Use bash to solve problems. Spawn subagent for complex subtasks: python v0_bash_agent_mini.py 'task'. Subagent isolates context and returns summary. Be concise." diff --git a/v1_basic_agent.py b/v1_basic_agent.py index 7bb2a33..6fd12eb 100644 --- a/v1_basic_agent.py +++ b/v1_basic_agent.py @@ -63,7 +63,7 @@ load_dotenv(override=True) WORKDIR = Path.cwd() MODEL = "claude-sonnet-4-5-20250929" -client = Anthropic() +client = Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL")) # ============================================================================= diff --git a/v2_todo_agent.py b/v2_todo_agent.py index 1c022d5..0a77a97 100644 --- a/v2_todo_agent.py +++ b/v2_todo_agent.py @@ -73,7 +73,7 @@ load_dotenv(override=True) WORKDIR = Path.cwd() -client = Anthropic() +client = Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL")) MODEL = "claude-sonnet-4-5-20250929" diff --git a/v3_subagent.py b/v3_subagent.py index ca3f229..32f24e4 100644 --- a/v3_subagent.py +++ b/v3_subagent.py @@ -91,7 +91,7 @@ load_dotenv(override=True) WORKDIR = Path.cwd() -client = Anthropic() +client = Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL")) MODEL = "claude-sonnet-4-5-20250929" diff --git a/v4_skills_agent.py b/v4_skills_agent.py index 35c5e37..dc02077 100644 --- a/v4_skills_agent.py +++ b/v4_skills_agent.py @@ -97,7 +97,7 @@ load_dotenv(override=True) WORKDIR = Path.cwd() SKILLS_DIR = WORKDIR / "skills" -client = Anthropic() +client = Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL")) MODEL = "claude-sonnet-4-5-20250929"