Skip to content

feat(models): add OpenRouter Kimi K2 model support #315

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

imsaar
Copy link

@imsaar imsaar commented Jul 13, 2025

Add support for Moonshot AI's Kimi K2 model via OpenRouter with:

  • 131K token context window
  • $0.57/million input tokens
  • $2.30/million output tokens
  • API model name: moonshotai/kimi-k2

Also added support for Kimi K2 free via OpenRouter

ali-avvo added 2 commits July 13, 2025 09:36
Add support for Moonshot AI's Kimi K2 model via OpenRouter with:
- 131K token context window
- $0.57/million input tokens
- $2.30/million output tokens
- API model name: moonshotai/kimi-k2
Add missing Kimi K2 model ID to opencode-schema.json enum arrays
@Tikaanyrl
Copy link

could you do kimi-k2:free as well?

@tavoli
Copy link

tavoli commented Jul 14, 2025

i need it

- Add openrouter.kimi-k2-free to model enum lists in schema
- Add OpenRouterKimiK2Free constant and configuration
- Set zero costs for free tier with same context window (131k) as paid version
@imsaar
Copy link
Author

imsaar commented Jul 14, 2025

could you do kimi-k2:free as well?

Done!

@vladaman
Copy link

Could you please provide an example configuration with OpenRouter and KIMI K2? I'm having trouble getting it to work. I'm unsure what to set.

Why am I seeing Copilot models?
image

{
  "data": {},
  "mcpServers": {
    "example": {
      "command": "path/to/mcp-server",
      "env": [],
      "args": [],
      "type": "stdio",
      "url": "",
      "headers": null
    }
  },
  "providers": {
    "anthropic": {
      "apiKey": "sk-ant-api03-xxxxx",
      "disabled": false
    },
    "gemini": {
      "apiKey": "AIzaSyDxJ-xxxxx",
      "disabled": false
    },
    "groq": {
      "apiKey": "xxxxx",
      "disabled": false
    },
    "ollama": {
      "apiKey": "KEY",
      "disabled": false
    },
    "openai": {
      "apiKey": "sk-xxxxx",
      "disabled": false
    },
    "openrouter": {
      "apiKey": "sk-or-v1-xxxxx",
      "disabled": false
    }
  },
  "lsp": {
    "go": {
      "enabled": false,
      "command": "gopls",
      "args": null,
      "options": null
    },
    "typescript": {
      "enabled": false,
      "command": "typescript-language-server",
      "args": [
        "--stdio"
      ],
      "options": null
    }
  },
  "agents": {
    "coder": {
      "model": "openrouter.kimi-k2",
      "maxTokens": 20000,
      "reasoningEffort": ""
    },
    "summarizer": {
      "model": "openrouter.kimi-k2",
      "maxTokens": 80,
      "reasoningEffort": "medium"
    },
    "task": {
      "model": "openrouter.kimi-k2",
      "maxTokens": 5000,
      "reasoningEffort": "high"
    },
    "title": {
      "model": "openrouter.kimi-k2",
      "maxTokens": 4096,
      "reasoningEffort": "high"
    }
  },
  "tui": {
    "theme": "opencode"
  },
  "shell": {
    "path": "/bin/bash",
    "args": [
      "-l"
    ]
  },
  "autoCompact": true
}

@imsaar
Copy link
Author

imsaar commented Jul 15, 2025

Could you please provide an example configuration with OpenRouter and KIMI K2? I'm having trouble getting it to work. I'm unsure what to set.

Why am I seeing Copilot models? image

{
  "data": {},
  "mcpServers": {
    "example": {
      "command": "path/to/mcp-server",
      "env": [],
      "args": [],
      "type": "stdio",
      "url": "",
      "headers": null
    }
  },
  "providers": {
    "anthropic": {
      "apiKey": "sk-ant-api03-xxxxx",
      "disabled": false
    },
    "gemini": {
      "apiKey": "AIzaSyDxJ-xxxxx",
      "disabled": false
    },
    "groq": {
      "apiKey": "xxxxx",
      "disabled": false
    },
    "ollama": {
      "apiKey": "KEY",
      "disabled": false
    },
    "openai": {
      "apiKey": "sk-xxxxx",
      "disabled": false
    },
    "openrouter": {
      "apiKey": "sk-or-v1-xxxxx",
      "disabled": false
    }
  },
  "lsp": {
    "go": {
      "enabled": false,
      "command": "gopls",
      "args": null,
      "options": null
    },
    "typescript": {
      "enabled": false,
      "command": "typescript-language-server",
      "args": [
        "--stdio"
      ],
      "options": null
    }
  },
  "agents": {
    "coder": {
      "model": "openrouter.kimi-k2",
      "maxTokens": 20000,
      "reasoningEffort": ""
    },
    "summarizer": {
      "model": "openrouter.kimi-k2",
      "maxTokens": 80,
      "reasoningEffort": "medium"
    },
    "task": {
      "model": "openrouter.kimi-k2",
      "maxTokens": 5000,
      "reasoningEffort": "high"
    },
    "title": {
      "model": "openrouter.kimi-k2",
      "maxTokens": 4096,
      "reasoningEffort": "high"
    }
  },
  "tui": {
    "theme": "opencode"
  },
  "shell": {
    "path": "/bin/bash",
    "args": [
      "-l"
    ]
  },
  "autoCompact": true
}

I believe the copilot you pointed out has nothing to do with this change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants