AiTools.ConductorSyncTool 1.0.0.1536
conductor-sync
Conductor'in POST /prepare ucunu saran ince global dotnet tool (AIT-726). Ajanin/operatorun her
projeden kosabilecegi tek komut: proje-app + rol calisma ortamini conductor'a kurdurur (worktree +
agent-PAT mint + profile-sync render).
Kararin kaydi: decision/design/conductor-sync-cli. Cozulen bosluk "adresi bilmek" degil
"cagirabilmek": baska bir repoda oturan koordinator conductor'i CALISTIRAMIYORDU. Endpoint'i arac
bilir; ajan HTTP istegi kurmaz.
Sifir paket bagimliligi (System.Net.Http + System.Text.Json).
Ayni makine siniri (once bunu oku)
Conductor loopback-bind'dir ve loopback-disi Host basligini 403 host_not_allowed ile reddeder
(client/conductor/service/Configuration/LocalHostGuard.cs). Yani bu arac conductor ile ayni makinede
calisir; uzak bir conductor'a baglanma yolu YOKTUR.
Loopback-disi bir adres verilirse arac istegi gondermez: kullanim hatasi doner (exit 3) ve sinirin adini soyler. Yaniltici bir "deneyip 403 al" davranisi bilincli olarak yok.
"Ayni makine" YETMEZ: ag namespace'i de erisebilir olmali. Olculdu -- Windows tarafinda kosan koordinator oturumu conductor'a erisir, WSL tarafindan ERISILEMEZ (WSL'den hem loopback hem Windows host IP'si cevapsiz kalir, conductor AYAKTA iken). Sebep yapisal: WSL2 ayri bir ag namespace'indedir ve Windows loopback'ine ulasamaz. Bugun bu isi bozmaz -- araci koordinator kosar, WSL'deki rol ajani kendi ortamini kurmaz.
Sonucu bir teshis tuzagidir: WSL'den kosarsan aldigin Connection refused "conductor kapali" DEMEK
DEGILDIR; servis ayakta iken de aynen gelir. Servisin durumunu erisebilen taraftan olc.
Kurulum
dotnet tool install --global AiTools.ConductorSyncTool \
--add-source https://ai-repo.red-wood.cloud/v3/index.json
~/.dotnet/tools PATH'te olmali. Dogrulama: conductor-sync --help.
Onkosul: bu yol paketin feed'e yayimlanmis olmasini gerektirir; yayim ELLE yapilir
(NUGET-PUBLISH.md). Paket yayimlanmadan install bulunamadi hatasi verir -- repo'da kaynagin olmasi
aracin kurulu oldugunu GOSTERMEZ. Yayim beklenmeden kosmak icin kaynaktan calistir:
cd client/conductor-sync && dotnet run --project cli -c Release -- --help
Kullanim
conductor-sync prepare --project ai-tools --app conductor --role backend
conductor-sync prepare --help # tum flag'ler + cikis kodlari
Kapsam yalniz prepare (kullanici karari, AIT-726): dispatch / tur surme / resume / sonuc alma yuzeyi
bu araca ACILMAZ. Genisletme ihtiyaci cikarsa ayri task ile yapilir.
Conductor adresi
Cozum sirasi profile-sync emsalinin aynisi -- flag > env, tek farkla: hicbiri yoksa belgelenmis varsayilan kullanilir, arac hata vermez.
| kaynak | deger |
|---|---|
--api-base <url> |
en oncelikli |
env CONDUCTOR_SYNC_API_BASE |
flag yoksa |
| varsayilan | http://localhost:5100 -- conductor'in kendi Kestrel bind adresi (service/appsettings.json) |
Varsayilan sessiz degil: her kosu, cozulen adresi ve kaynagini (--api-base / env ... / varsayilan)
stderr'e basar; --help varsayilani yazar.
Cikis kodlari
| kod | anlam |
|---|---|
| 0 | ortam hazir ve agent-PAT mint edildi |
| 1 | conductor'a ulasilamadi / conductor hata dondu / beklenmeyen govde |
| 3 | kullanim hatasi (eksik-bilinmeyen flag, gecersiz veya loopback-disi adres) |
| 4 | ortam kuruldu ama PAT'siz (minted=false) |
Neden 4 ayri bir kod: /prepare, pat-parents'ta proje x rol parent kaydi yoksa ortami PAT'siz kurar ve
yine 200 doner (olculen tuzak, decision/design/agent-session-relay tuzak 1). Boyle bir ortamda ajan
MCP'ye giremez ama kurulum "basarili" gorunur. Arac bunu sert duruma cevirir: cikis kodu 0'dan farkli ve
mesaj durumu acikca soyler. Script'te if conductor-sync prepare ... yeterlidir; kodu ayirt etmek isteyen
$? degerine bakar.
Zincirdeki yeri
conductor-sync -> conductor (/prepare) -> profile-sync
Baglilik yonu bugunku conductor -> profile-sync ile aynidir. profile-sync'e dokunulmaz: conductor'a
ozgu hicbir kavram, parametre veya cikti oraya eklenmez -- bu araca da profile-sync bagimliligi girmez.
Gelistirme
cd client/conductor-sync
dotnet build -c Release
dotnet test conductor-sync.slnx -c Release
Wire sozlesmesi (PrepareRequestBody / PrepareReportBody) conductor'daki PrepareRequest /
PrepareReport ile duplike tutulur: arac ASP.NET host'unu referans etmez (profile-sync-tool ile ayni
zero-dep durus). Sozlesme degisirse iki taraf birlikte guncellenir; ConductorClientTests istek govdesinin
alan adlarini kilitler.
| Version | Downloads | Last updated |
|---|---|---|
| 1.0.0.1536 | 3 | 09/02/2026 |