Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / Web uygulaması

Referans

Asistan ve sohbet ekranları

assistant.js, chat-task.js ve widget-ai.js için başvuru; niyet asistanının sohbet ekranı, ana ekran bileşeni ve görev kartları.

Web uygulamasında niyet asistanı için bir sohbet ekranı ve aynı sohbeti paylaşan bir ana ekran bileşeni vardır. İstemci yalnız çizer: her ileti POST /api/v1/chat/message ucuna gider ve yanıta sunucu karar verir. Bu sayfa istemcinin ne gönderdiğini, her yanıt parçasını nasıl çizdiğini ve görev kartlarının bir kaydı adım adım nasıl topladığını listeler. Motor niyet asistanı sayfasında anlatılır.

Kapsam ve kaynak

  • Tanımlandığı yer: webapp/js/assistant.js (renderAssistant, ensureAssistant, askAssistant, getConversation, subscribeConversation, resetAssistant), webapp/js/chat-task.js (ChatTask, createTaskCard), webapp/js/widget-ai.js (renderAiWidget)
  • Sayı: renderReply tarafından işlenen 4 yanıt parçası (webapp/js/assistant.js:194-199)

Asistanı açma

Giriş Kaynak
screen: "assistant" taşıyan, manifesto kimliği ai-assistant olan asistan uygulaması src/cluster_erp/modules/app_store/catalog.json:131-139, webapp/js/home.js:2425-2426
Ana ekran durum satırındaki asistan düğmesi (chat.title) webapp/js/home.js:152-155
ai anahtarlı ana ekran bileşeni webapp/js/home.js:292-302

İstek

sendToEngine(payload) /chat/message ucuna {text, allowed_modules, ...payload} gönderir. allowed_modules, app-scope.js içindeki kurulu uygulama kapsamıdır; yorum, motorun yalnız bu modüller ve çağıranın izinleri içinde yanıt verdiğini belirtir (webapp/js/assistant.js:201-217). Bkz. modül uygulamaları ve uygulama kapsamı.

Bir görev kartı etkinken yazılan metin motora gitmez. Bir iptal sözcüğü kartı iptal eder; başka her şey chat.task.use_card ile yanıtlanır (webapp/js/assistant.js:252-264).

Yanıt parçaları

Parça Çizim Kaynak
content Bir asistan baloncuğu webapp/js/assistant.js:195
navigate_to chat.cannot_navigate içeren bir baloncuk webapp/js/assistant.js:196
actions Bir düğme satırı; bir navigate aksiyonu da chat.cannot_navigate ile yanıtlanır webapp/js/assistant.js:139-166, webapp/js/assistant.js:197
task_card Sohbette bir görev kartı webapp/js/assistant.js:167-192, webapp/js/assistant.js:198

Bir hata yanıtı çevrilmiş hata metniyle bir asistan baloncuğu olarak gösterilir (webapp/js/assistant.js:211-215).

Sohbet

Sohbet oturum boyunca bellekte yaşar ve en çok 200 ileti tutar (webapp/js/assistant.js:17, webapp/js/assistant.js:84-90). Sohbet ekranı ve bileşen onu getConversation ve subscribeConversation ile paylaşır (webapp/js/assistant.js:420-437). Bileşen son 40 girdiyi gösterir ve kurulu her modülün assistant_starters metadata'sından başlangıç önerileri sunar (webapp/js/widget-ai.js:18-28). tests/test_metadata_driven_rules.py:77 başlangıç önerilerinin iki dilde modül metadata'sı olduğunu denetler.

Ekran ayrıca eklenen dosyalar için dosya çipleri ve sayaçlı bir ses kaydedici gösterir (webapp/js/assistant.js:275-320). Başlık yorumu kaydediciyi görünüş amaçlı olarak adlandırır (webapp/js/assistant.js:1-6); yalnız dosya içeren bir ileti çipleri gösterir ve motora hiçbir şey göndermez (webapp/js/assistant.js:262).

resetAssistant() çıkışta ve uygulama açık uygulamalar ekranından kapatıldığında sohbeti, etkin kartı ve bekleyen dosyaları atar (webapp/js/assistant.js:457-467, webapp/js/main.js:167, webapp/js/home.js:2545).

Görev kartları

Bir görev kartı, sunucudaki bir TaskCardOut nesnesinin istemci tarafıdır: bir varlık türü ve etiketi, bir modül, bir API yolu ve bir alan listesi (webapp/js/chat-task.js:1-5, webapp/js/chat-task.js:13-38).

Adım Davranış Kaynak
Adım başına bir alan Geri, atla (isteğe bağlı alanlar için) ve ileri webapp/js/chat-task.js:47-80
Koşullar Koşulu sağlanmayan bir alan atlanır webapp/js/chat-task.js:99-103
Yabancı anahtar araması Seçenekler alanın kaynağının GET /<module><endpoint> ucundan gelir webapp/js/chat-task.js:300-315
Özet Her yanıtın düzenlenebilir özeti webapp/js/chat-task.js:81-87, webapp/js/chat-task.js:122-135
Gönderme Toplanan verinin kartın API yoluna POST ile gönderilmesi webapp/js/chat-task.js:466-480

Etkin bir kartın modülü kurulu uygulama kapsamından çıktığında kart iptal edilir (webapp/js/assistant.js:220-230).

Kısıtlar ve doğrulama

  • Sunucu her ileti ve her gönderim için izinleri uygular; istemcinin kapsamı yalnız neyi sorduğunu daraltır.
  • Tarayıcı testleri: web-client/_e2e_assistant.mjs, web-client/_e2e_widgets_ai_sched.mjs.

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
task card createTaskCard Bir oluşturma niyeti için metadata'dan kurulan ve bir kayıt oluşturan, konuşmadaki adım adım form. görev kartı webapp/js/chat-task.js:149
starter chip assistant_starters Bir modülün asistan bileşeninde sunduğu tek dokunuşluk soru. başlangıç önerisi webapp/js/widget-ai.js:22-28
allowed modules allowed_modules Her sohbet iletisiyle gönderilen kurulu uygulama kapsamı. izinli modüller webapp/js/assistant.js:209

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13