zopyx.llm-moonshot
LLM plugin for Moonshot AI's models
LLM plugin for models hosted by Moonshot AI.
Project Status
This package is maintained as the zopyx.llm-moonshot fork of the original llm-moonshot project.
The fork keeps the plugin usable in current environments and aligns packaging, CI/CD, and release workflow with the zopyx distribution. The post-fork changes and the reasons for them are documented in CHANGELOG.md.
Installation
First, install the LLM command-line utility.
Now install this plugin in the same environment as LLM:
llm install zopyx.llm-moonshot
Configuration
You'll need an API key from Moonshot. Grab one at platform.moonshot.cn.
Set secret key:
llm keys set moonshot
Enter key: <paste key here>
Usage
List what's on the menu:
llm models list
You'll see something like:
[[[cog
import cog
from llm_moonshot._models import DEFAULT_MOONSHOT_MODEL_IDS
for model_id in DEFAULT_MOONSHOT_MODEL_IDS:
cog.outl(f"Moonshot: moonshot/{model_id}")
]]]
Moonshot: moonshot/kimi-latest
Moonshot: moonshot/moonshot-v1-auto
Moonshot: moonshot/moonshot-v1-128k-vision-preview
Moonshot: moonshot/kimi-k2-0711-preview
Moonshot: moonshot/moonshot-v1-128k
Moonshot: moonshot/moonshot-v1-32k-vision-preview
Moonshot: moonshot/moonshot-v1-8k-vision-preview
Moonshot: moonshot/moonshot-v1-8k
Moonshot: moonshot/kimi-thinking-preview
Moonshot: moonshot/moonshot-v1-32k
Moonshot: moonshot/kimi-k2-thinking
[[[end]]]
Fire up a chat:
llm chat -m moonshot/kimi-k2-0711-preview
Chatting with moonshot/kimi-k2-0711-preview
Type 'exit' or 'quit' to exit
Type '!multi' to enter multiple lines, then '!end' to finish
> yo moonie
yo! what's up, moonie?
>
Need raw completion?
llm -m moonshot/moonshot-v1-8k "Finish this haiku: Neon city rain"
Neon city rain,
Glistening streets, a symphony,
Echoes of the night.
Reasoning Content Support
This plugin now supports reasoning content for Moonshot's thinking models (models with "thinking" in the name). When using thinking models, you'll see the model's reasoning process displayed in real-time before the final response:
llm chat -m moonshot/kimi-k2-thinking
[Reasoning] (shown in cyan dim)
The user is asking me to solve a complex problem. Let me think through this step by step...
First, I need to understand the core requirements...
Then I'll analyze the available options...
[Response] (shown in bold green)
Here's my well-reasoned answer to your question...
Available Thinking Models
moonshot/kimi-k2-thinking- Latest reasoning modelmoonshot/kimi-thinking-preview- Preview reasoning model
The reasoning content helps you understand:
- Decision-making process - See how the model analyzes problems
- Multi-step reasoning - Follow complex thought chains
- Error detection - Catch logical gaps or misunderstandings early
Aliases
Save your wrists:
llm aliases set kimi moonshot/kimi-latest
Now:
llm -m kimi "write a haiku about the AI chatbot Sidney is misbehaving"
Troubleshooting
Models don't appear in llm models list
- Make sure you have set a Moonshot API key with
llm keys set moonshot. - The plugin caches the model catalog for one hour. If the API was unreachable, it falls back to a built-in catalog.
Streaming connection dropped
- The plugin automatically retries without streaming when Moonshot closes the connection mid-stream. This is a known upstream behavior and is handled transparently.
401 Unauthorized
- Double-check your API key at https://platform.moonshot.cn.
Development
Clone, sync, build:
git clone https://github.com/zopyx/llm-moonshot.git
cd llm-moonshot
uv sync --extra dev
make check
make dist
To publish using .pypirc with twine:
make upload
See CONTRIBUTING.md for more details.
Release files for zopyx.llm-moonshot 0.3.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zopyx_llm_moonshot-0.3.8.tar.gz | 14.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zopyx_llm_moonshot-0.3.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.5 kB
Release files / zopyx_llm_moonshot-0.3.8.tar.gz
| Download URL | zopyx_llm_moonshot-0.3.8.tar.gz |
|---|---|
| Size | 14.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bbc9d95ca1decdb0d5c2c58cab3ff3f76c9645ea54fa12430ea48e7e2c52213e
|
|
BLAKE2b-256 checksum How to use checksums |
16ebdcb2788bcfec63cde3cb424e6151d1f7ad0676bc03d7dbb835917bd8c38e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.
Transparency logRelease files / zopyx_llm_moonshot-0.3.8-py3-none-any.whl
| Download URL | zopyx_llm_moonshot-0.3.8-py3-none-any.whl |
|---|---|
| Size | 11.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6e41d1069779f8dde0de53621f3fc80a99b17af8528dabcd414baa2023345f9c
|
|
BLAKE2b-256 checksum How to use checksums |
6f47dd922ca7f00501ee55335d5b916d2b291a8c49c1139c84b1af5fee71f69c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.
Transparency log