kodine serve komutu, kodine istemcilerinin kullanabileceği bir OpenAPI uç noktası açan headless bir HTTP sunucusu başlatır.
kodine serve [--port <number>] [--hostname <string>] [--cors <origin>]
Bayrak Açıklama Varsayılan --portDinlenecek bağlantı noktası 4096--hostnameDinlenecek ana bilgisayar adı 127.0.0.1--mdnsmDNS keşfini açar false--mdns-domainmDNS hizmeti için özel alan adı kodine.local--corsİzin verilecek ek tarayıcı kaynakları (origin) []
--cors birden fazla kez verilebilir:
kodine serve --cors http://localhost:5173 --cors https://app.example.com
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.
KODINE_SERVER_PASSWORD = your-password kodine serve
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.
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.
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.
kodine sunucusu aşağıdaki API’leri sunar.
Yöntem Yol Açıklama Yanı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ışı
Yöntem Yol Açıklama Yanıt GET/projectTüm projeleri listeler Project[]GET/project/currentGeçerli projeyi verir Project
Yöntem Yol Açıklama Yanıt GET/pathGeçerli yolu verir PathGET/vcsGeçerli projenin VCS bilgisini verir VcsInfo
Yöntem Yol Açıklama Yanıt POST/instance/disposeGeçerli örneği (instance) kapatır boolean
Yöntem Yol Açıklama Yanıt GET/configYapılandırma bilgisini verir ConfigPATCH/configYapılandırmayı günceller ConfigGET/config/providersSağlayıcıları ve varsayılan modelleri listeler { providers: Provider[] , default: { [key: string]: string } }
Yöntem Yol Açıklama Yanı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 yetkilendirir ProviderAuthAuthorizationPOST/provider/{id}/oauth/callbackBir sağlayıcının OAuth geri çağrısını işler boolean
Yöntem Yol Açıklama Notlar GET/sessionTüm oturumları listeler Session[] döndürürPOST/sessionYeni oturum oluşturur gövde: { parentID?, title? }, Session döndürür GET/session/statusTüm oturumların durumunu verir { [sessionID: string]: SessionStatus } döndürürGET/session/:idOturum ayrıntılarını verir Session döndürürDELETE/session/:idBir oturumu ve tüm verilerini siler boolean döndürürPATCH/session/:idOturum özelliklerini günceller gövde: { title? }, Session döndürür GET/session/:id/childrenBir oturumun alt oturumlarını verir Session[] döndürürGET/session/:id/todoBir oturumun yapılacaklar listesini verir Todo[] döndürürPOST/session/:id/initUygulamayı analiz edip AGENTS.md oluşturur gövde: { messageID, providerID, modelID }, boolean döndürür POST/session/:id/forkMevcut bir oturumu bir mesajdan çatallar gövde: { messageID? }, Session döndürür POST/session/:id/abortÇalışan bir oturumu iptal eder boolean döndürürPOST/session/:id/shareBir oturumu paylaşır Session döndürürDELETE/session/:id/shareBir oturumun paylaşımını kaldırır Session döndürürGET/session/:id/diffBu oturumun farkını (diff) verir sorgu: messageID?, FileDiff[] döndürür POST/session/:id/summarizeOturumu özetler gövde: { providerID, modelID }, boolean döndürür POST/session/:id/revertBir mesajı geri alır gövde: { messageID, partID? }, boolean döndürür POST/session/:id/unrevertGeri alınan tüm mesajları geri yükler boolean döndürürPOST/session/:id/permissions/:permissionIDBir izin isteğine yanıt verir gövde: { response, remember? }, boolean döndürür
Yöntem Yol Açıklama Notlar GET/session/:id/messageBir oturumdaki mesajları listeler sorgu: limit?, { info: Message , parts: Part[] }[] döndürür POST/session/:id/messageMesaj gönderip yanıt bekler gö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ürPOST/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ır gövde: { messageID?, agent?, model?, command, arguments }, { info: Message , parts: Part[] } döndürür POST/session/:id/shellBir kabuk komutu çalıştırır gövde: { agent, model?, command }, { info: Message , parts: Part[] } döndürür
Yöntem Yol Açıklama Yanıt GET/commandTüm komutları listeler Command[]
Yöntem Yol Açıklama Yanıt GET/find?pattern=<pat>Dosyalarda metin arar path, lines, line_number, absolute_offset, submatches içeren eşleşme nesneleri dizisiGET/find/file?query=<q>Dosya ve dizinleri ada göre bulur string[] (yollar)GET/find/symbol?query=<q>Çalışma alanı sembollerini bulur Symbol[]GET/file?path=<path>Dosya ve dizinleri listeler FileNode[]GET/file/content?path=<p>Bir dosyayı okur FileContentGET/file/statusİzlenen dosyaların durumunu verir File[]
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)
Yöntem Yol Açıklama Yanıt GET/experimental/tool/idsTüm araç kimliklerini listeler ToolIDsGET/experimental/tool?provider=<p>&model=<m>Bir modelin araçlarını JSON şemalarıyla listeler ToolList
Yöntem Yol Açıklama Yanıt GET/lspLSP sunucu durumunu verir LSPStatus[]GET/formatterBiçimlendirici durumunu verir FormatterStatus[]GET/mcpMCP sunucu durumunu verir { [name: string]: MCPStatus }POST/mcpDinamik olarak MCP sunucusu ekler gövde: { name, config }, MCP durum nesnesi döndürür
Yöntem Yol Açıklama Yanıt GET/agentMevcut tüm agent’ları listeler Agent[]
Yöntem Yol Açıklama Yanıt POST/logGünlük girdisi yazar. Gövde: { service, level, message, extra? } boolean
Yöntem Yol Açıklama Yanıt POST/tui/append-promptİsteme metin ekler booleanPOST/tui/open-helpYardım penceresini açar booleanPOST/tui/open-sessionsOturum seçiciyi açar booleanPOST/tui/open-themesTema seçiciyi açar booleanPOST/tui/open-modelsModel seçiciyi açar booleanPOST/tui/submit-promptMevcut istemi gönderir booleanPOST/tui/clear-promptİstemi temizler booleanPOST/tui/execute-commandBir komut çalıştırır ({ command }) booleanPOST/tui/show-toastToast bildirimi gösterir ({ title?, message, variant }) booleanGET/tui/control/nextSonraki kontrol isteğini bekler Kontrol isteği nesnesi POST/tui/control/responseBir kontrol isteğine yanıt verir ({ body }) boolean
Yöntem Yol Açıklama Yanıt PUT/auth/:idKimlik bilgilerini ayarlar. Gövde sağlayıcı şemasıyla eşleşmelidir boolean
Yöntem Yol Açıklama Yanıt GET/eventSunucunun gönderdiği olay akışı (SSE). İlk olay server.connected, ardından veri yolu olayları gelir Sunucu tarafından gönderilen olay akışı
Yöntem Yol Açıklama Yanıt GET/docOpenAPI 3.1 spesifikasyonu OpenAPI spec içeren HTML sayfası