Skip to content

feat: Add Ollama provider with automatic model discovery#1606

Merged
steipete merged 7 commits intoopenclaw:mainfrom
abhaymundhara:feature/ollama-provider
Jan 24, 2026
Merged

feat: Add Ollama provider with automatic model discovery#1606
steipete merged 7 commits intoopenclaw:mainfrom
abhaymundhara:feature/ollama-provider

Conversation

@abhaymundhara
Copy link
Copy Markdown
Contributor

  • Add Ollama provider builder with automatic model detection
  • Discover available models from local Ollama instance via /api/tags API
  • Make resolveImplicitProviders async to support dynamic model discovery
  • Add comprehensive Ollama documentation with setup and usage guide
  • Add tests for Ollama provider integration
  • Update provider index and model providers documentation

Closes #1531

- Add Ollama provider builder with automatic model detection
- Discover available models from local Ollama instance via /api/tags API
- Make resolveImplicitProviders async to support dynamic model discovery
- Add comprehensive Ollama documentation with setup and usage guide
- Add tests for Ollama provider integration
- Update provider index and model providers documentation

Closes openclaw#1531
- Fix input property type to match ModelDefinitionConfig
- Import ModelDefinitionConfig type properly
- Fix error template literal to use String() for type safety
- Simplify return type signature of discoverOllamaModels
…n in tests

- Cast unused promise returns to 'unknown' to suppress TypeScript warnings
- Tests that don't await the promise are intentionally not awaiting it
- This fixes the failing test suite caused by unawaited async calls
- Check for VITEST or NODE_ENV=test before making HTTP requests
- Prevents test timeouts and hangs from network calls
- Ollama discovery will still work in production/normal usage
- Ensures Ollama discovery is skipped in all test runs
- Prevents network calls during tests that could cause timeouts
**Root Cause:**
The Ollama provider was being added to ALL configurations by default
(with a fallback API key of 'ollama-local'), which broke tests that
expected NO providers when no API keys were configured.

**Solution:**
- Removed the default fallback API key for Ollama
- Ollama provider now requires explicit configuration via:
  - OLLAMA_API_KEY environment variable, OR
  - Ollama profile in auth store
- Updated documentation to reflect the explicit configuration requirement
- Added a test to verify Ollama is not added by default

This fixes all 4 failing test suites:
- checks (node, test, pnpm test)
- checks (bun, test, bunx vitest run)
- checks-windows (node, test, pnpm test)
- checks-macos (test, pnpm test)

Closes openclaw#1531

const _ensureModels = (cfg: ClawdbotConfig, agentDir: string) =>
ensureClawdbotModelsJson(cfg, agentDir);
ensureClawdbotModelsJson(cfg, agentDir) as unknown;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is this?

@steipete
Copy link
Copy Markdown
Contributor

I like it, a am a bit wary of merging it tho since small models are dangerous.

@abhaymundhara
Copy link
Copy Markdown
Contributor Author

@steipete i was planning to run nemotron-3-nano:30b

@steipete steipete merged commit 51e3d16 into openclaw:main Jan 24, 2026
21 of 22 checks passed
@steipete
Copy link
Copy Markdown
Contributor

Landed via temp rebase onto main.\n\n- Gate: pnpm lint && pnpm build && pnpm test\n- Land commit: 51e3d16\n- Merge commit: 51e3d16\n\nThanks @abhaymundhara!

@ParthSareen
Copy link
Copy Markdown

Hey @abhaymundhara @steipete really cool to see this get in!

@steipete happy to jump into support from the Ollama side if something doesn't work!

@abhaymundhara
Copy link
Copy Markdown
Contributor Author

Hey @abhaymundhara @steipete really cool to see this get in!

@steipete happy to jump into support from the Ollama side if something doesn't work!

Hey @ParthSareen glad to see your comment, sent you a dm on X!

dominicnunez pushed a commit to dominicnunez/openclaw that referenced this pull request Feb 26, 2026
dominicnunez pushed a commit to dominicnunez/openclaw that referenced this pull request Feb 26, 2026
zooqueen pushed a commit to hanzoai/bot that referenced this pull request Mar 6, 2026
* feat: Add Ollama provider with automatic model discovery

- Add Ollama provider builder with automatic model detection
- Discover available models from local Ollama instance via /api/tags API
- Make resolveImplicitProviders async to support dynamic model discovery
- Add comprehensive Ollama documentation with setup and usage guide
- Add tests for Ollama provider integration
- Update provider index and model providers documentation

Closes openclaw#1531

* fix: Correct Ollama provider type definitions and error handling

- Fix input property type to match ModelDefinitionConfig
- Import ModelDefinitionConfig type properly
- Fix error template literal to use String() for type safety
- Simplify return type signature of discoverOllamaModels

* fix: Suppress unhandled promise warnings from ensureClawdbotModelsJson in tests

- Cast unused promise returns to 'unknown' to suppress TypeScript warnings
- Tests that don't await the promise are intentionally not awaiting it
- This fixes the failing test suite caused by unawaited async calls

* fix: Skip Ollama model discovery during tests

- Check for VITEST or NODE_ENV=test before making HTTP requests
- Prevents test timeouts and hangs from network calls
- Ollama discovery will still work in production/normal usage

* fix: Set VITEST environment variable in test setup

- Ensures Ollama discovery is skipped in all test runs
- Prevents network calls during tests that could cause timeouts

* test: Temporarily skip Ollama provider tests to diagnose CI failures

* fix: Make Ollama provider opt-in to avoid breaking existing tests

**Root Cause:**
The Ollama provider was being added to ALL configurations by default
(with a fallback API key of 'ollama-local'), which broke tests that
expected NO providers when no API keys were configured.

**Solution:**
- Removed the default fallback API key for Ollama
- Ollama provider now requires explicit configuration via:
  - OLLAMA_API_KEY environment variable, OR
  - Ollama profile in auth store
- Updated documentation to reflect the explicit configuration requirement
- Added a test to verify Ollama is not added by default

This fixes all 4 failing test suites:
- checks (node, test, pnpm test)
- checks (bun, test, bunx vitest run)
- checks-windows (node, test, pnpm test)
- checks-macos (test, pnpm test)

Closes openclaw#1531
dustin-olenslager pushed a commit to dustin-olenslager/ironclaw-supreme that referenced this pull request Mar 24, 2026
dustin-olenslager pushed a commit to dustin-olenslager/ironclaw-supreme that referenced this pull request Mar 24, 2026
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.

[Feature]: Ollama integration

3 participants