Yapılandırma

Sunucunun axon-config.json dosyasından okuduğu her parametre ve bunları geçersiz kılan ortam değişkenleri.

Yapılandırma dosyası

Sunucu, çalışma dizininde veya AXON_CONFIG ortam değişkenindeki yolda axon-config.json dosyasını arar. Başlangıç dosyası axonMcpServer-config.json olarak gönderilir; kopyalayıp düzenleyin.

{
  "server":   { "port": 3847 },
  "codePath": "/path/to/axon/code",
  "docsPath": "/path/to/axon/docs",
  "filePatterns": {
    "code": ["**/*.axon", "**/*.trio"],
    "docs": ["**/*.html", "**/*.md"]
  },
  "cache":   { "enabled": true, "maxAge": 86400000, "directory": ".cache" },
  "semanticSearch": { "enabled": true, "codeModel": "Xenova/all-MiniLM-L6-v2" }
}

Yollar

codePath

.axon ve .trio dosyalarınızı içeren klasörün mutlak yolu. Dosya tarayıcısı bunu özyinelemeli olarak dolaşır, filePatterns.code glob'larını onurlandırır ve excludeDirs içindeki dizinleri atlar (varsayılanlar: node_modules, .git).

docsPath

HTML belgelerinizin mutlak yolu. FlexSearch ayrıştırıcısı başlıkları, kod bloklarını ve metni belgeler dizinine çıkarır. HTML'nin yanında Markdown dosyaları da desteklenir.

OAuth

Çok kullanıcılı HTTP dağıtımları için etkinleştirin:

"oauth": {
  "enabled": true,
  "accessTokenTtl": 3600,
  "refreshTokenTtl": 2592000,
  "scopesSupported": ["mcp:read", "mcp:write", "mcp:admin"]
}

enabled: false olduğunda, HTTP aktarımı kimliği doğrulanmamış bağlantıları kabul eder — localhost için iyidir, asla genel dağıtımlar için değil.

SkySpark bağlantısı

"skyspark": {
  "home": "/path/to/skyspark",
  "configDir": "config",
  "autoDiscover": true,
  "autoSyncFunctions": true,
  "syncConcurrency": 10,
  "functionVersioning": true,
  "maxVersions": 4,
  "fallback": {
    "host":     "localhost",
    "port":     8080,
    "project":  "demo",
    "username": "su",
    "password": "su",
    "protocol": "http"
  }
}

autoDiscover

true olduğunda, sunucu SkySpark'ın yapılandırma dizinini okur ve başlangıçta her projeyi numaralandırır. false olduğunda, fallback bloğu tek bağlantı hedefi olarak kullanılır.

functionVersioning

true olduğunda, commitAxonFunction öğesine yapılan her çağrı önceki revizyonu tutar. maxVersions, en eski olanlar bırakılmadan önce işlev başına kaç revizyonun tutulacağını sınırlandırır.

fallback

autoDiscover başarısız olduğunda veya home/config yolları erişilemez olduğunda kullanılır. İstemci switchSkySparkProject öğesini keşif yoluyla bulunamayan bir projede çağırdığında da kullanılır.

Anlamsal arama

Vektör yerleştirmeleri semanticCodeSearch ve findSimilarCode özelliğini güçlendirir. Varsayılan model HuggingFace Transformers aracılığıyla tamamen yerel olarak çalışır (harici API çağrısı yok):

"semanticSearch": {
  "enabled": true,
  "codeModel": "Xenova/all-MiniLM-L6-v2",
  "embeddingThreads": 2
}

Yerleştirmeler LanceDB'de .cache/embeddings adresinde kalıcı hale getirilir. Önemli bir kod değişikliğinden sonra buildProjectEmbeddings ile yeniden oluşturun.

Birincil proje

Yürütme ve tamamlama araçlarının hedef alacak SkySpark projesini bilmesi gerekir:

"primaryProject": {
  "instance": "localhost8080",
  "project":  "sensorRead"
}

İstemciler setPrimaryProject aracılığıyla çalışma zamanında birincil projeyi değiştirebilir. Seçilen bağlam oturum için kalıcı hale getirilir.

Ortam değişkeni geçersiz kılmaları

Değişken Amaç
MCP_TRANSPORT stdio (varsayılan) veya http.
MCP_PORT MCP_TRANSPORT=http olduğunda HTTP portu. Varsayılan 3847.
AXON_CONFIG JSON yapılandırma dosyasının mutlak yolu.
NODE_OPTIONS Başlangıç komut dosyalarında --max-old-space-size=8192 olarak ayarlanmıştır.

Ortam değişkenleri JSON yapılandırmasındaki değerleri geçersiz kılar.