Files
dotfiles/common/opencode/work.json
T
connor b4bc5e1031 opencode: SearXNG search MCP, LSP tool, Gitea MCP in oc-local
searxng-mcp.py is a stdlib-only stdio MCP server with one web_search tool
against search.rcjohnstone.com. It is in both profiles and asks first on
oc-work.

lsp: true in opencode.json, and the launcher sets
OPENCODE_EXPERIMENTAL_LSP_TOOL and OPENCODE_DISABLE_LSP_DOWNLOAD.

The launcher adds gitea-mcp to oc-local through OPENCODE_CONFIG_CONTENT when
the binary and GITEA_MCP_TOKEN exist, limited to 15 tools.
gitea_issue_write asks.
2026-11-02 11:16:08 -05:00

190 lines
4.7 KiB
JSON

{
"$schema": "https://opencode.ai/config.json",
"provider": {
"litellm": {
"npm": "@ai-sdk/openai-compatible",
"name": "LiteLLM · WORK (local models)",
"options": {
"baseURL": "{env:LITELLM_BASE}/v1",
"apiKey": "{env:LITELLM_KEY}"
},
"models": {
"qwen3.8-flash-next-iq3s-med": {
"name": "Qwen3.8-Flash-Next IQ3_S (local Strata, medium reasoning)",
"limit": {
"context": 196608,
"output": 32768
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"qwen3.8-flash-next-iq3s": {
"name": "Qwen3.8-Flash-Next IQ3_S (local Strata, full reasoning - slow)",
"limit": {
"context": 196608,
"output": 32768
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"qwen3.8-flash-next": {
"name": "qwen3.8-flash-next (rented MI325X; run gi up on mainframe first)",
"limit": {
"context": 262144,
"output": 32768
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"qwen3-next-80b-128k": {
"name": "qwen3-next-80b (local, 128k agentic)",
"limit": {
"context": 131072,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"qwen3-next-80b": {
"name": "qwen3-next-80b (local, 32k)",
"limit": {
"context": 32768,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"gemma3-12b": {
"name": "gemma3-12b (local, on demand)",
"limit": {
"context": 32768,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"muse-glimmer-30b-low": {
"name": "Muse Glimmer 30B (local, low reasoning)",
"limit": {
"context": 131072,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
},
"muse-glimmer-30b": {
"name": "Muse Glimmer 30B (local, full reasoning - slow)",
"limit": {
"context": 131072,
"output": 8192
},
"cost": {
"input": 0.0,
"output": 0.0,
"cache_read": 0.0,
"cache_write": 0.0
}
}
}
}
},
"enabled_providers": [
"litellm"
],
"model": "litellm/qwen3.8-flash-next-iq3s-med",
"small_model": "litellm/qwen3.8-flash-next-iq3s-med",
"instructions": [
"~/.dotfiles/common/opencode/instructions/work.md"
],
"mcp": {
"searxng": {
"type": "local",
"command": ["python3", "{env:HOME}/.dotfiles/common/opencode/mcp/searxng-mcp.py"],
"enabled": true
}
},
"permission": {
"edit": "ask",
"webfetch": "ask",
"searxng_*": "ask",
"external_directory": "ask",
"read": {
"*": "allow",
"*.env": "ask",
"*.env.*": "ask",
"*.env.example": "allow"
},
"bash": {
"*": "ask",
"git status": "allow",
"git status *": "allow",
"git diff": "allow",
"git diff *": "allow",
"git log": "allow",
"git log *": "allow",
"git show": "allow",
"git show *": "allow",
"git branch": "allow",
"git branch --list*": "allow",
"git branch -a*": "allow",
"git branch -r*": "allow",
"git branch -v*": "allow",
"git blame *": "allow",
"git rev-parse *": "allow",
"git stash list": "allow",
"ls": "allow",
"ls *": "allow",
"pwd": "allow",
"cat *": "allow",
"head *": "allow",
"tail *": "allow",
"wc *": "allow",
"rg *": "allow",
"grep *": "allow",
"fd *": "allow",
"which *": "allow",
"file *": "allow",
"stat *": "allow",
"*>*": "ask",
"git * --output*": "ask",
"rg *--pre*": "ask",
"fd *-x *": "ask",
"fd *-X *": "ask",
"fd *--exec*": "ask"
}
},
"agent": {
"homelab": {
"disable": true
}
}
}