Skip to content

feat: add Ollama local LLM support alongside Gemini#16

Open
ashishpatel26 wants to merge 1 commit into
TechyCSR:mainfrom
ashishpatel26:feature/ollama-support
Open

feat: add Ollama local LLM support alongside Gemini#16
ashishpatel26 wants to merge 1 commit into
TechyCSR:mainfrom
ashishpatel26:feature/ollama-support

Conversation

@ashishpatel26
Copy link
Copy Markdown

Introduces a pluggable LLM provider system so users can run the app fully offline using a local Ollama server instead of Google Gemini.

  • Add src/services/gemini.service.js (extracted Gemini implementation)
  • Add src/services/ollama.service.js (Ollama /api/chat client with vision support for screenshot analysis and conversation history)
  • Convert src/services/llm.service.js into a dynamic provider router that delegates to gemini or ollama based on LLM_PROVIDER env var / runtime config — no restart required when switching
  • Extend src/core/config.js with llm.provider and llm.ollama config block
  • Add LLM_PROVIDER, OLLAMA_BASE_URL, OLLAMA_MODEL, OLLAMA_VISION_MODEL to env.example
  • Add "AI Provider" selector and Ollama settings section to settings.html; Gemini/Ollama panels toggle based on selection
  • Wire up new IPC handlers in main.js: get/set-llm-provider, get-ollama-status, test-ollama-connection
  • Expose new IPC methods in preload.js

Introduces a pluggable LLM provider system so users can run the app
fully offline using a local Ollama server instead of Google Gemini.

- Add src/services/gemini.service.js (extracted Gemini implementation)
- Add src/services/ollama.service.js (Ollama /api/chat client with vision
  support for screenshot analysis and conversation history)
- Convert src/services/llm.service.js into a dynamic provider router that
  delegates to gemini or ollama based on LLM_PROVIDER env var / runtime
  config — no restart required when switching
- Extend src/core/config.js with llm.provider and llm.ollama config block
- Add LLM_PROVIDER, OLLAMA_BASE_URL, OLLAMA_MODEL, OLLAMA_VISION_MODEL to
  env.example
- Add "AI Provider" selector and Ollama settings section to settings.html;
  Gemini/Ollama panels toggle based on selection
- Wire up new IPC handlers in main.js: get/set-llm-provider,
  get-ollama-status, test-ollama-connection
- Expose new IPC methods in preload.js

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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