feat(codex-link): AITURK work routing setting and beta.40
Server CI and Windows package / verify (push) Successful in 2m42s
Server CI and Windows package / windows-package (push) Successful in 6m21s

- Default routing rule (user decision, 15 Oct 2026): repeating/scheduled work goes to the AITURK IDE bot as a cron job; coding stays in Codex (itself or its subagents); 'Codex' or 'sen yap' keeps everything in Codex.
- Settings > Codex Bağlama: choice (recommended / send large work / never / custom text) with a text box and restore-default; written to bridge.json aiturk_hat.
- Bridge re-reads aiturk_hat when bridge.json changes: no restart. IDE apply keeps aiturk_hat instead of wiping it.
- Bridge version 20, IDE 1.0.0-beta.40. Jev untouched.
This commit is contained in:
yilsem committed 2026-10-15 02:18:18 +03:00
1 parent a7ba300448
commit 557e619499
16 files changed
+388 -26

No files matched your search

+18 -3
View File
@@ -42,7 +42,7 @@ from bekci_watch import MetadataFilter
# Installed only by owned native launcher, never an HTTP control endpoint.
WATCH_OWNER = None
SURUM = "19"
SURUM = "20"
HERE = os.path.dirname(os.path.abspath(__file__))
try:
with open(os.path.abspath(__file__), "rb") as _f:
@@ -416,7 +416,7 @@ HAT_KOMUT = [None]
def hat_komut_loop():
while True:
try:
if (CFG.get("aiturk_hat") or {}).get("enabled") is not False:
if True: # komut her zaman aranir; secim ayarlar ekranindan sonradan acilabilir
bulunan = is_hatti.komut_bul()
if bulunan != HAT_KOMUT[0]:
HAT_KOMUT[0] = bulunan
@@ -427,6 +427,21 @@ def hat_komut_loop():
threading.Thread(target=hat_komut_loop, daemon=True).start()
_HAT_AYAR = {"mtime": None, "deger": None}
def hat_ayari():
"""bridge.json "aiturk_hat" alani; ayarlar ekranindan yapilan degisiklik yeniden baslatmadan uygulanir."""
yol = os.path.join(HOME, "bridge.json")
try:
mt = os.path.getmtime(yol)
if mt != _HAT_AYAR["mtime"]:
with open(yol, encoding="utf-8") as f:
_HAT_AYAR["deger"] = (json.load(f) or {}).get("aiturk_hat")
_HAT_AYAR["mtime"] = mt
return _HAT_AYAR["deger"]
except Exception:
return CFG.get("aiturk_hat")
LAST_MODELS = {} # hesap kimligi -> son basarili model listesi (chatgpt.com hata verirse bu verilir)
CACHE_DIR = os.path.join(LOGDIR, "son-liste")
@@ -1755,7 +1770,7 @@ class H(http.server.BaseHTTPRequestHandler):
if CFG.get("sesle_model", True) and CFG.get("model_bilgi", True) and sohbet and model_gecis.bilgi_ekle(req):
govde_degisti = True
if is_hatti.masaustu_mu(kaynak) and is_hatti.ekle(
req, is_hatti.talimat(CFG.get("aiturk_hat"), HAT_KOMUT[0], sohbet)):
req, is_hatti.talimat(hat_ayari(), HAT_KOMUT[0], sohbet)):
govde_degisti = True
# Ek modelde yerlesik web aramasi yok (flatten_request atar): aramayi kabukla yapan komut soylenir.
if internet.ekle(req, internet.talimat(CFG.get("internet"), os.path.join(HERE, "ara.py"))):