MoonshotAI / MoonshotAI/kimi-code

feat: allow assigning a dedicated model for visual tasks (visual model id)

Open
#2,753 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
7.5k
Forks
1.2k
Avg merge
11h 53m
Merged PRs (30d)
350

Description

Context: kimi-code already ships an experimental feature to assign a specific model for sub-agent tasks (the [secondary]/[secondary_model] config section + SECONDARY_MODEL_ENV, experiment-gated). This is the model a user pins for sub-agent spawns.

Problem: Many coding models are text-only — they cannot inspect images. Web and mobile development regularly requires visual inspection (screenshots, UI states, layout renders, image diffs of a rendered page). Today there is no way for a user to pin a specific, vision-capable model for these visual tasks; they fall back to automatic/current-model selection, which is often a text-only model.

Proposal: add a visual model id slot mirroring the sub-agent model id — e.g. a [visual_model] config section with an env override, gated by an experiment flag, exactly parallel to [secondary_model]/resolveSecondaryModel. When set, visual/image-inspection tasks route to that configured model; when unset, behavior is unchanged (current default).

Expected acceptance: (1) user can configure a dedicated visual model id; (2) image/screenshot inspection tasks resolve to it when set; (3) unset = no behavior change; (4) covered by vitest tests.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing [secondary_model] configuration, SECONDARY_MODEL_ENV override, and resolveSecondaryModel implementation. Then locate the visual or image-inspection task routing and its vitest tests. Done means a configured visual model is selected for those tasks, unset configuration preserves current behavior, and the cases are covered by vitest tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
ai, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.