Moonshot()
Kimi models direct from Moonshot, with your own API key. Costs go direct to the vendor at their rates — no markup, nothing on your Axon balance.
export default defineProfile({
providers: [Moonshot()],
})
Serves moonshotai/*.
Credentials
Set the environment variable, or pass key on the declaration:
MOONSHOT_API_KEY=...
providers: [Moonshot({ key: process.env.MY_OWN_VAR })]
Unlike OpenRouter() and
Codex(), direct providers are not vaulted yet: the
credential comes from the agent's environment. A deployed agent needs it set as a runtime
secret, or should use a vaulted route instead.
Declaring this provider without the variable set is not an error. The failure comes when something tries to use it, and names the variable you need.
Options
Moonshot(options?: ProviderOptions)
| Option | Default | Description |
|---|---|---|
key | MOONSHOT_API_KEY | Your own credential, passed directly |
url | https://api.moonshot.ai/v1 | Endpoint override |
slots | unbounded | Ceiling on concurrent calls a fanned-out role may spend here |
Model ids
Bare Kimi slugs:
export default defineAgent({ model: "moonshot:kimi-k3" })
An OpenAI-compatible route
Moonshot publishes no first-party adapter, so this reaches its OpenAI-compatible endpoint
at https://api.moonshot.ai/v1. It works because Moonshot exposes a chat-completions
surface, and it will keep working as long as they do.
url overrides the endpoint — for a regional deployment or a proxy:
providers: [Moonshot({ url: "https://api.moonshot.cn/v1" })]