Skip to content

Conversation

@bartbroere
Copy link

@bartbroere bartbroere commented Jan 18, 2026

What does this PR do?

There are several issues and pull requests (#8860 #4959 #8830 #8814 #8642 #7313) that discuss the issue that the models.dev domain can't be reached in offline environments. Even if you would use a local Ollama instance, the project tries to fetch https://models.dev/api.json.

The solution I propose is making the models.dev URL configurable, so you can use something in your local network to host the api.json file. A typical corporate environment might have products like Sonatype Nexus Repository that allow for proxying of specific files on the internet. It would be nice if a MODELS_DEV_URL could be configured to contain the path to an internal host with the right files.

How did you verify your code works?

I put my computer in airplane mode, configured the MODELS_DEV_URL environment variable to http://localhost:8000/, ran python3 -m http.server in a directory with api.json, and tried to use a local model.

Fixes: #7313

@github-actions
Copy link
Contributor

Hey! Your PR title Make the models.dev domain configurable for offline environments doesn't follow conventional commit format.

Please update it to start with one of:

  • feat: or feat(scope): new feature
  • fix: or fix(scope): bug fix
  • docs: or docs(scope): documentation changes
  • chore: or chore(scope): maintenance tasks
  • refactor: or refactor(scope): code refactoring
  • test: or test(scope): adding or updating tests

Where scope is the package name (e.g., app, desktop, opencode).

See CONTRIBUTING.md for details.

@bartbroere bartbroere changed the title Make the models.dev domain configurable for offline environments FEAT: Make the models.dev domain configurable for offline environments Jan 18, 2026
@github-actions
Copy link
Contributor

The following comment was made by an LLM, it may be inaccurate:

No duplicate PRs found

@bartbroere bartbroere changed the title FEAT: Make the models.dev domain configurable for offline environments feat: Make the models.dev domain configurable for offline environments Jan 18, 2026
@github-actions
Copy link
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

return JSON.parse(json) as Record<string, Provider>
}
const json = await fetch("https://models.dev/api.json").then((x) => x.text())
const url = Bun.env.MODELS_DEV_URL || "https://models.dev"
Copy link
Collaborator

Choose a reason for hiding this comment

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

can we have a single definition somewhere so we dont need the || everywhere?

Copy link
Collaborator

Choose a reason for hiding this comment

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

perhaps global or flag?

Copy link
Author

Choose a reason for hiding this comment

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

That does sound cleaner, I will look how other configurable things that can be overridden in environment variables handle this in the project.

Maybe the "env-or-constant" approach skips some other places where things can be configured.

@Moler1995
Copy link

Would it be possible to support file:///path/to/api.json? So I can download or define my own api.json file.

@bartbroere
Copy link
Author

Would it be possible to support file:///path/to/api.json? So I can download or define my own api.json file.

I think that is supported by bun, but I'll try to figure out if it actually works:
https://bun.com/docs/runtime/networking/fetch#file-urls-file://

In your example MODELS_DEV_URL would be file:///path/to/

@Moler1995
Copy link

Would it be possible to support file:///path/to/api.json? So I can download or define my own api.json file.

I think that is supported by bun, but I'll try to figure out if it actually works: https://bun.com/docs/runtime/networking/fetch#file-urls-file://

In your example MODELS_DEV_URL would be file:///path/to/

Great! Thanks a lot~

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.

Does OpenCode Require Internet APIs?

3 participants