diff --git a/env.example b/env.example index a45b158..552c40b 100644 --- a/env.example +++ b/env.example @@ -28,6 +28,9 @@ LLM_API_KEY=sk-... # Optional custom API base # BUB_API_BASE=https://openrouter.ai/api/v1 +# Use OpenAI Responses API (opt-in; keeps completions as default) +# BUB_USE_RESPONSES=true + # --------------------------------------------------------------------------- # Optional Ollama web tools override # --------------------------------------------------------------------------- diff --git a/src/bub/config/settings.py b/src/bub/config/settings.py index 504b885..a82a0f1 100644 --- a/src/bub/config/settings.py +++ b/src/bub/config/settings.py @@ -24,6 +24,7 @@ class Settings(BaseSettings): model: str = "openrouter:qwen/qwen3-coder-next" api_key: str | None = None api_base: str | None = None + use_responses: bool = False ollama_api_key: str | None = None ollama_api_base: str | None = None llm_api_key: str | None = Field(default=None, validation_alias="LLM_API_KEY") diff --git a/src/bub/integrations/republic_client.py b/src/bub/integrations/republic_client.py index 7d4efc9..1fda733 100644 --- a/src/bub/integrations/republic_client.py +++ b/src/bub/integrations/republic_client.py @@ -30,6 +30,7 @@ def build_llm(settings: Settings, store: FileTapeStore) -> LLM: settings.model, api_key=settings.resolved_api_key, api_base=settings.api_base, + use_responses=settings.use_responses, tape_store=store, context=default_tape_context(), client_args=client_args,