PL ▾
Pobierz klucz API

Kimicode jako alternatywa dla Cursora: Konfiguracja własnego endpointu

Alternatywa dla Cursora z kimicode jest możliwa, jeśli Twój edytor pozwala na nadpisanie bazowego URL OpenAI. Ustaw https://api.kimicode.cc/v1, wklej klucz, dodaj nazwę modelu uncensored, a edytor będzie wysyłał do tego miejsca żądania czatu.

Zaktualizowano

Panele edytora połączone wtyczką z serwerem, pokazujące niestandardowy endpoint API w edytorze kodu

Co działa i czego się spodziewać

Wiele edytorów kodu z wbudowanym czatem pozwala zastąpić endpoint OpenAI własnym. To jedno ustawienie jest tym, co to umożliwia. Dajesz edytorowi trzy rzeczy: bazowy URL, klucz API i nazwę modelu. Wszystko inne to zachowanie samego edytora.

API to hostowana usługa kompatybilna z OpenAI z jednym modelem o otwartych wagach, prowadzona przez niezależnego dostawcę i dostrojona do odpowiadania bez odmów treści dla prawnego użytku dorosłych. Nie jest to usługa Kimi ani router między dostawcami, więc nie ma wyboru modelu. Otrzymujesz uncensored i to jedyny identyfikator modelu.

Bądź realistyczny co do dopasowania. Nie twierdzę, że ten model bije na głowę to, co twój edytor dostarcza domyślnie przy pisaniu kodu, i nie mam benchmarków, które mógłbym ci pokazać. Zyskujesz kontrolę: własny endpoint, rozliczenie za token na poziomie $0.15 za 1 mln tokenów wejściowych i $0.50 za 1 mln tokenów wyjściowych oraz model, który nie odrzuca zapytania z powodu jego tematyki. Tracisz natomiast funkcje, które edytor włącza tylko dla swoich modeli.

Krok po kroku: nadpisanie bazowego URL

  1. Zaloguj się i otwórz stronicę klucza API. Utwórz klucz. Nowi użytkownicy mogą jednym kliknięciem odebrać darmowy kredyt próbny w wysokości $0,50 bez podawania karty, ważny przez 7 dni.
  2. W edytorze otwórz ustawienia modelu lub API. Cursor na przykład miał opcję nadpisania bazowego URL OpenAI w ustawieniach modelu. Nazwa i lokalizacja tej opcji zmieniają się w kolejnych wydaniach, więc sprawdź dokumentację edytora, jeśli nie możesz jej znaleźć.
  3. Wprowadź bazowy URL: https://api.kimicode.cc/v1. Nie dodawaj /chat/completions.
  4. Wklej swój klucz w pole klucza OpenAI.
  5. Dodaj niestandardowy model o nazwie uncensored i wybierz go w panelu czatu.
  6. Uruchom małe pytanie testowe. Jeśli edytor pokaże błąd, otwórz konsolę deweloperską lub logi i poszukaj statusu HTTP. 401 to problem z kluczem, 404 to problem z URL, a 429 to limit zapytań.

Niektóre edytory weryfikują klucz, wywołując nazwę hostowanego modelu, który tutaj nie istnieje. Jeśli weryfikacja się nie powiedzie, ale czat działa, zignoruj krok weryfikacji. Jeśli edytor odmówi zapisu bez tego, użyj innego narzędzia z następnej sekcji.

Pamiętaj o limitach próbnych podczas testowania: 2 równoległe zapytania i 60 na minutę. Edytor, który wysyła wiele żądań tła naraz, np. autouzupełnianie plus czat, może przekroczyć limit współbieżności. Pełny klucz pozwala na 8 równoległych i 300 na minutę.

Inne edytory i narzędzia obsługujące niestandardowy endpoint

Jeśli Twój edytor nie akceptuje niestandardowego bazowego URL, kilka narzędzi open-source to zrobi. Każde przyjmuje te same trzy wartości. Sprawdź ich dokumentację pod kątem aktualnych nazw opcji, ponieważ się one zmieniają.

Aider czyta standardowe zmienne środowiskowe OpenAI i przyjmuje model kompatybilny z OpenAI z prefiksem openai/:

export OPENAI_API_BASE="https://api.kimicode.cc/v1"
export OPENAI_API_KEY="YOUR_KEY"
aider --model openai/uncensored

Continue, rozszerzenie dla VS Code i JetBrains, przyjmuje wpis modelu z ustawionym dostawcą na openai i bazowy URL API. Format pliku różni się w zależności od wersji, więc szukaj takiego kształtu:

{
  "models": [
    {
      "title": "Kimicode API",
      "provider": "openai",
      "model": "uncensored",
      "apiBase": "https://api.kimicode.cc/v1",
      "apiKey": "YOUR_KEY"
    }
  ]
}

Cline oferuje dostawcę kompatybilnego z OpenAI w ustawieniach, gdzie wprowadzasz ten sam bazowy URL, klucz i identyfikator modelu. W każdym przypadku schemat jest taki sam: wybierz dostawcę kompatybilnego z OpenAI, nigdy tego nazwanego na cześć dostawcy.

Prompt systemowy dopasowany do pracy z kodem

Edytory zwykle dodają własne instrukcje, ale wiele pozwala dodać własne reguły lub prompt systemowy. Krótki, konkretny prompt bije długi. Oto punkt startowy, który możesz dostosować:

Jesteś asystentem kodu pracującym w projekcie użytkownika. Odpowiadaj najmniejszą zmianą rozwiązującą problem. Pokaż diffy lub zmienioną funkcję, a nie cały plik. Jeśli wymaganie jest niejasne, zadaj jedno pytanie przed napisaniem kodu. Zaznacz każde założenie, które poczyniasz co do wersji lub frameworków.

Dlaczego te linie? „Najmniejsza zmiana” redukuje liczbę tokenów wyjściowych, czyli droższej strony, która kosztuje $0.50 za 1 mln tokenów. „Pokaż różnice” robi to samo i ułatwia recenzję. „Zadaj jedno pytanie” zapobiega długiej, błędnej odpowiedzi. „Wypisz założenia” daje ci miejsce na wychwycenie błędu, zanim trafi do twojego kodu.

Utrzymuj temperaturę niską dla kodu. Wartości około 0,2 do 0,4 dają stabilniejsze wyjście, a możesz przekazać seed, jeśli chcesz powtarzalnych wyników podczas debugowania promptu. Oba są przekazywane do modelu.

Skrypt, gdy edytor nie wystarcza

Gdy funkcja edytora nie pasuje do niestandardowego endpointu, dwudziestoliniowy skrypt wypełnia lukę i daje Ci pełną kontrolę nad tym, co jest wysyłane. Ten czyta plik, prosi o recenzję z Twoim własnym promptem systemowym i drukuje odpowiedź podczas strumieniowania.

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()

Uruchom go jako python review.py app/server.py. Plik o długości 1000 tokenów z recenzją 600 tokenów kosztuje $0.00015 + $0.0003 = $0.00045. Możesz zrecenzować kilka tysięcy plików za mniej niż $2.

Ten sam wzór działa przy komunikatach commitów, generowaniu testów i docstringach. Podpinij skrypt do klucza w edytorze i masz własną komendę bez żadnej wtyczki.

Gdzie to pasuje, a gdzie nie

Ta konfiguracja jest dobrym dopasowaniem, jeśli chcesz własny endpoint, rozliczenie za token i model, który nie odmówi zadania z powodu jego tematu. Pasuje do programistów indywidualnych, małych zespołów i osób budujących narzędzia, które rozmawiają z kilkoma dostawcami przez jedną bibliotekę kliencką.

Jest słabszym dopasowaniem, jeśli zależy ci na funkcjach, które działają tylko z własnymi modelami hostowanymi przez edytor, np. ścisłym autouzupełnianiem w linii dostrojonym do konkretnego modelu lub funkcjami opartymi na obrazach. Jeśli są one kluczowe dla twojej pracy, zachowaj domyślne ustawienia i używaj tego API do panelu czatu i skryptów. Łączenie obu podejść jest powszechne i nie wiąże się z dodatkowymi kosztami.

Chcesz sprawdzić działanie? Zdobądź kredyt próbny na stronie klucza API i zadaj edytorowi trzy pytania z bieżącego zadania. Porównaj odpowiedzi z tym, co otrzymujesz teraz. Test trwa 10 minut i kosztuje ułamek centa.

Uczciwe limity modelu obsługującego tylko tekst

Trzy limity są warte poznania przed przełączeniem się.

Tylko tekst. Nie ma wejść obrazu ani endpointu embeddingów. Jeśli Twój edytor indeksuje bazę kodu za pomocą embeddingów, ten indeks potrzebuje innego źródła lub funkcja pozostanie wyłączona. Wklejenie zrzutu ekranu błędu również nie zadziała; wklej tekst błędu.

Okno 100 000 tokenów. To jest prompt plus uzupełnienie. Jako przybliżona zasada, kod ma około trzech do czterech znaków na token, więc duży plik 40 KB ma rzędu 10 000 do 13 000 tokenów. Edytory, które dołączają wiele plików, mogą szybko osiągnąć sufit. Gdy zobaczysz błąd kontekstu, dołącz mniej plików, a nie więcej.

Brak ukrytego routingu. Otrzymujesz jeden model. Jeśli nie poradzi sobie z zadaniem, nie ma modelu rezerwowego w tle, więc przeformułuj, dodaj przykład lub zawęż pytanie.

Pod względem kosztów typowe pytanie programistyczne z 20 000 tokenami wejściowymi i 1 000 tokenami wyjściowymi to $0,003 + $0,0005 = $0,0035. Pięćdziesiąt takich w ciągu dnia to $0,175. Na stronie z cenami doładowania zaczynają się od $20 do $500 z bonusami od $50, a kredyt nigdy nie wygasa. Prompty nie są używane do trenowania.

Lista kontrolna przed zobowiązaniem

  • Przetestuj z kredytem próbnym na prawdziwym zadaniu z własnego projektu, a nie na prostym promptcie.
  • Sprawdź, czy strumieniowanie działa w Twoim edytorze. Jeśli odpowiedzi pojawiają się tylko na końcu, edytor może buforować.
  • Upewnij się, że wywoływanie funkcji jest poprawnie podłączone, jeśli używasz funkcji agenta. To API obsługuje tools i strumieniowane tool_calls, ale to edytor decyduje, czy je wysyłać.
  • Przeczytaj szybki start w dokumentacji, w tym sekcję o kodach błędów.
  • Zdecyduj o miesięcznym limicie doładowania. Ponieważ rozliczenie jest przedpłacone, najwięcej, co możesz wydać, to kwota, którą dodałeś.

Architektura prepaid to sieć bezpieczeństwa dla edytorów uruchamiających pętle agentów. Pętla, która pójdzie źle, zatrzyma się, gdy skończy się kredyt, zamiast generować niespodziewany rachunek.

Pytania i odpowiedzi

Czy mogę użyć tego API w Cursor?

Jeśli Twoja wersja Cursor pozwala na nadpisanie bazowego URL OpenAI i dodanie własnej nazwy modelu, tak: użyj https://api.kimicode.cc/v1 i modelu uncensored. Nazwy menu się zmieniają, więc sprawdź aktualną dokumentację Cursor.

Czy to oficjalne API Kimi Code?

Nie. To osobna usługa kompatybilna z OpenAI, uruchamiająca jeden model o otwartych wagach od niezależnego dostawcy, a nie oficjalne API żadnego dostawcy.

Czy obsługuje obrazy w edytorze?

Nie. Model jest tylko tekstowy, bez wejścia obrazu, embeddingów ani fine-tuningu. Wklej tekst zamiast zrzutów ekranu.

Co się stanie, gdy przekroczę okno kontekstu?

Prompt plus uzupełnienie muszą zmieścić się w 100 000 tokenów. Dołącz mniej plików lub przytnij historię czatu i spróbuj ponownie.

Twój klucz jest o jeden formularz stąd

Utwórz konto, skopiuj klucz, zmień bazowy URL. To cała konfiguracja.

Pobierz klucz API