<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.comfac.net/index.php?action=history&amp;feed=atom&amp;title=OpenCode_Multi-Provider_Configuration_Guide_260401</id>
	<title>OpenCode Multi-Provider Configuration Guide 260401 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.comfac.net/index.php?action=history&amp;feed=atom&amp;title=OpenCode_Multi-Provider_Configuration_Guide_260401"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.comfac.net/index.php?title=OpenCode_Multi-Provider_Configuration_Guide_260401&amp;action=history"/>
	<updated>2026-06-05T09:19:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://mediawiki.comfac.net/index.php?title=OpenCode_Multi-Provider_Configuration_Guide_260401&amp;diff=213&amp;oldid=prev</id>
		<title>Justinaquino: &quot;Add OpenCode Multi-Provider Configuration Guide wiki entry&quot;</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.comfac.net/index.php?title=OpenCode_Multi-Provider_Configuration_Guide_260401&amp;diff=213&amp;oldid=prev"/>
		<updated>2026-03-31T16:40:51Z</updated>

		<summary type="html">&lt;p&gt;&amp;quot;Add OpenCode Multi-Provider Configuration Guide wiki entry&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= OpenCode Multi-Provider Configuration Guide =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Date:&amp;#039;&amp;#039;&amp;#039; 2026-04-01&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Author:&amp;#039;&amp;#039;&amp;#039; Justin / Comfac IT / CGG R&amp;amp;D &amp;amp; BD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Status:&amp;#039;&amp;#039;&amp;#039; 📋 Reference Configuration&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Related:&amp;#039;&amp;#039;&amp;#039; [[OpenCoder Qwen35 Agentic Setup 260330]], [[Project OpenCoder: AI Independence Initiative]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
This configuration enables a &amp;#039;&amp;#039;&amp;#039;dual-mode AI coding environment&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Cloud&amp;#039;&amp;#039;&amp;#039;: Kimi&amp;#039;s managed models (&amp;lt;code&amp;gt;kimi-for-coding&amp;lt;/code&amp;gt;) via Kimi API&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Local&amp;#039;&amp;#039;&amp;#039;: Multiple Qwen models via Ollama (running in Distrobox)&lt;br /&gt;
&lt;br /&gt;
{{mbox | type = warning | text = ⚠️ &amp;#039;&amp;#039;&amp;#039;Critical Note&amp;#039;&amp;#039;&amp;#039;: This setup runs inside a &amp;#039;&amp;#039;&amp;#039;Distrobox container&amp;#039;&amp;#039;&amp;#039; with a custom home directory mapping (non-standard &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; location). All paths in this config are relative to that mapped directory.}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Architecture Overview ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
┌─────────────────────────────────────────┐&lt;br /&gt;
│           MCP Client (Host)             │&lt;br /&gt;
│  ┌──────────────┐    ┌──────────────┐  │&lt;br /&gt;
│  │ Kimi Managed │    │ Local Ollama │  │&lt;br /&gt;
│  │  (Cloud API) │    │  (Container) │  │&lt;br /&gt;
│  └──────────────┘    └──────────────┘  │&lt;br /&gt;
└─────────────────────────────────────────┘&lt;br /&gt;
           │&lt;br /&gt;
    ┌──────┴──────┐&lt;br /&gt;
    ▼             ▼&lt;br /&gt;
[Claude]  [OpenCode]  [Aider]  [Qwen]&lt;br /&gt;
   MCP        MCP       MCP      MCP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Key Feature&amp;#039;&amp;#039;&amp;#039;: You can use &amp;#039;&amp;#039;&amp;#039;Kimi as an MCP server&amp;#039;&amp;#039;&amp;#039; to power other MCP clients (Claude Desktop, OpenCode, Aider, etc.) while leveraging local models.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Configuration Sections ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Default Behavior (&amp;lt;code&amp;gt;[defaults]&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default_model = &amp;quot;kimi-code/kimi-for-coding&amp;quot;&lt;br /&gt;
default_thinking = true        # Enable reasoning/thinking tokens&lt;br /&gt;
default_yolo = false          # Require confirmation for destructive ops&lt;br /&gt;
default_editor = &amp;quot;&amp;quot;           # Auto-detect editor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{mbox | type = warning | text = ⚠️ &amp;#039;&amp;#039;&amp;#039;Critical&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;default_yolo = false&amp;lt;/code&amp;gt; is recommended for production code. Set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; only for fully automated workflows.}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 2. Managed Provider: Kimi ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[models.&amp;quot;kimi-code/kimi-for-coding&amp;quot;]&lt;br /&gt;
provider = &amp;quot;managed:kimi-code&amp;quot;&lt;br /&gt;
model = &amp;quot;kimi-for-coding&amp;quot;&lt;br /&gt;
max_context_size = 262144     # 256k context window&lt;br /&gt;
capabilities = [&amp;quot;thinking&amp;quot;, &amp;quot;image_in&amp;quot;, &amp;quot;video_in&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Key Points&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Context Size&amp;#039;&amp;#039;&amp;#039;: 262144 tokens (256k) — suitable for large codebases&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Capabilities&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** &amp;lt;code&amp;gt;thinking&amp;lt;/code&amp;gt;: Reasoning/research mode&lt;br /&gt;
** &amp;lt;code&amp;gt;image_in&amp;lt;/code&amp;gt;: Screenshot/UI analysis&lt;br /&gt;
** &amp;lt;code&amp;gt;video_in&amp;lt;/code&amp;gt;: Video processing (if supported)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;OAuth Storage&amp;#039;&amp;#039;&amp;#039;: Credentials stored in &amp;lt;code&amp;gt;oauth/kimi-code&amp;lt;/code&amp;gt; (relative to mapped home)&lt;br /&gt;
&lt;br /&gt;
{{mbox | type = notice | text = 💡 &amp;#039;&amp;#039;&amp;#039;Distrobox Note&amp;#039;&amp;#039;&amp;#039;: Since home is remapped, OAuth tokens persist in your chosen directory, not &amp;lt;code&amp;gt;~/.config&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 3. Local Provider: Ollama ===&lt;br /&gt;
&lt;br /&gt;
You have &amp;#039;&amp;#039;&amp;#039;6 local models&amp;#039;&amp;#039;&amp;#039; configured covering different use cases:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Model !! Size !! Context !! Best For&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;qwen3.5-4b&amp;lt;/code&amp;gt; || 4B || 131k || Quick tasks, low latency&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;qwen3.5-9b&amp;lt;/code&amp;gt; || 9B || 131k || General coding, reasoning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;qwen3.5-9b-instruct&amp;lt;/code&amp;gt; || 9B || 32k || Instruction following&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;qwen2.5-coder-7b&amp;lt;/code&amp;gt; || 7B || 32k || Code-specific tasks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;qwen3-vl-2b&amp;lt;/code&amp;gt; || 2B || 32k || Vision + coding&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;qwen3-vl-grammar&amp;lt;/code&amp;gt; || - || 32k || Grammar/validation tasks&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[providers.ollama]&lt;br /&gt;
type = &amp;quot;openai_legacy&amp;quot;&lt;br /&gt;
base_url = &amp;quot;http://localhost:11434/v1&amp;quot;&lt;br /&gt;
api_key = &amp;quot;ollama&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{mbox | type = notice | text = 💡 &amp;#039;&amp;#039;&amp;#039;Distrobox Networking&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;localhost:11434&amp;lt;/code&amp;gt; refers to the container&amp;#039;s localhost. Ensure Ollama is running inside the same Distrobox or exposed to the container.}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 4. Loop Control (&amp;lt;code&amp;gt;[loop_control]&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
max_steps_per_turn = 100           # Max operations per request&lt;br /&gt;
max_retries_per_step = 3           # Retry failed operations&lt;br /&gt;
max_ralph_iterations = 0             # Legacy/compatibility setting&lt;br /&gt;
reserved_context_size = 50000        # Reserve 50k tokens for system&lt;br /&gt;
compaction_trigger_ratio = 0.85      # Compact memory at 85% usage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tuning Tips&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Increase &amp;lt;code&amp;gt;max_steps_per_turn&amp;lt;/code&amp;gt; for complex refactoring (risk: higher API costs)&lt;br /&gt;
* Lower &amp;lt;code&amp;gt;compaction_trigger_ratio&amp;lt;/code&amp;gt; to 0.75 if working with very large files&lt;br /&gt;
* &amp;lt;code&amp;gt;reserved_context_size&amp;lt;/code&amp;gt; prevents context overflow crashes&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 5. Background Processing (&amp;lt;code&amp;gt;[background]&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
max_running_tasks = 4               # Parallel background operations&lt;br /&gt;
read_max_bytes = 30000              # 30KB file read limit&lt;br /&gt;
notification_tail_lines = 20        # Lines in status notifications&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{mbox | type = notice | text = 💡 &amp;#039;&amp;#039;&amp;#039;Distrobox Consideration&amp;#039;&amp;#039;&amp;#039;: Background tasks write to the mapped home directory. Ensure sufficient disk space in that location.}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 6. Moonshot Services (&amp;lt;code&amp;gt;[services.*]&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[services.moonshot_search]&lt;br /&gt;
base_url = &amp;quot;https://api.kimi.com/coding/v1/search&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[services.moonshot_fetch]&lt;br /&gt;
base_url = &amp;quot;https://api.kimi.com/coding/v1/fetch&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These enable &amp;#039;&amp;#039;&amp;#039;web search&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;URL fetching&amp;#039;&amp;#039;&amp;#039; capabilities within the Kimi ecosystem. OAuth credentials are shared with the main provider.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 7. MCP Client Settings (&amp;lt;code&amp;gt;[mcp.client]&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mcp.client]&lt;br /&gt;
tool_call_timeout_ms = 60000        # 60 second timeout for tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{mbox | type = notice | text = 💡 &amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039;: When using Kimi as an MCP for local models, this timeout applies to operations triggered by the local model via Kimi&amp;#039;s tools.}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Advanced Usage Patterns ==&lt;br /&gt;
&lt;br /&gt;
=== Pattern 1: Kimi as MCP Server for Local Models ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Scenario&amp;#039;&amp;#039;&amp;#039;: You want to use &amp;lt;code&amp;gt;qwen3.5-9b&amp;lt;/code&amp;gt; (local) for code generation, but leverage Kimi&amp;#039;s search/fetch tools.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
# Configure your MCP client (Claude/OpenCode/Aider) to point to this config&lt;br /&gt;
# Set &amp;lt;code&amp;gt;default_model&amp;lt;/code&amp;gt; to an Ollama model in the client&lt;br /&gt;
# The client can still invoke Kimi&amp;#039;s tools (search, fetch) via the MCP bridge&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Config Override&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Temporarily switch to local&lt;br /&gt;
default_model = &amp;quot;qwen3.5-9b&amp;quot;&lt;br /&gt;
default_thinking = true  # Qwen supports thinking&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Pattern 2: Distrobox Path Mapping ===&lt;br /&gt;
&lt;br /&gt;
Since your home is remapped (e.g., &amp;lt;code&amp;gt;/mnt/projects/ai-home&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;/home/user&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# OAuth paths are relative to the mapped home&lt;br /&gt;
[providers.&amp;quot;managed:kimi-code&amp;quot;.oauth]&lt;br /&gt;
storage = &amp;quot;file&amp;quot;&lt;br /&gt;
key = &amp;quot;oauth/kimi-code&amp;quot;  # Resolves to /mnt/projects/ai-home/oauth/kimi-code&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Verification&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Inside Distrobox&lt;br /&gt;
echo $HOME                    # Should show /mnt/projects/ai-home (or your mapping)&lt;br /&gt;
ls $HOME/oauth/kimi-code      # Should contain OAuth tokens&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Pattern 3: Model Switching Workflows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# High-level architecture discussion&lt;br /&gt;
default_model = &amp;quot;kimi-code/kimi-for-coding&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Quick local edits (low latency)&lt;br /&gt;
alias_model = &amp;quot;qwen3.5-4b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Complex reasoning (local, private)&lt;br /&gt;
secure_model = &amp;quot;qwen3.5-9b&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Command Palette&amp;#039;&amp;#039;&amp;#039; (if your client supports it):&lt;br /&gt;
* &amp;lt;code&amp;gt;/model kimi-code/kimi-for-coding&amp;lt;/code&amp;gt; — Cloud, full capabilities&lt;br /&gt;
* &amp;lt;code&amp;gt;/model qwen3.5-9b&amp;lt;/code&amp;gt; — Local, private, reasoning&lt;br /&gt;
* &amp;lt;code&amp;gt;/model qwen3-vl-2b&amp;lt;/code&amp;gt; — Vision tasks with local image analysis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Distrobox-Specific Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Volume Mounts Checklist ===&lt;br /&gt;
&lt;br /&gt;
Ensure your Distrobox creation included:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
distrobox create --name ai-dev \&lt;br /&gt;
  --home /mnt/projects/ai-home \          # Matches your config&lt;br /&gt;
  --additional-flags &amp;quot;--volume /mnt/projects:/mnt/projects&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Ollama Inside Distrobox ===&lt;br /&gt;
&lt;br /&gt;
If Ollama runs in the same container:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start Ollama before the MCP client&lt;br /&gt;
ollama serve &amp;amp;  # Binds to localhost:11434 inside container&lt;br /&gt;
&lt;br /&gt;
# Verify models are available&lt;br /&gt;
ollama list | grep qwen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Persisting OAuth Tokens ===&lt;br /&gt;
&lt;br /&gt;
Since home is custom, tokens survive container recreation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Backup&lt;br /&gt;
tar czf oauth-backup.tar.gz $HOME/oauth/&lt;br /&gt;
&lt;br /&gt;
# Restore (new container)&lt;br /&gt;
tar xzf oauth-backup.tar.gz -C $HOME/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Security &amp;amp; Best Practices ==&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;API Keys&amp;#039;&amp;#039;&amp;#039;: Empty strings in config (&amp;lt;code&amp;gt;api_key = &amp;quot;&amp;quot;&amp;lt;/code&amp;gt;) indicate OAuth-only. Never hardcode keys in the TOML file.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;YOLO Mode&amp;#039;&amp;#039;&amp;#039;: Keep &amp;lt;code&amp;gt;default_yolo = false&amp;lt;/code&amp;gt; unless running in a fully containerized/throwaway environment.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Context Window&amp;#039;&amp;#039;&amp;#039;: The 256k context for Kimi vs 32k/131k for local models — be mindful when switching contexts.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Distrobox Isolation&amp;#039;&amp;#039;&amp;#039;: Your remapped home provides natural isolation. Sensitive data stays in your mapped directory, not system home.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Issue: &amp;quot;Ollama connection refused&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Cause&amp;#039;&amp;#039;&amp;#039;: Ollama not running or not exposed to Distrobox&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fix&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Check if Ollama is listening&lt;br /&gt;
curl http://localhost:11434/api/tags&lt;br /&gt;
&lt;br /&gt;
# If using host Ollama from inside Distrobox, use host IP&lt;br /&gt;
# Edit base_url to: http://host.docker.internal:11434/v1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Issue: OAuth token not found ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Cause&amp;#039;&amp;#039;&amp;#039;: Wrong home directory mapping&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fix&amp;#039;&amp;#039;&amp;#039;: Verify &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; inside Distrobox matches where you expect &amp;lt;code&amp;gt;oauth/&amp;lt;/code&amp;gt; to live.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Issue: Context overflow with local models ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Cause&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;max_context_size&amp;lt;/code&amp;gt; mismatch&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fix&amp;#039;&amp;#039;&amp;#039;: Ensure your prompt + file contents &amp;amp;lt; model&amp;#039;s &amp;lt;code&amp;gt;max_context_size&amp;lt;/code&amp;gt; (32k for most Qwen models vs 256k for Kimi).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Quick Reference: Model Selection ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Recommended Model !! Why&lt;br /&gt;
|-&lt;br /&gt;
| Architecture decisions || &amp;lt;code&amp;gt;kimi-code/kimi-for-coding&amp;lt;/code&amp;gt; || 256k context, reasoning&lt;br /&gt;
|-&lt;br /&gt;
| Quick bug fixes || &amp;lt;code&amp;gt;qwen3.5-4b&amp;lt;/code&amp;gt; || Fast, sufficient context&lt;br /&gt;
|-&lt;br /&gt;
| Complex refactoring || &amp;lt;code&amp;gt;qwen3.5-9b&amp;lt;/code&amp;gt; (131k) || Large context, private&lt;br /&gt;
|-&lt;br /&gt;
| Image → Code || &amp;lt;code&amp;gt;qwen3-vl-2b&amp;lt;/code&amp;gt; || Vision capabilities, local&lt;br /&gt;
|-&lt;br /&gt;
| Documentation || &amp;lt;code&amp;gt;qwen2.5-coder-7b&amp;lt;/code&amp;gt; || Code-optimized, offline&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[OpenCoder Qwen35 Agentic Setup 260330]] — Qwen3.5 Modelfile fix for tool calling&lt;br /&gt;
* [[Project OpenCoder: AI Independence Initiative]] — Strategic roadmap&lt;br /&gt;
* [[Proceedural Agentic Development Methodology 260304]] — PAD methodology&lt;br /&gt;
* [[Opencode isolation and burner workflow 260216]] — Distrobox burner workflow&lt;br /&gt;
* [[Ollama GNOME System Tray Panel 260401]] — Ollama system tray toggle&lt;br /&gt;
* [[🧠 Process: Selecting and Installing the Right Ollama Model for Your Hardware]] — Model selection guide&lt;br /&gt;
&lt;br /&gt;
[[Category:AI]]&lt;br /&gt;
[[Category:OpenCode]]&lt;br /&gt;
[[Category:Ollama]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Comfac IT]]&lt;/div&gt;</summary>
		<author><name>Justinaquino</name></author>
	</entry>
</feed>