Skip to content

Model Configuration

N.E.K.O. uses different AI models for different tasks. Each can be individually configured.

Model roles

RoleDefaultEnv varPurpose
Conversationqwen-max-Character chat (offline mode)
Summaryqwen-plusNEKO_SUMMARY_MODELConversation summarization
Correctionqwen-maxNEKO_CORRECTION_MODELText correction
Emotionqwen-flashNEKO_EMOTION_MODELEmotion analysis for expressions
Visionqwen3-vl-plus-2025-09-23NEKO_VISION_MODELImage/screenshot understanding
Agentqwen3.5-plusNEKO_AGENT_MODELAgent task execution
Routerqwen-plusNEKO_ROUTER_MODELMemory routing decisions
Semantictext-embedding-v4NEKO_SEMANTIC_MODELText embeddings for memory
Rerankerqwen-plusNEKO_RERANKER_MODELSearch result reranking
Setting proposerqwen-maxNEKO_SETTING_PROPOSER_MODELProposing setting updates
Setting verifierqwen-maxNEKO_SETTING_VERIFIER_MODELVerifying setting updates

Custom model endpoints

Each model role can use a custom API endpoint. This is configured in core_config.json or via the Web UI:

json
{
  "conversationModel": "custom-model-name",
  "conversationModelUrl": "https://custom-api.example.com/v1",
  "conversationModelApiKey": "sk-xxxxx"
}

When a custom URL/key is set, it overrides the global assist API provider for that specific role.

Computer Use models

Computer Use requires two vision models:

RoleDefaultPurpose
Planning modelqwen3-vl-plus-2025-09-23Analyze screenshots and plan actions
Grounding modelqwen3-vl-plus-2025-09-23Locate UI elements for clicking

Configure via core_config.json:

json
{
  "computerUseModel": "qwen3-vl-plus-2025-09-23",
  "computerUseModelUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
  "computerUseModelApiKey": "sk-xxxxx",
  "computerUseGroundModel": "qwen3-vl-plus-2025-09-23",
  "computerUseGroundUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
  "computerUseGroundApiKey": "sk-xxxxx"
}

Thinking mode configuration

Some models support "thinking" or "extended reasoning" modes. N.E.K.O. disables these by default for faster responses. The disable format varies by provider:

ProviderDisable format
Qwen, Step, DeepSeek{"enable_thinking": false}
GLM{"thinking": {"type": "disabled"}}
Gemini 2.x{"thinking_config": {"thinking_budget": 0}}
Gemini 3.x{"thinking_config": {"thinking_level": "low"}}

This is handled automatically in config/__init__.py based on the model name.

Image rate limiting

SettingDefaultDescription
NATIVE_IMAGE_MIN_INTERVAL1.5sMinimum interval between screen captures
IMAGE_IDLE_RATE_MULTIPLIER5xMultiplier when no voice activity

Released under the MIT License.