-
Notifications
You must be signed in to change notification settings - Fork 0
Fluxos operacionais
GaabDevWeb edited this page Jun 6, 2026
·
2 revisions
sequenceDiagram
participant M as main.py
participant S as Settings
participant SE as SearchEngine
participant DB as MySQL
M->>S: load()
M->>SE: rebuild()
SE->>DB: fetch_db_chunks
SE->>SE: BM25 por silo
M->>M: bootstrap_catalog_state
M->>M: uvicorn :8001
Importante: rebuild() corre no import de main.py — primeiro request já tem índice (se MySQL acessível).
- UI
POST /chatcommessage+session_id. -
ContextManagerresolve escopo (global, discipline, comandos). -
SearchEngine.search_candidates(). -
build_decision()→ok. - Monta mensagens (system + chunks + histórico + pin).
-
ChatProviderfaz stream do LLM (Cursor SDK por default; OpenRouter se configurado). -
post_generation_flags()— pode override (strict) ou advisory (anchored). - SSE completo → UI renderiza.
- Passos 1–4 até
build_decision(). -
allow_generation=false(ex.:provider_error, overridestrict). -
hard_stop_message(reason)— sem chamada ao LLM. - SSE com
[ACL_META]+ texto pedagógico.
| Evento | Acção |
|---|---|
Decisão com chunks (RAG ou /doc) |
PinnedSessionStore.set_pinned() após o turno |
| Turno seguinte (mesmo scope) |
_merge_pin_and_retrieval_chunks() — pin primeiro, dedupe por source, pinned_max_chars
|
| Sticky |
sticky_instruction.format(name=…) injectado antes do grounding em _assemble_system_content()
|
| Scope diferente |
_pin_conflicts → clear pin |
/reset |
clear pin |
| TTL |
begin_turn() decrementa turns_left; expira → pin removido |
| Meta SSE |
pinned_active, pinned_display, pin_chunks_used (UI: “Continuando: {name}”) |
| Origem | Mecanismo |
|---|---|
| Manual |
POST /chat com message: "/reload" + Authorization: Bearer
|
| CI ISS | Workflow sync-kernelbot-knowledge (verify + /reload) após ingest |
| Restart processo |
rebuild() no boot (import de main.py) |
Não há reload automático por filesystem (watcher.py inactivo).
Push ISS (content/ + jsons/)
→ GHA sync-kernelbot-knowledge.yml
→ Job 1 validate catalog
→ Job 2 ingest-knowledge.py → MySQL UPSERT
→ Job 3 verify + POST /reload
→ KernelBot índice RAM actualizado
Detalhe: Integração ISS (Fase 5b).
staging-setup.sh → staging-serve.sh → browser :8001
Detalhe: Staging e testes.
KernelBot — tutor de estudo sobre o material das aulas.
Índice · Home · FAQ · Como contribuir · Visão geral · Backlog · Repositório