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)
OptionDefaultDescription
keyMOONSHOT_API_KEYYour own credential, passed directly
urlhttps://api.moonshot.ai/v1Endpoint override
slotsunboundedCeiling 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" })]