MoonshotAI / MoonshotAI/kimi-code
feat: allow assigning a dedicated model for visual tasks (visual model id)
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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