opencode-ollama
v1.0.2
Published
Fetches Ollama models and configures them into OpenCode
Maintainers
Readme
OpenCode Ollama Plugin
Fetches Ollama models and configures them into OpenCode.
Installation
npm install -g opencode-ollamaOr with Bun:
bun install -g opencode-ollamaUsage
Configuration
Create a config.json file in the project root (optional):
# Copy example config
cp config.json.example config.json
# Then edit base_url if needed (default: http://localhost:11434){
"base_url": "http://localhost:11434"
}If no config file exists, the plugin defaults to http://localhost:11434.
Running
Using the CLI:
opencode-ollamaOr run directly with Bun:
bun run index.tsThe plugin will:
- Read the
base_urlfrom config.json (or use default) - Fetch models from Ollama's
/api/tagsendpoint - Transform models to OpenCode's expected format
- Write the configuration to
~/.opencode/models.json
Example Output
OpenCode Ollama Plugin - Syncing models...
Fetching models from http://localhost:11434...
Found 2 model(s):
- codellama:7b (text)
- qwen3:8b (text)
✓ Written 2 model(s) to /home/username/.opencode/models.json
✓ Sync complete!OpenCode Config Format
The generated ~/.opencode/models.json:
{
"models": [
{
"name": "codellama:7b",
"provider": "ollama",
"base_url": "http://localhost:11434",
"capabilities": ["text"],
"context_length": 32768
}
]
}Development
# Install dependencies
bun install
# Development (watch mode)
bun run dev
# Build
bun run build
# Build CLI executable
bun run build:cli
# Type checking
bun run type-checkPublishing
Manual Publish
bun publishThis will:
- Run type checking
- Build the project
- Publish to npm
Automated Publishing via CI
The project uses GitHub Actions for automated publishing to npm on tag pushes.
Setup:
- Go to GitHub repository Settings → Secrets and variables → Actions
- Create a new secret named
NPM_TOKEN - Use your npm access token (automation token recommended)
Release process:
# Update version in package.json
npm version patch|minor|major
# Create and push tag
git push origin --tags
# CI will automatically publish to npmTrigger: Pushing a tag matching v* (e.g., v1.0.0, v1.1.0)
Requirements
- Bun >= 1.0.0
- Ollama running locally (or accessible via configured
base_url) - Ollama with at least one downloaded model
License
MIT License - see LICENSE file for details.
