132 3 days ago

cloud
ollama run igovet/kimi-k2.7-code-opencode

Models

View all →

Readme

Kimi K2.7 Code — OpenCode (Ollama Cloud)

Modelfile & provider preset tuned for stable work inside OpenCode over Ollama Cloud.


Background

When using Ollama Cloud models from OpenCode, several issues surface out of the box:

  • Stream stalls — the response repeatedly pauses mid-token.
  • Stream freezes → timeout — long stalls trip the upstream timeout.
  • Same issues on plain HTTP — disabling streaming does not make them go away.
  • Reasoning loops — some models (notably DeepSeek) get stuck inside their own reasoning trace and never escape.

The settings below were arrived at empirically and raise the stability of Ollama Cloud + OpenCode to roughly 95%. The remaining edge cases look like Ollama Cloud throughput / model overload bugs, not configuration problems.

⚠️ These settings are experimental. They are not endorsed by Ollama or OpenCode — they are what happened to work best in our environment.


TL;DR

Field Value
Base model kimi-k2.7-code:cloud
Context window 262144
Output limit (in OpenCode) 262144 (equals context)
Temperature 1.0
Top-p 0.95
Repeat penalty 1.15 (last 2048 tokens — stronger to suppress tool-output echoing)
Variants (no variants block — model has no reasoningEffort surface)

Modelfile

FROM kimi-k2.7-code:cloud

PARAMETER num_ctx         262144
PARAMETER num_predict     16384
PARAMETER temperature     1.0
PARAMETER top_p           0.95
PARAMETER repeat_penalty  1.15
PARAMETER repeat_last_n   2048

OpenCode configuration

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama",
      "options": {
        "baseURL": "http://localhost:11434/v1",
        "timeout": 1200000,
        "headerTimeout": 1200000
      },
      "models": {
        "igovet/kimi-k2.7-code-opencode": {
          "_launch": false,
          "name": "Kimi K2.7 Code OpenCode",
          "limit": {
            "context": 262144,
            "output":  262144
          }
        }
      }
    }
  }
}

Notes

Why output is set equal to context

Ollama does not honor a separate output (max output tokens) reliably through the OpenAI-compatible surface that @ai-sdk/openai-compatible speaks to. If you set output near 16384 you will see the stream cut off mid-response with no error.

The workaround used here is to make output formally equal to context. The model still decides when to stop on its own; we just stop clipping it on the client side.

Long timeouts

timeout and headerTimeout are bumped to 20 minutes (1200000 ms). Cloud models occasionally queue for several minutes during peak load, and the default AI SDK timeouts will fire long before that.

Why this model, not K2.6

K2.7-Code is the code-specialized fine-tune of the same family: more reliable on tool/function-call schemas, fewer “off-by-one” import / brace mistakes, and noticeably better adherence to OpenCode’s tool contracts. If your workload is heavy on bash / edit / read tool calls, prefer K2.7-Code over K2.6.

Repeat penalty

Same 1.15 as K2.6 — K2.7-Code echoes tool outputs just as readily without it.


Reasoning effort — when to pick what

This preset does not declare variants, so the OpenCode reasoning-effort selector will be unavailable for this model. Use the default model selection.

If you want explicit effort control anyway, you can add the standard block — Ollama will ignore unknown values rather than error out:

"variants": {
  "high":   { "reasoningEffort": "high"   },
  "medium": { "reasoningEffort": "medium" },
  "low":    { "reasoningEffort": "low"    },
  "none":   { "reasoningEffort": "none"   }
}

Recommended use inside OpenCode (when variants are added):

Variant Use it for
high Hard bugs, multi-file refactors, planning chains. Best leverage of the code-specialized fine-tune.
medium Default for code-writing sub-agents (backend-developer, frontend-developer, full-stack-developer).
low code-reviewer, qa-engineer, security-auditor on small diffs.
none Inline completions / quick classification.