Mibayy
b0b7ff0d75
fix(provider): auto+base_url bypasses cloud API when custom endpoint configured ( #3846 )
...
When config.yaml has `provider: auto` and a non-cloud `base_url` (e.g. Ollama
at localhost:11434), requests were silently sent to https://api.anthropic.com
whenever ANTHROPIC_API_KEY was present in the environment, ignoring the
configured local endpoint and returning HTTP 401 / "credit balance too low".
Root cause: resolve_provider("auto") scans env vars and returns "anthropic"
when ANTHROPIC_API_KEY is set, before config.model.base_url is ever consulted.
In resolve_runtime_provider(), before calling resolve_provider(), short-circuit
to the OpenAI-compatible resolver when no explicit creds were passed, provider
is "auto"/unset, and a non-cloud base_url is configured. Well-known cloud roots
(openrouter.ai, anthropic.com, openai.com) are matched on HOST (not substring)
so look-alike hosts can't evade the bypass and leak a cloud credential.
Co-authored-by: Hermes Agent <hermes@nousresearch.com >
2026-06-28 15:11:55 -07:00
..
2026-06-26 19:15:18 -07:00
2026-06-28 15:10:21 -07:00
2026-06-23 10:32:27 -07:00
2026-06-28 04:16:25 -07:00
2026-06-22 09:57:16 -07:00
2026-06-27 22:52:29 -07:00
2026-06-28 17:06:26 +10:00
2026-06-20 10:26:45 -07:00
2026-06-02 12:37:40 -04:00
2026-06-28 15:10:39 -07:00
2026-06-28 15:11:55 -07:00
2026-06-25 16:29:09 -07:00
2026-06-22 19:16:47 -05:00
2026-06-06 11:46:24 -07:00
2026-06-24 18:53:49 +05:30
2026-06-28 02:41:52 -07:00
2026-06-16 13:09:40 -07:00
2026-06-28 02:05:20 -07:00
2026-06-27 15:59:00 -07:00
2026-06-22 12:14:30 -07:00
2026-05-28 22:26:25 -07:00
2026-06-28 14:33:03 -07:00
2026-06-28 04:34:55 -07:00
2026-06-01 19:52:28 -07:00
2026-06-19 07:46:33 -07:00
2026-06-15 11:55:02 -04:00
2026-06-13 14:50:05 -07:00
2026-05-28 22:26:25 -07:00
2026-06-06 18:33:44 -07:00
2026-05-28 22:26:25 -07:00
2026-06-24 04:16:54 +05:30
2026-05-28 22:26:25 -07:00
2026-06-19 18:06:38 -04:00
2026-06-21 12:09:16 -07:00
2026-06-17 18:48:35 -05:00
2026-06-03 07:32:00 +07:00
2026-06-14 00:27:59 -04:00
2026-06-05 02:54:34 -07:00
2026-06-10 17:37:34 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-06-08 06:32:42 -07:00
2026-06-27 15:59:00 -07:00
2026-06-28 13:49:08 -07:00
2026-06-20 10:26:45 -07:00
2026-05-28 21:40:39 -07:00
2026-05-27 14:31:55 -07:00
2026-06-28 15:10:39 -07:00
2026-06-08 09:35:22 -07:00
2026-05-29 22:29:48 -07:00
2026-06-01 20:13:42 -07:00
2026-06-25 23:49:11 -07:00
2026-06-08 02:18:21 -07:00
2026-06-18 22:11:35 +05:30
2026-06-23 21:33:08 -07:00
2026-06-18 16:26:34 +07:00
2026-06-28 03:58:01 -07:00
2026-06-18 14:14:41 +10:00
2026-06-26 20:10:20 +05:30
2026-05-28 22:26:25 -07:00
2026-06-25 23:49:11 -07:00
2026-05-28 22:26:25 -07:00
2026-06-24 23:51:31 +05:30
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-06-09 23:22:10 -07:00
2026-05-28 22:26:25 -07:00
2026-06-04 18:04:47 -07:00
2026-06-25 13:52:06 -07:00
2026-05-28 22:26:25 -07:00
2026-06-09 03:17:12 -07:00
2026-06-18 09:16:40 -07:00
2026-05-28 22:26:25 -07:00
2026-06-08 09:35:22 -07:00
2026-05-28 22:26:25 -07:00
2026-06-08 12:11:54 -07:00
2026-06-25 00:17:17 -07:00
2026-06-27 22:43:26 -07:00
2026-06-26 19:15:18 -07:00
2026-06-08 07:03:12 -07:00
2026-06-24 04:16:54 +05:30
2026-06-25 21:18:41 -07:00
2026-06-14 03:20:21 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-06-07 05:01:27 -07:00
2026-06-03 06:36:46 -07:00
2026-06-28 02:35:01 -07:00
2026-06-25 12:29:49 -05:00
2026-06-28 04:34:55 -07:00
2026-06-28 04:14:12 -07:00
2026-06-18 05:41:23 -07:00
2026-06-23 23:43:24 -07:00
2026-06-03 12:00:27 -07:00
2026-06-28 13:49:08 -07:00
2026-06-25 23:27:44 +05:30
2026-05-28 22:26:25 -07:00
2026-06-12 02:06:47 -07:00
2026-05-28 22:26:25 -07:00
2026-06-07 17:49:38 -07:00