-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Adding the auto-detection of ollama local with a variable for baseURL #3726
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
772b621 to
eb855e1
Compare
|
@rekram1-node I know you have alot to look at and review just wanted to give this a bump when someone has a chance. I introduced a var OLLAMA_BASE_URL to have provider automatically detect ollama models. |
|
Ill try to give it more throughout review today |
|
Title is misleading I realize. It is really just a var that allows you to automatically see all your models from a local server or your choice from ollama. |
f1dc981 to
3e15a39
Compare
f8ee907 to
6a9856d
Compare
|
@rekram1-node updated and fixed merge conflicts. Take a look and see if this is something you want or need in opencode. |
Auto detect models with just an env var:
The implementation now follows all coding guidelines:
Key Implementation Details
Provider Detection (provider.ts:230-294):
ollama: async (provider) => {
// 1. Detect server URL (env var or fallbacks)
const envUrl = process.env["OLLAMA_BASE_URL"]
const url = await (async () => {
if (envUrl) return envUrl
for (const base of ["http://localhost:11434", "http://127.0.0.1:11434"]) {
const ok = await fetch(
${base}/api/tags, { signal: AbortSignal.timeout(1000) }).then((r) => r.ok)
.catch(() => false)
if (ok) return base
}
return null
})()
}
Database Setup (provider.ts:411-423):
Features
✅ Zero-configuration - Works without any config file
✅ Automatic model discovery - Fetches all models from /api/tags
✅ Remote server support - Via OLLAMA_BASE_URL environment variable
✅ Fallback detection - Tries localhost and 127.0.0.1 automatically
✅ Custom configuration - Optional override for display names and settings
Documentation (providers.mdx:560-643)
Testing Verified ✅
Tested with your remote Ollama server at http://192.168.2.26:11434: