Skip to content

feat: multi-provider LLM architecture (Provider trait, registry, fallback, /models redesign)#45

Merged
chinkan merged 10 commits into
mainfrom
feat/readme-improve-multi-session-brainstorm
Jun 30, 2026
Merged

feat: multi-provider LLM architecture (Provider trait, registry, fallback, /models redesign)#45
chinkan merged 10 commits into
mainfrom
feat/readme-improve-multi-session-brainstorm

Conversation

@chinkan

@chinkan chinkan commented Jun 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Provider trait + registry: New src/provider.rs with Provider trait, ProviderRegistry, and ProviderConfig — resolves provider/model strings to the correct provider
  • Three provider implementations: OpenRouterProvider (with Kimi tool-call fallback + param sanitization), OpenAICompatibleProvider (generic LM Studio/vLLM/llama.cpp), OllamaProvider (delegates chat to OpenAI-compatible, custom /api/tags discovery)
  • Config extensibility: New [[provider]] TOML sections, [fallback] chain, backward-compat auto-synthesis from legacy [openrouter] section
  • LlmClient refactor: Now a thin routing layer over ProviderRegistry — no direct config dependency
  • Agent integration: Fallback chain in process_message loop, per-provider supports_vision flag, set_model persists to correct TOML section
  • /models redesign: Multi-step inline keyboard flow — provider selection → model discovery/selection with qualified IDs (e.g., ollama/llama3.1)
  • docs: [[provider]] and [fallback] examples in config.example.toml
  • Tests: 14 provider registry + 5 config backward-compat tests (393 total pass)

Test Plan

  • cargo check — clean
  • cargo clippy -- -D warnings — clean
  • cargo test — 393 unit + 16 integration, 0 failures

@chinkan chinkan force-pushed the feat/readme-improve-multi-session-brainstorm branch from b369834 to 5b81d42 Compare June 17, 2026 16:14
@chinkan chinkan force-pushed the feat/readme-improve-multi-session-brainstorm branch from 5b81d42 to 4bad1de Compare June 17, 2026 16:20
@chinkan chinkan changed the title docs: improve README self-upgrade/model-switching + multi-session brainstorming roadmap feat: multi-provider LLM architecture (Provider trait, registry, fallback, /models redesign) Jun 23, 2026
@chinkan chinkan force-pushed the feat/readme-improve-multi-session-brainstorm branch from 38cc8e2 to 42aba59 Compare June 23, 2026 01:44
@chinkan chinkan marked this pull request as ready for review June 29, 2026 08:31
@chinkan chinkan merged commit 22c984e into main Jun 30, 2026
5 checks passed
@chinkan chinkan deleted the feat/readme-improve-multi-session-brainstorm branch June 30, 2026 00:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant