Kimicode comme alternative à Cursor : configuration d'un endpoint personnalisé
Une alternative à Cursor avec Kimicode est possible si votre éditeur vous permet de remplacer l'URL de base OpenAI. Définissez https://api.kimicode.cc/v1, collez une clé, ajoutez le nom du modèle uncensored, et l'éditeur enverra ses requêtes de chat ici.
Mis à jour

Ce qui fonctionne et à quoi s'attendre
De nombreux éditeurs de code avec chat intégré vous permettent de remplacer l'endpoint OpenAI par le vôtre. Ce seul paramètre rend cela possible. Vous fournissez à l'éditeur trois éléments : une URL de base, une clé API et un nom de modèle. Tout le reste relève du comportement propre à l'éditeur.
L'API ici est un service hébergé compatible OpenAI avec un seul modèle à poids ouverts, géré par un prestataire indépendant et ajusté pour répondre sans refus de contenu pour une utilisation adulte légale. Ce n'est pas le service de Kimi ni un routeur entre fournisseurs, donc il n'y a pas de sélecteur de modèle. Vous obtenez uncensored, et c'est le seul ID de modèle.
Soyez réaliste quant à la correspondance. Je ne prétends pas que ce modèle bat tout ce que votre éditeur propose par défaut pour écrire du code, et je n'ai pas de benchmark à vous montrer. Ce que vous gagnez, c'est le contrôle : votre propre endpoint, une facturation par token à $0,15 par 1M d'entrée et $0,50 par 1M de sortie, et un modèle qui ne refuse pas une requête en raison de son sujet. Ce que vous perdez, ce sont les fonctionnalités que l'éditeur n'active que pour ses propres modèles.
Étape par étape : le remplacement de l'URL de base
- Connectez-vous et ouvrez la page clé API. Créez une clé. Les nouveaux utilisateurs peuvent réclamer le crédit d'essai de $0,50 en un clic, sans carte, valable 7 jours.
- Dans votre éditeur, ouvrez les paramètres du modèle ou de l'API. Cursor, par exemple, a eu une option pour remplacer l'URL de base OpenAI dans ses paramètres de modèle. Le nom et l'emplacement de cette option changent entre les versions, consultez donc la documentation de l'éditeur si vous ne la trouvez pas.
- Saisissez l'URL de base :
https://api.kimicode.cc/v1. N'ajoutez pas/chat/completions. - Collez votre clé dans le champ de clé OpenAI.
- Ajoutez un modèle personnalisé nommé
uncensoredet sélectionnez-le dans le panneau de chat. - Exécutez une petite question de test. Si l'éditeur affiche une erreur, ouvrez la console de développement ou les journaux et recherchez le statut HTTP. Un 401 est un problème de clé, un 404 est un problème d'URL, et un 429 est une limite de débit.
Certains éditeurs vérifient une clé en appelant un nom de modèle hébergé qui n'existe pas ici. Si la vérification échoue mais que le chat fonctionne, ignorez l'étape de vérification. Si l'éditeur refuse de sauvegarder sans cela, utilisez un autre outil de la section suivante.
Gardez à l'esprit les limites de votre essai lors des tests : 2 requêtes simultanées et 60 par minute. Un éditeur qui déclenche plusieurs requêtes en arrière-plan à la fois, comme l'autocomplétion plus le chat, peut atteindre le plafond de concurrence. Une clé complète permet 8 concurrentes et 300 par minute.
Autres éditeurs et outils acceptant un endpoint personnalisé
Si votre éditeur n'accepte pas une URL de base personnalisée, plusieurs outils open-source le peuvent. Chacun prend les trois mêmes valeurs. Consultez leur documentation pour les noms d'option actuels, car ils changent.
Aider lit les variables d'environnement OpenAI standard et prend un modèle compatible OpenAI avec un préfixe openai/ :
export OPENAI_API_BASE="https://api.kimicode.cc/v1"
export OPENAI_API_KEY="YOUR_KEY"
aider --model openai/uncensored
Continue, une extension pour VS Code et JetBrains, accepte une entrée de modèle avec le fournisseur défini sur openai et une URL de base. Le format du fichier varie selon la version, voici la forme à rechercher :
{
"models": [
{
"title": "Kimicode API",
"provider": "openai",
"model": "uncensored",
"apiBase": "https://api.kimicode.cc/v1",
"apiKey": "YOUR_KEY"
}
]
}
Cline propose un fournisseur compatible OpenAI dans ses paramètres, où vous saisissez la même URL de base, clé et ID de modèle. Dans tous les cas, le schéma est le même : choisissez le fournisseur compatible OpenAI, jamais celui nommé d'après un fournisseur.
Un prompt système adapté au travail sur le code
Les éditeurs ajoutent généralement leurs propres instructions, mais beaucoup vous permettent d'ajouter des règles personnalisées ou un prompt système. Un prompt court et précis donne de meilleurs résultats qu'un long. Voici un point de départ que vous pouvez ajuster :
Vous êtes un assistant de code travaillant dans le projet de l'utilisateur. Répondez avec le plus petit changement qui résout le problème. Montrez des diffs ou la fonction modifiée, pas le fichier entier. Si une exigence est floue, posez une question avant d'écrire du code. Indiquez toute hypothèse que vous faites sur les versions ou les frameworks.
Pourquoi ces lignes ? « Changement minimal » réduit les tokens de sortie, qui sont le côté le plus cher à $0,50 par 1M. « Afficher les diffs » fait de même et facilite l'examen. « Poser une seule question » évite une longue réponse erronée. « Énoncer les hypothèses » vous donne un endroit pour repérer une erreur avant qu'elle n'atteigne votre code.
Gardez la température basse pour le code. Des valeurs autour de 0,2 à 0,4 donnent une sortie plus stable, et vous pouvez passer un seed si vous voulez des résultats reproductibles lors du débogage d'un prompt. Les deux sont transmis au modèle.
Un script lorsque l'éditeur est limité
Lorsqu'une fonctionnalité d'éditeur ne convient pas à un endpoint personnalisé, un script de vingt lignes comble l'écart et vous donne un contrôle total sur ce qui est envoyé. Celui-ci lit un fichier, demande une revue avec votre propre prompt système et affiche la réponse en streaming.
import os, sys
from openai import OpenAI
client = OpenAI(base_url="https://api.kimicode.cc/v1", api_key=os.environ["KIMICODE_KEY"])
SYSTEM = (
"You are a careful code reviewer. List real bugs first, then risky spots. "
"Quote the line you mean. Skip style comments."
)
path = sys.argv[1]
code = open(path, encoding="utf-8").read()
stream = client.chat.completions.create(
model="uncensored",
stream=True,
temperature=0.3,
messages=[
{"role": "system", "content": SYSTEM},
{"role": "user", "content": f"Review {path}:\n\n{code}"},
],
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
print()
Exécutez-le avec python review.py app/server.py. Un fichier de 1 000 tokens avec une revue de 600 tokens coûte 0,00015 $ + 0,0003 $ = 0,00045 $. Vous pourriez réviser quelques milliers de fichiers pour moins de 2 $.
Le même schéma fonctionne pour les messages de commit, la génération de tests et les docstrings. Liez le script à une clé dans votre éditeur et vous avez une commande personnalisée sans aucun plugin.
Où cela s'applique et où cela ne s'applique pas
Cette configuration est un bon choix si vous voulez votre propre endpoint, une facturation par token et un modèle qui ne refusera pas une tâche en raison de son sujet. Cela convient aux développeurs solo, aux petites équipes et aux personnes qui construisent des outils qui parlent à plusieurs fournisseurs via une seule bibliothèque cliente.
C'est un choix moins adapté si vous dépendez de fonctionnalités qui ne fonctionnent qu'avec les modèles hébergés d'un éditeur, comme l'autocomplétion inline ajustée à un modèle spécifique ou les fonctionnalités basées sur l'image. Si ceux-ci sont centraux dans votre façon de travailler, gardez la valeur par défaut et utilisez cette API pour le panneau de chat et les scripts. Mélanger les deux est courant et ne coûte rien de plus.
Si vous voulez juste voir à quoi cela ressemble, réclamez l'essai sur la page clé API et posez à votre éditeur trois questions issues de votre tâche actuelle. Comparez les réponses avec ce que vous obtenez maintenant. Ce test prend dix minutes et utilise une fraction de centime.
Les limites honnêtes d'un modèle textuel uniquement
Trois limites valent la peine d'être connues avant de passer.
Texte uniquement. Il n'y a pas d'entrées image ni d'endpoint d'embeddings. Si votre éditeur indexe une base de code avec des embeddings, cet index doit provenir d'une autre source ou la fonctionnalité reste désactivée. Coller une capture d'écran d'une erreur ne fonctionnera pas non plus ; collez le texte de l'erreur.
Fenêtre de contexte de 100 000 tokens. Cela inclut le prompt et la complétion. En règle générale, le code représente environ trois à quatre caractères par token, donc un gros fichier de 40 Ko représente environ 10 000 à 13 000 tokens. Les éditeurs qui attachent de nombreux fichiers peuvent atteindre rapidement le plafond. Lorsque vous voyez une erreur de contexte, attachez moins de fichiers, pas plus.
Pas de routage caché. Vous obtenez un seul modèle. S'il échoue sur une tâche, il n'y a pas de modèle de secours en arrière-plan, donc reformulez, ajoutez un exemple ou précisez la question.
En termes de coût, une question de codage typique avec 20 000 tokens d'entrée et 1 000 tokens de sortie est $0.003 + $0.0005 = $0.0035. Cinquante de ceux-ci en une journée font $0.175. La page de tarification liste les recharges de $20 à $500 avec des bonus à partir de $50, et le crédit n'expire jamais. Les prompts ne sont pas utilisés pour l'entraînement.
Liste de contrôle avant de vous engager
- Testez avec le crédit d'essai sur une tâche réelle de votre propre projet, pas un prompt jouet.
- Vérifiez que le streaming fonctionne dans votre éditeur. Si les réponses n'apparaissent qu'à la fin, l'éditeur peut être en cours de mise en mémoire tampon.
- Confirmez que l'appel de fonctions est configuré si vous utilisez des fonctionnalités d'agent. Cette API prend en charge
toolset le streaming detool_calls, mais l'éditeur décide de les envoyer ou non. - Lisez le guide de démarrage rapide une fois, y compris la section sur les codes d'erreur.
- Décidez d'un plafond de recharge mensuel. Comme la facturation est prépayée, le plus que vous pouvez dépenser est ce que vous avez ajouté.
La conception prépayée est un filet de sécurité pour les éditeurs qui exécutent des boucles d'agents. Une boucle qui tourne mal s'arrête lorsque le crédit s'épuise, plutôt que de produire une facture surprise.
Plus de guides
Questions et réponses
Puis-je utiliser cette API dans Cursor ?
Si votre version de Cursor vous permet de remplacer l'URL de base OpenAI et d'ajouter un nom de modèle personnalisé, oui : utilisez https://api.kimicode.cc/v1 et le modèle uncensored. Les noms de menu varient, consultez donc la documentation actuelle de Cursor.
S'agit-il de l'API officielle Kimi Code ?
Non. Il s'agit d'un service distinct compatible OpenAI exécutant un modèle à poids ouverts fourni par un prestataire indépendant, et non de l'API officielle d'un fournisseur.
Prend-il en charge les images dans l'éditeur ?
Non. Le modèle est textuel uniquement, sans entrée d'image, ni embeddings ni fine-tuning. Copiez-collez du texte à la place des captures d'écran.
Que se passe-t-il lorsque je dépasse la limite de contexte ?
Le prompt et la complétion doivent tenir dans 100 000 tokens. Attachez moins de fichiers ou réduisez l'historique de chat et réessayez.
Votre clé est à un formulaire de vous
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.
Obtenir une clé API