diff --git a/README.md b/README.md index c06432927..b315d50db 100644 --- a/README.md +++ b/README.md @@ -181,9 +181,8 @@ you can prototype with the LLM and ship the output to production without a model at runtime. It supports Anthropic, OpenAI, Gemini, Google Vertex AI, Mistral, Hugging -Face, the multi-lab gateways [Vercel AI Gateway](https://vercel.com/ai-gateway), -[OpenRouter](https://openrouter.ai) and [OrcaRouter](https://orcarouter.ai) -(one key for hundreds of models), any OpenAI-compatible endpoint via +Face, the multi-lab gateways [Vercel AI Gateway](https://vercel.com/ai-gateway) +and [OpenRouter](https://openrouter.ai) (one key for hundreds of models), any OpenAI-compatible endpoint via `OPENAI_BASE_URL`, and local models via Ollama or llama.cpp. You can also run without an LLM using `--no-llm`, which drops you into the REPL. See the [agent documentation](https://lightpanda.io/docs/usage/agent) for the full diff --git a/build.zig.zon b/build.zig.zon index fbcf8a358..61b3b6d82 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -36,8 +36,8 @@ .hash = "sqlite3-3.53.2-DMxLWuAOAAA_Px0arJOIOaP4AKEu5prbsQgPMA35W1zz", }, .zenai = .{ - .url = "git+https://github.com/lightpanda-io/zenai.git#43658858f6c677b107a0f4fb76dc92e5ac97d3a4", - .hash = "zenai-0.0.0-iOY_VKquBgBT36nAFRpM4tQki3JNZgFvTwQY6Pz-wiQx", + .url = "git+https://github.com/lightpanda-io/zenai.git#b3386fde741d3d9f76674e4706ac1db27923c855", + .hash = "zenai-0.0.0-iOY_VJEhBwBj9qGuHOtw1TdQw0aiIbOZhXlybkSqhXKs", }, .isocline = .{ .url = "git+https://github.com/arrufat/isocline#4a99434bee4a5ed04c1639514224d48cd55e1405", diff --git a/src/agent/settings.zig b/src/agent/settings.zig index 8c6d00b9e..817d6ca78 100644 --- a/src/agent/settings.zig +++ b/src/agent/settings.zig @@ -31,7 +31,7 @@ const string = @import("../string.zig"); const auth = @import("auth/auth.zig"); const Candidate = zenai.provider.Candidate; -pub const api_keys_hint = "ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, HF_TOKEN, AI_GATEWAY_API_KEY, MISTRAL_API_KEY, OPENROUTER_API_KEY, or ORCAROUTER_API_KEY (Vertex AI: VERTEX_API_KEY, or GOOGLE_CLOUD_PROJECT via gcloud; Codex: a ChatGPT subscription via /provider codex)"; +pub const api_keys_hint = "ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, HF_TOKEN, AI_GATEWAY_API_KEY, MISTRAL_API_KEY, or OPENROUTER_API_KEY (Vertex AI: VERTEX_API_KEY, or GOOGLE_CLOUD_PROJECT via gcloud; Codex: a ChatGPT subscription via /provider codex)"; /// Determine which provider to use and read its env key. Returns null /// only when no `--provider` was given AND no env key exists (the caller diff --git a/src/help.zon b/src/help.zon index 85a0c78c8..91f19b734 100644 --- a/src/help.zon +++ b/src/help.zon @@ -266,8 +266,8 @@ \\ The AI provider. When omitted, lightpanda auto-detects an API \\ key from your environment (ANTHROPIC_API_KEY, OPENAI_API_KEY, \\ GOOGLE_API_KEY/GEMINI_API_KEY, HF_TOKEN, AI_GATEWAY_API_KEY, - \\ MISTRAL_API_KEY, OPENROUTER_API_KEY, ORCAROUTER_API_KEY, - \\ VERTEX_API_KEY). With exactly one key set: + \\ MISTRAL_API_KEY, OPENROUTER_API_KEY, VERTEX_API_KEY). With + \\ exactly one key set: \\ that provider is used. With multiple keys on a TTY: you'll be \\ prompted to pick; in non-interactive contexts, pass --provider \\ explicitly. With no keys set: falls back to the basic REPL @@ -288,8 +288,8 @@ \\ subscription (OAuth) instead of an API key. \\ \\ Allowed values: "anthropic", "openai", "gemini", "huggingface", - \\ "vercel", "mistral", "openrouter", "orcarouter", - \\ "ollama", "llama_cpp", "vertex", "codex", + \\ "vercel", "mistral", "openrouter", "ollama", + \\ "llama_cpp", "vertex", "codex", \\ "openai_compatible". \\ In the REPL, use /provider to list and change providers. \\ --save