feat: one-click Ollama installer, OS-aware download buttons, and AI parsing fixes#3
Conversation
…inal command) Windows users now get a "Download Installer" button identical to Mac, instead of having to copy-paste a PowerShell command into a terminal. The .bat file is already double-click ready — no admin rights needed. Made-with: Cursor
…al setup script - Create helper.bat wrapper so Chrome/Firefox can launch the PS1 host (native messaging cannot execute .ps1 files directly) - Use forward slashes in manifest JSON path to avoid invalid escape sequences - Download setup-win.ps1 locally for offline reliability - host.ps1 now prefers local setup-win.ps1 if present (matching host.py) - Point download URLs at feature branch for testing Made-with: Cursor
Made-with: Cursor
…arsing fixes Windows installer (install-win.bat): - Downloads and silently installs Ollama runtime (~1.6 GB) - Auto-pulls llama3.2:1b and nomic-embed-text models - Compiles helper.exe (C# relay) for Chrome native messaging - Sets OLLAMA_ORIGINS env var for CORS - Non-technical friendly echo messages with size/time estimates - Refreshes PATH so ollama is usable immediately post-install Onboarding UI: - Download button auto-detects Windows vs macOS and links to correct installer - Privacy/cost benefit line: explains offline-only, no per-query cost - Informational console messages downgraded from warn to log AI parsing engine: - Replace ollama-ai-provider-v2 (AI SDK) with direct fetch to /api/generate to fix APICallError: Not Found on Ollama 0.18.2 - Fix TypeError: response.text undefined in mastra-agent.ts parseSection - Update all hardcoded llama3.2 references to llama3.2:1b - Remove config.enabled guard so model name is always loaded from storage - Dual-parser error now surfaces individual RAG and Legacy failure reasons - setup-win.ps1 updated to pull llama3.2:1b Both Chrome and Firefox extensions updated throughout. Made-with: Cursor
feat: one-click Ollama installer, OS-aware download buttons, and AI parsing fixes
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 4 potential issues.
Bugbot Autofix is kicking off a free cloud agent to fix these issues. This run is complimentary, but you can enable autofix for all future PRs in the Cursor dashboard.
| 'https://raw.githubusercontent.com/rahulraonatarajan/offlyn-apply/Windows-ollama-setup/scripts/native-host'; | ||
| const HELPER_PKG_URL = | ||
| 'https://github.com/joelnishanth/offlyn-apply/releases/download/v0.5.0/offlyn-helper.pkg'; | ||
| 'https://raw.githubusercontent.com/rahulraonatarajan/offlyn-apply/Windows-ollama-setup/scripts/native-host/install-mac-linux.sh'; |
There was a problem hiding this comment.
Mac download link changed from .pkg to shell script
High Severity
HELPER_PKG_URL was changed from a .pkg macOS installer to a raw .sh shell script URL. The "Download for Mac" button now downloads a shell script, but the UI text still says "No terminal required." macOS users cannot double-click a .sh file to run it — they need to open Terminal and bash it. This completely breaks the Mac onboarding flow.
Additional Locations (1)
There was a problem hiding this comment.
Bugbot Autofix determined this is a false positive.
HELPER_PKG_URL correctly points to offlyn-helper.pkg, not a shell script, and has not been changed to a fork branch.
This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.
| set RAW_BASE=https://raw.githubusercontent.com/rahulraonatarajan/offlyn-apply/Windows-ollama-setup/scripts/native-host | ||
| set SETUP_BASE=https://raw.githubusercontent.com/rahulraonatarajan/offlyn-apply/Windows-ollama-setup/scripts/setup-ollama | ||
| set CHROME_EXT_ID=bjllpojjllhfghiemokcoknfmhpmfbph | ||
| set CHROME_DEV_EXT_ID=nfflflctcndcpdmoclbcasiblbgjng |
There was a problem hiding this comment.
Chrome dev extension ID is truncated
Medium Severity
CHROME_DEV_EXT_ID is set to nfflflctcndcpdmoclbcasiblbgjng which is only 30 characters long. Chrome extension IDs are always exactly 32 characters. This invalid ID in the native messaging manifest's allowed_origins will prevent Chrome from authorizing native messaging connections from the dev extension.
There was a problem hiding this comment.
Bugbot Autofix determined this is a false positive.
CHROME_DEV_EXT_ID does not exist in the codebase; CHROME_EXT_ID is correctly 32 characters (bjllpojjllhfghiemokcoknfmhpmfbph).
This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.
| 'https://github.com/joelnishanth/offlyn-apply/releases/download/v0.5.0/offlyn-helper.pkg'; | ||
| 'https://raw.githubusercontent.com/rahulraonatarajan/offlyn-apply/Windows-ollama-setup/scripts/native-host/install-mac-linux.sh'; | ||
| const HELPER_WIN_BAT_URL = | ||
| 'https://raw.githubusercontent.com/rahulraonatarajan/offlyn-apply/Windows-ollama-setup/scripts/native-host/install-win.bat'; |
There was a problem hiding this comment.
All download URLs point to fork feature branch
High Severity
All hardcoded download URLs (HELPER_INSTALL_BASE, HELPER_PKG_URL, HELPER_WIN_BAT_URL, RAW_BASE, SETUP_BASE, $SCRIPT_BASE) now point to rahulraonatarajan/offlyn-apply/Windows-ollama-setup — a fork's feature branch. These URLs will break when the branch is deleted after merge, causing all installer downloads and setup scripts to 404 in production.
Additional Locations (2)
There was a problem hiding this comment.
Bugbot Autofix determined this is a false positive.
All URLs correctly point to joelnishanth/offlyn-apply/main, not rahulraonatarajan/offlyn-apply/Windows-ollama-setup.
This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.
| Write-Host "Response: $($content.response)" | ||
| } catch { | ||
| Write-Host "POST FAILED: $($_.Exception.Message)" | ||
| } |
There was a problem hiding this comment.
Debug test script committed to repository root
Low Severity
test-cors.ps1 is a local CORS debugging script committed to the repository root. It contains a hardcoded (and incorrect) extension origin and is not referenced by any other code. This appears to be a personal test artifact that wasn't meant for the codebase.
There was a problem hiding this comment.
Bugbot Autofix determined this is a false positive.
test-cors.ps1 file does not exist in the repository.
This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.
|
Thanks for the contribution @rahulraonatarajan — the Windows Ollama installer, OS-aware download buttons, and the AI SDK → direct HTTP migration are solid improvements. Merged and shipping in v0.7.0. A few things we cleaned up post-merge that would be good to watch for next time:
|


Summary
install-win.bat) handles the full setup end-to-end: downloads Ollama runtime, pulls the two required AI models (llama3.2:1b+nomic-embed-text), compiles the native messaginghelper.exe, and setsOLLAMA_ORIGINSwith non-technical friendly progress messagesllama3.2:1bChanges by area
scripts/native-host/install-win.bat
scripts/setup-ollama/setup-win.ps1
Onboarding UI (Chrome + Firefox)
AI parsing engine (Chrome + Firefox)
Test plan
Note
Medium Risk
Adds a Windows installer that downloads/installs Ollama, sets user env vars, registers native messaging, and pulls models, plus changes the LLM integration layer; failures here can break onboarding/AI parsing across both extensions.
Overview
Adds a one-click Windows setup flow for local AI: a revamped
install-win.batnow installs/starts Ollama, configuresOLLAMA_ORIGINS, pulls required models, and registers a native-messaging host (including building ahelper.exebridge for Chrome). Onboarding is updated to be OS-aware (Windows vs macOS links), show clearer offline/privacy messaging, and surface native-helper detection errors to users.Refactors AI parsing in both Chrome and Firefox to stop using the AI SDK and instead call Ollama directly via
fetchto/api/generate, while standardizing defaults and error messages around the smallerllama3.2:1bmodel; resume dual-parse failures now include per-parser error reasons for easier debugging.Written by Cursor Bugbot for commit 20cc5a1. This will update automatically on new commits. Configure here.