İçeriğe geç
New Kodine v2 is now available

Sunucu

kodine sunucusuyla HTTP üzerinden etkileşin.

kodine serve komutu, kodine istemcilerinin kullanabileceği bir OpenAPI uç noktası açan headless bir HTTP sunucusu başlatır.


Kullanım

Terminal window
kodine serve [--port <number>] [--hostname <string>] [--cors <origin>]

Seçenekler

BayrakAçıklamaVarsayılan
--portDinlenecek bağlantı noktası4096
--hostnameDinlenecek ana bilgisayar adı127.0.0.1
--mdnsmDNS keşfini açarfalse
--mdns-domainmDNS hizmeti için özel alan adıkodine.local
--corsİzin verilecek ek tarayıcı kaynakları (origin)[]

--cors birden fazla kez verilebilir:

Terminal window
kodine serve --cors http://localhost:5173 --cors https://app.example.com

Kimlik Doğrulama

Sunucuyu HTTP basic auth ile korumak için KODINE_SERVER_PASSWORD değişkenini ayarlayın. Kullanıcı adı varsayılan olarak kodine olur; farklı bir değer isterseniz KODINE_SERVER_USERNAME tanımlayabilirsiniz. Bu ayar hem kodine serve hem de kodine web için geçerlidir.

Terminal window
KODINE_SERVER_PASSWORD=your-password kodine serve

Nasıl çalışır

kodine komutunu çalıştırdığınızda hem TUI hem de sunucu başlar; TUI, sunucuyla konuşan istemci tarafıdır. Sunucu bir OpenAPI 3.1 spesifikasyon uç noktası açar ve bu uç nokta SDK üretiminde de kullanılır.

Bu mimari sayesinde kodine birden fazla istemciyi destekleyebilir ve programatik kullanım senaryolarına olanak tanır.

kodine serve ile bağımsız bir sunucu başlatabilirsiniz; kodine TUI zaten açıksa kodine serve yeni bir sunucu açar.


Mevcut sunucuya bağlanın

TUI başlatıldığında rastgele bir port ve hostname alır. Bunun yerine --hostname ve --port bayraklarını verebilirsiniz.

/tui uç noktası, TUI’yi sunucu üzerinden yönetmeye yarar; örneğin bir istemi önceden doldurabilir veya çalıştırabilirsiniz. kodine IDE eklentileri bu kurulumdan yararlanır.


Spesifikasyon

Sunucu, aşağıdaki adresten erişilebilen bir OpenAPI 3.1 spesifikasyonu yayımlar:

http://<hostname>:<port>/doc

Örneğin http://localhost:4096/doc. İstemci üretmek, istek/yanıt tiplerini incelemek veya Swagger gezgininde açmak için bu spesifikasyonu kullanın.


API’ler

kodine sunucusu aşağıdaki API’leri sunar.


Global

YöntemYolAçıklamaYanıt
GET/global/healthSunucu sağlığını ve sürümünü verir{ healthy: true, version: string }
GET/global/eventKüresel olayları verir (SSE akışı)Olay akışı

Proje

YöntemYolAçıklamaYanıt
GET/projectTüm projeleri listelerProject[]
GET/project/currentGeçerli projeyi verirProject

Yol & VCS

YöntemYolAçıklamaYanıt
GET/pathGeçerli yolu verirPath
GET/vcsGeçerli projenin VCS bilgisini verirVcsInfo

Örnek (Instance)

YöntemYolAçıklamaYanıt
POST/instance/disposeGeçerli örneği (instance) kapatırboolean

Config

YöntemYolAçıklamaYanıt
GET/configYapılandırma bilgisini verirConfig
PATCH/configYapılandırmayı güncellerConfig
GET/config/providersSağlayıcıları ve varsayılan modelleri listeler{ providers: Provider[], default: { [key: string]: string } }

Sağlayıcı (Provider)

YöntemYolAçıklamaYanıt
GET/providerTüm sağlayıcıları listeler{ all: Provider[], default: {...}, connected: string[] }
GET/provider/authSağlayıcı kimlik doğrulama yöntemlerini verir{ [providerID: string]: ProviderAuthMethod[] }
POST/provider/{id}/oauth/authorizeBir sağlayıcıyı OAuth ile yetkilendirirProviderAuthAuthorization
POST/provider/{id}/oauth/callbackBir sağlayıcının OAuth geri çağrısını işlerboolean

Oturumlar (Sessions)

YöntemYolAçıklamaNotlar
GET/sessionTüm oturumları listelerSession[] döndürür
POST/sessionYeni oturum oluştururgövde: { parentID?, title? }, Session döndürür
GET/session/statusTüm oturumların durumunu verir{ [sessionID: string]: SessionStatus } döndürür
GET/session/:idOturum ayrıntılarını verirSession döndürür
DELETE/session/:idBir oturumu ve tüm verilerini silerboolean döndürür
PATCH/session/:idOturum özelliklerini güncellergövde: { title? }, Session döndürür
GET/session/:id/childrenBir oturumun alt oturumlarını verirSession[] döndürür
GET/session/:id/todoBir oturumun yapılacaklar listesini verirTodo[] döndürür
POST/session/:id/initUygulamayı analiz edip AGENTS.md oluştururgövde: { messageID, providerID, modelID }, boolean döndürür
POST/session/:id/forkMevcut bir oturumu bir mesajdan çatallargövde: { messageID? }, Session döndürür
POST/session/:id/abortÇalışan bir oturumu iptal ederboolean döndürür
POST/session/:id/shareBir oturumu paylaşırSession döndürür
DELETE/session/:id/shareBir oturumun paylaşımını kaldırırSession döndürür
GET/session/:id/diffBu oturumun farkını (diff) verirsorgu: messageID?, FileDiff[] döndürür
POST/session/:id/summarizeOturumu özetlergövde: { providerID, modelID }, boolean döndürür
POST/session/:id/revertBir mesajı geri alırgövde: { messageID, partID? }, boolean döndürür
POST/session/:id/unrevertGeri alınan tüm mesajları geri yüklerboolean döndürür
POST/session/:id/permissions/:permissionIDBir izin isteğine yanıt verirgövde: { response, remember? }, boolean döndürür

Mesajlar

YöntemYolAçıklamaNotlar
GET/session/:id/messageBir oturumdaki mesajları listelersorgu: limit?, { info: Message, parts: Part[]}[] döndürür
POST/session/:id/messageMesaj gönderip yanıt beklergövde: { messageID?, model?, agent?, noReply?, system?, tools?, parts }, { info: Message, parts: Part[]} döndürür
GET/session/:id/message/:messageIDMesaj ayrıntılarını verir{ info: Message, parts: Part[]} döndürür
POST/session/:id/prompt_asyncEşzamansız mesaj gönderir (beklemez)gövde: /session/:id/message ile aynı, 204 No Content döndürür
POST/session/:id/commandBir eğik çizgi (slash) komutu çalıştırırgövde: { messageID?, agent?, model?, command, arguments }, { info: Message, parts: Part[]} döndürür
POST/session/:id/shellBir kabuk komutu çalıştırırgövde: { agent, model?, command }, { info: Message, parts: Part[]} döndürür

Komutlar

YöntemYolAçıklamaYanıt
GET/commandTüm komutları listelerCommand[]

Dosyalar

YöntemYolAçıklamaYanıt
GET/find?pattern=<pat>Dosyalarda metin ararpath, lines, line_number, absolute_offset, submatches içeren eşleşme nesneleri dizisi
GET/find/file?query=<q>Dosya ve dizinleri ada göre bulurstring[] (yollar)
GET/find/symbol?query=<q>Çalışma alanı sembollerini bulurSymbol[]
GET/file?path=<path>Dosya ve dizinleri listelerFileNode[]
GET/file/content?path=<p>Bir dosyayı okurFileContent
GET/file/statusİzlenen dosyaların durumunu verirFile[]

/find/file sorgu parametreleri

  • query (zorunlu) - arama metni (bulanık eşleşme)
  • type (isteğe bağlı) - sonuçları "file" veya "directory" ile sınırlar
  • directory (isteğe bağlı) - arama için proje kökünü ezer
  • limit (isteğe bağlı) - en fazla sonuç sayısı (1-200)
  • dirs (isteğe bağlı) - eski bayrak ("false" yalnızca dosya döndürür)

Araçlar (Deneysel)

YöntemYolAçıklamaYanıt
GET/experimental/tool/idsTüm araç kimliklerini listelerToolIDs
GET/experimental/tool?provider=<p>&model=<m>Bir modelin araçlarını JSON şemalarıyla listelerToolList

LSP, Biçimlendiriciler & MCP

YöntemYolAçıklamaYanıt
GET/lspLSP sunucu durumunu verirLSPStatus[]
GET/formatterBiçimlendirici durumunu verirFormatterStatus[]
GET/mcpMCP sunucu durumunu verir{ [name: string]: MCPStatus }
POST/mcpDinamik olarak MCP sunucusu eklergövde: { name, config }, MCP durum nesnesi döndürür

Agent’lar

YöntemYolAçıklamaYanıt
GET/agentMevcut tüm agent’ları listelerAgent[]

Günlük (Logging)

YöntemYolAçıklamaYanıt
POST/logGünlük girdisi yazar. Gövde: { service, level, message, extra? }boolean

TUI

YöntemYolAçıklamaYanıt
POST/tui/append-promptİsteme metin eklerboolean
POST/tui/open-helpYardım penceresini açarboolean
POST/tui/open-sessionsOturum seçiciyi açarboolean
POST/tui/open-themesTema seçiciyi açarboolean
POST/tui/open-modelsModel seçiciyi açarboolean
POST/tui/submit-promptMevcut istemi gönderirboolean
POST/tui/clear-promptİstemi temizlerboolean
POST/tui/execute-commandBir komut çalıştırır ({ command })boolean
POST/tui/show-toastToast bildirimi gösterir ({ title?, message, variant })boolean
GET/tui/control/nextSonraki kontrol isteğini beklerKontrol isteği nesnesi
POST/tui/control/responseBir kontrol isteğine yanıt verir ({ body })boolean

Kimlik Doğrulama (Auth)

YöntemYolAçıklamaYanıt
PUT/auth/:idKimlik bilgilerini ayarlar. Gövde sağlayıcı şemasıyla eşleşmelidirboolean

Olaylar (Events)

YöntemYolAçıklamaYanıt
GET/eventSunucunun gönderdiği olay akışı (SSE). İlk olay server.connected, ardından veri yolu olayları gelirSunucu tarafından gönderilen olay akışı

Dokümanlar (Docs)

YöntemYolAçıklamaYanıt
GET/docOpenAPI 3.1 spesifikasyonuOpenAPI spec içeren HTML sayfası