You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(lift): add Ollama provider for free local lifting (#95)
* feat(lift): add Ollama provider for free local lifting
Adds a fully-local LlmProvider backed by an Ollama daemon (native /api/chat),
default model qwen2.5-coder:3b, zero cost, no API key. Slots into the existing
provider trait + create_provider/available_providers behind an `ollama` feature
(in the default set). CLI `lift --provider ollama` needs no key. Pure response
parser is unit tested without a live daemon.
* docs(lift): mention ollama provider in MCP params + LIFTER PROTOCOL
* fix(lift): use Duration::from_mins(5) in OllamaProvider (clippy 1.96 duration_suboptimal_units)
/// LLM provider: "anthropic", "openai", or any OpenAI-compatible endpoint.
276
+
/// LLM provider: "anthropic", "openai", "ollama" (local, no API key), or any OpenAI-compatible endpoint.
277
277
pub(crate)provider:String,
278
278
/// API key for the provider. Use this OR api_key_env (not both). Prefer api_key_env to avoid exposing keys in tool call transcripts.
279
279
pub(crate)api_key:Option<String>,
280
280
/// Environment variable name containing the API key (e.g., "ANTHROPIC_API_KEY"). Safer than passing the key directly — the key never appears in tool call logs.
281
281
pub(crate)api_key_env:Option<String>,
282
-
/// Model override (default: claude-haiku-4-5-20251001 for anthropic, gpt-4o-mini for openai).
282
+
/// Model override (default: claude-haiku-4-5-20251001 for anthropic, gpt-4o-mini for openai, qwen2.5-coder:3b for ollama).
283
283
pub(crate)model:Option<String>,
284
284
/// Base URL for OpenAI-compatible endpoints (e.g., "https://openrouter.ai/api/v1" for OpenRouter, "https://generativelanguage.googleapis.com/v1beta/openai" for Gemini).
0 commit comments