Skip to content

Latest commit

 

History

History
127 lines (94 loc) · 10.8 KB

CURSOR-DOCKER.md

File metadata and controls

127 lines (94 loc) · 10.8 KB

Cursor Provider in Docker Environments (Hrvatski)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


Kada se OmniRoute izvodi unutar Dockera, zastarjeli postupci Uvoz iz Cursor IDE-a / cursor-agent ne uspijevaju jer spremnik ne može vidjeti instalaciju Cursora na glavnom računalu. Umjesto toga upotrijebite Prijavu putem Cursora (deep-control PKCE).

Zašto uvoz iz IDE-a / CLI-ja ne uspijeva u Dockeru

  1. Izolacija datotečnog sustava — automatski uvoz traži Linux putanje poput ~/.config/Cursor/User/globalStorage/state.vscdb unutar spremnika. U Docker Desktopu za macOS baza podataka IDE-a s glavnog računala nije zadano montirana, a operacijski sustav spremnika jest Linux čak i kada je glavno računalo Darwin.
  2. Nema binarne datoteke cursor-agent — službene OmniRoute slike ne sadrže cursor-agent. Dostupni modeli prethodno su pokretali cursor-agent --list-models i, u slučaju neuspjeha, koristili statički katalog.
  3. Pogrešna binarna datoteka — nemojte bind-montirati macOS verziju programa cursor-agent u Linux spremnik. Neće se moći izvršiti.

Preporučeno: Prijava putem Cursora

  1. Otvorite Nadzorna ploča → Pružatelji usluga → Cursor.
  2. Odaberite karticu Prijava putem Cursora.
  3. Kliknite Prijava putem Cursora — OmniRoute otvara https://cursor.com/loginDeepControl?… u pregledniku na vašem glavnom računalu.
  4. Odobrite prijavu u pregledniku, a zatim se vratite na nadzornu ploču. OmniRoute periodički provjerava api2.cursor.sh/auth/poll dok tokeni ne stignu.
  5. OmniRoute pohranjuje tokene za pristup + osvježavanje i osvježava ih putem https://api2.cursor.sh/auth/exchange_user_api_key.

Ovaj postupak ne zahtijeva Cursor IDE ni cursor-agent unutar spremnika.

Otkrivanje modela

Uz prijavljenu vezu, Dostupni modeli / Automatska sinkronizacija daju prednost Cursorovu HTTP katalogu AiService/AvailableModels koristeći bearer token veze. Ako to ne uspije, OmniRoute i dalje pokušava upotrijebiti cursor-agent glavnog računala (kada je dostupan), a zatim početne podatke statičkog registra.

OmniRoute u katalogu uvijek izlaže auto (prikaz „Automatski”), kao i načine usmjerivača u stilu OpenCodexa auto-cost, auto-balance i auto-intelligence. Pri prijenosu se oni mapiraju na Cursorov model default (s optimization parametrom ModelParameter za tri varijante). Dajte prednost cu/auto kada je iskorištena kvota premium modela — automatski način često još uvijek ima raspoloživog budžeta.

Aktivni katalog isključiv je kada je sinkroniziran

Nakon uspješne sinkronizacije Cursorovih modela (cursor-agent --list-models → pohranjeni sinkronizirani katalog ili gore navedeno dohvaćanje AvailableModels uz bearer autentifikaciju), nadzorna ploča, /v1/models i popis Testiraj sve prikazuju:

  1. Modele vraćene aktivnom sinkronizacijom
  2. Dodane ID-ove automatskog usmjerivača: auto, auto-cost, auto-balance, auto-intelligence
  3. Prilagođene modele operatora (uvoz / ručno dodavanje) — sinkronizacija ih nikada ne uklanja

Veliki statički registar u open-sse/config/providers/registry/cursor/ služi samo kao izvanmrežna pričuvna opcija. Kada je sinkronizirani katalog prazan (ili otkrivanje ne uspije), popis se vraća na taj registar.

ID-ovi sa sufiksom razine napora (na primjer claude-4.6-sonnet-high) i dalje se mogu zatražiti tijekom izvođenja: resolveRequestedModel uklanja sufiks i pretvara ga u prijenosni ModelParameter. Isključivi popis namjerno skriva te statičke varijante iz opcije Testiraj sve kako bi provjere odgovarale onome što Cursor stvarno vraća kao dostupno.

Pomoćne funkcije

  • providerUsesExclusiveSyncedListing("cursor"|"cu") — src/lib/providers/modelListingCapability.ts
  • mergeProviderModelListing — spajanje za nadzornu ploču
  • ensureCursorAutoCatalogEntry — dodavanje auto* modela tijekom otkrivanja i izrade popisa
  • shouldSuppressStaticModelForExclusiveListing — statička petlja za /v1/models

Ograničenja pružatelja usluga (kvota)

Upotreba → Ograničenja pružatelja usluga za Cursor koristi Bearer API-je na api2.cursor.sh (GetCurrentPeriodUsage → sažetak upotrebe → auth/usage) nakon PKCE-a ili uvoza tokena. Zastarjeli put putem kolačića / nadzorne ploče cursor.com ostaje posljednja pričuvna opcija za starije sesije uvezene iz IDE-a.

Razdoblja obično uključuju Ukupno, Auto + Composer i API. Ako ograničenja izgledaju prazno, ponovno pokrenite Prijavu putem Cursora ili ponovno uvezite tokene (sam uvoz iz IDE-a više nije potreban).

Prazni odgovori / iskorištena kvota

Kada Cursor prihvati pokretanje, ali ne vrati tekst asistenta (što je uobičajeno kada je premium kvota iscrpljena), OmniRoute prikazuje koristan odgovor 429 (naznake vezane uz kvotu) ili 502 sa smjernicama — umjesto same poruke „Pružatelj usluga vratio je prazan sadržaj”. Pogreške strujanja kao što je not_found: AI Model Not Found (iscrpljeno razdoblje upotrebe) klasificiraju se kao prekoračenje Cursorova ograničenja brzine / upotrebe i zadržavaju tu poruku kroz SSE cjevovod (zajednička zaštita od praznog toka ne prepisuje već emitiranu pogrešku). Provjerite Ograničenja pružatelja usluga, pokušajte s modelom auto ili povećajte ograničenja Cursorova plana.

Verzija klijenta (bez grafičkog sučelja)

Bez lokalne instalacije programa cursor-agent, OmniRoute određuje x-cursor-client-version putem varijable okruženja CURSOR_AGENT_CLI_VERSION, zatim iz predmemoriranog na disku dohvaćanja Cursorove instalacijske skripte, a potom iz fiksiranog ID-a međuverzije. Prema potrebi postavite vlastitu vrijednost putem CURSOR_AGENT_CLI_VERSION.

Pričuvna opcija: Ručni uvoz tokena

Ako ne možete dovršiti prijavu putem preglednika:

  1. Na glavnom računalu izdvojite tokene iz Cursorove baze state.vscdb:

    sqlite3 "$HOME/Library/Application Support/Cursor/User/globalStorage/state.vscdb" \
      "SELECT key, value FROM ItemTable WHERE key IN ('cursorAuth/accessToken','cursorAuth/refreshToken','storage.serviceMachineId');"
  2. Otvorite Uvoz tokena u Cursorovu dijaloškom okviru za autentifikaciju.

  3. Zalijepite pristupni token i, kada je dostupan, token za osvježavanje (potreban za automatsko osvježavanje). ID uređaja nije obavezan.

Uvozi koji sadrže samo pristupni token i dalje funkcioniraju, ali isteći će bez tokena za osvježavanje — ponovno ih uvezite kada chat počne vraćati pogreške autentifikacije.

Povezano