feat(providers): add live Ollama model search and smart recommendations - #552
Merged
Conversation
Setup previously offered only a small hardcoded model list plus whatever was already installed or in ollama.com's narrow cloud catalog, so real models (e.g. qwen3.8:27b) never appeared regardless of API key. - Add a "Search Ollama library..." option that scrapes ollama.com/search and /library/<model>/tags (no public API exists) to find and install any model in Ollama's full library, with a variant/size picker. - Drop the static recommendedModels/modelMetadata list in favor of live data: installed models + the cloud catalog, enriched on demand. - Compute "recommended" dynamically instead: models that fit this machine's memory, support tool/function-calling, grouped by lineage so an older release's download lead doesn't bury its own newer version (e.g. qwen3.5 is more downloaded, but qwen3.8 - the newest - is what gets recommended), capped at the top 3. - Add ProviderSetupSteps.searchModel/getRecommendedModels as optional hooks so other providers are unaffected. Generated with AI Co-Authored-By: codemie-ai <codemie.ai@gmail.com> Claude-Session: https://claude.ai/code/session_016XgBpY7rjRxAkaTbWpKcMp
vadimvlasenko
approved these changes
Sep 10, 2026
elluvium
approved these changes
Sep 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ollama setup previously offered only a small hardcoded model list plus whatever was already installed or in ollama.com's narrow ~19-model cloud catalog, so real, installable models (e.g.
qwen3.8:27b) never appeared in the picker regardless of a configured API key. This adds live search against Ollama's actual model library and replaces the static "recommended" list with a dynamically computed one.Changes
ollama.setup-steps.tssearchModel) that scrapesollama.com/searchandollama.com/library/<model>/tags(Ollama has no public JSON API) to find and install any model in the full library, with a size/variant picker.recommendedModels/modelMetadatalist inollama.template.tsin favor of live data (installed models + cloud catalog).getRecommendedModels: marks up to 3 models as recommended based on live signals instead of a hardcoded list — fits this machine's memory, supports tool/function-calling (required by most coding agents), grouped by model lineage so an older release's accumulated downloads don't bury its own newer version (e.g.qwen3.5is the most downloaded, butqwen3.8— the newest — is what gets recommended), ranked by real download count, capped at the top 3.ProviderSetupSteps.searchModel/getRecommendedModelsas optional hooks (types.ts) and thread them through the generic picker (setup.ts,setup-ui.ts) without changing behavior for other providers.Testing
searchOllamaLibrary/listOllamaModelTags/getOllamaModelDetails/getRecommendedModelsexercised live against the realollama.comAPI and a local Ollama daemon; confirmed the lineage-aware ranking picksqwen3.8:27bover the more-downloaded-but-olderqwen3.5:397b, matching independently-verified raw download counts.Checklist
npm run ci) — lint, typecheck, and pre-commit hooks (lint-staged, typecheck, gitleaks) all passed locallymainhttps://claude.ai/code/session_016XgBpY7rjRxAkaTbWpKcMp