feat(config): switch reviewer model to kimi-k3 #116

Closed
opened 2026-08-20 23:58:35 +03:00 by slaid098 · 0 comments
Owner

Контекст

Сейчас модель reviewer-агента — ollama-cloud/deepseek-v4-pro (.opencode/opencode.json, строка 441). Пользователь хочет поставить на ревью код модель Kimi K3. Провайдер ollama-cloud (Ollama Cloud, https://ollama.com/v1, OpenAI-совместимый) уже настроен: в auth.json есть API-ключ, модель kimi-k3 подтверждена live-списком /api/tags сервера и встроена в реестр opencode 1.18.18 (reasoning c effort low/high/max, tool_call, structured_output, мультимодальна, контекст 1M). Декларация в provider.models не нужна — ровно как у текущих deepseek-v4-pro (reviewer) и minimax-m3 (vision): голые ID из реестра.

Задача

Заменить модель reviewer-агента с ollama-cloud/deepseek-v4-pro на ollama-cloud/kimi-k3:

  • .opencode/opencode.json, agent.reviewer.model: ollama-cloud/kimi-k3 (строка 441).
  • tests/test_permissions.py, test_agent_models_exact: ожидание для reviewer → ollama-cloud/kimi-k3 (строка 417).
  • reasoningEffort: "max" у reviewer остаётся (kimi-k3 поддерживает effort).

Контракты

  • agent.reviewer.model == "ollama-cloud/kimi-k3".
  • reasoningEffort: "max" сохраняется у reviewer.
  • Формат model проходит regex ^[a-zA-Z0-9._-]+\/[a-zA-Z0-9:._-]+$ из test_agents_have_models.

Инварианты

  • Модели остальных агентов не меняются (explore/general/memory-syncer = ollama-cloud/deepseek-v4-flash, vision = ollama-cloud/minimax-m3).
  • Провайдер ollama-cloud не трогаем: baseUrl/key живут вне репо (auth.json, реестр opencode).

Граничные случаи

  • Если у kimi-k3 на сервере нет тега — используем голый ID kimi-k3 (проверено: в /api/tags он без тегов).
  • Если opencode не сможет резолвить kimi-k3 из реестра (старый бинарник) — добавить декларацию модели в provider.ollama-cloud.models по образцу deepseek-v4-flash:0731. Это фиксируется в PR при необходимости.

Влияние на связанные компоненты

  • .opencode/opencode.json — строка agent.reviewer.model.
  • tests/test_permissions.py — test_agent_models_exact.

Вне scope

  • Удаление агента scout (отдельный issue #115).

Критерии приемки

  • agent.reviewer.model == "ollama-cloud/kimi-k3" в opencode.json.
  • pytest tests/test_permissions.py — все тесты проходят.
  • Проверка через opencode: запрос к kimi-k3 (или приёмка через доступность модели в провайдере) — по возможности.
## Контекст Сейчас модель reviewer-агента — `ollama-cloud/deepseek-v4-pro` (`.opencode/opencode.json`, строка 441). Пользователь хочет поставить на ревью код модель Kimi K3. Провайдер `ollama-cloud` (Ollama Cloud, `https://ollama.com/v1`, OpenAI-совместимый) уже настроен: в `auth.json` есть API-ключ, модель `kimi-k3` подтверждена live-списком `/api/tags` сервера и встроена в реестр opencode 1.18.18 (reasoning c effort low/high/max, tool_call, structured_output, мультимодальна, контекст 1M). Декларация в `provider.models` не нужна — ровно как у текущих `deepseek-v4-pro` (reviewer) и `minimax-m3` (vision): голые ID из реестра. ## Задача Заменить модель reviewer-агента с `ollama-cloud/deepseek-v4-pro` на `ollama-cloud/kimi-k3`: - `.opencode/opencode.json`, `agent.reviewer.model`: `ollama-cloud/kimi-k3` (строка 441). - `tests/test_permissions.py`, `test_agent_models_exact`: ожидание для reviewer → `ollama-cloud/kimi-k3` (строка 417). - `reasoningEffort: "max"` у reviewer остаётся (kimi-k3 поддерживает effort). ## Контракты - `agent.reviewer.model == "ollama-cloud/kimi-k3"`. - `reasoningEffort: "max"` сохраняется у reviewer. - Формат model проходит regex `^[a-zA-Z0-9._-]+\/[a-zA-Z0-9:._-]+$` из `test_agents_have_models`. ## Инварианты - Модели остальных агентов не меняются (explore/general/memory-syncer = `ollama-cloud/deepseek-v4-flash`, vision = `ollama-cloud/minimax-m3`). - Провайдер `ollama-cloud` не трогаем: baseUrl/key живут вне репо (auth.json, реестр opencode). ## Граничные случаи - Если у kimi-k3 на сервере нет тега — используем голый ID `kimi-k3` (проверено: в `/api/tags` он без тегов). - Если opencode не сможет резолвить kimi-k3 из реестра (старый бинарник) — добавить декларацию модели в `provider.ollama-cloud.models` по образцу `deepseek-v4-flash:0731`. Это фиксируется в PR при необходимости. ## Влияние на связанные компоненты - `.opencode/opencode.json` — строка `agent.reviewer.model`. - `tests/test_permissions.py` — `test_agent_models_exact`. ## Вне scope - Удаление агента scout (отдельный issue #115). ## Критерии приемки - `agent.reviewer.model == "ollama-cloud/kimi-k3"` в `opencode.json`. - `pytest tests/test_permissions.py` — все тесты проходят. - Проверка через opencode: запрос к kimi-k3 (или приёмка через доступность модели в провайдере) — по возможности.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
slaid098/opencode-config#116
No description provided.