Skip to content

feat(providers): add live Ollama model search and smart recommendations - #552

Merged
8nevil8 merged 1 commit into
mainfrom
feat/ollama-live-model-search
Sep 10, 2026
Merged

feat(providers): add live Ollama model search and smart recommendations#552
8nevil8 merged 1 commit into
mainfrom
feat/ollama-live-model-search

Conversation

@8nevil8

@8nevil8 8nevil8 commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

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

  • Add a "🔍 Search Ollama library..." option to the setup wizard (ollama.setup-steps.ts searchModel) that scrapes ollama.com/search and ollama.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.
  • Drop the static recommendedModels/modelMetadata list in ollama.template.ts in favor of live data (installed models + cloud catalog).
  • Add 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.5 is the most downloaded, but qwen3.8 — the newest — is what gets recommended), ranked by real download count, capped at the top 3.
  • Add ProviderSetupSteps.searchModel / getRecommendedModels as optional hooks (types.ts) and thread them through the generic picker (setup.ts, setup-ui.ts) without changing behavior for other providers.

Testing

  • Tests added/updated — not requested; verified manually instead (see below)
  • Manual testing done — searchOllamaLibrary/listOllamaModelTags/getOllamaModelDetails/getRecommendedModels exercised live against the real ollama.com API and a local Ollama daemon; confirmed the lineage-aware ranking picks qwen3.8:27b over the more-downloaded-but-older qwen3.5:397b, matching independently-verified raw download counts.

Checklist

  • Code follows project standards
  • CI is green (npm run ci) — lint, typecheck, and pre-commit hooks (lint-staged, typecheck, gitleaks) all passed locally
  • No merge conflicts with main

https://claude.ai/code/session_016XgBpY7rjRxAkaTbWpKcMp

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
@8nevil8
8nevil8 merged commit 5409260 into main Sep 10, 2026
5 checks passed
@8nevil8
8nevil8 deleted the feat/ollama-live-model-search branch September 10, 2026 15:59
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.

3 participants