3.5 KiB
3.5 KiB
Struktura repozytorium
#sympozium #kod
Layout
sympozium/
├── api/v1alpha1/ # Definicje typów CRD (Go)
├── cmd/ # Binaria
│ ├── agent-runner/ # Agent w podzie (LLM loop + tool execution)
│ ├── controller/ # Controller manager (wszystkie reconcilery)
│ ├── apiserver/ # HTTP + WebSocket API server
│ ├── ipc-bridge/ # IPC bridge sidecar (fsnotify → NATS)
│ ├── memory-server/ # Memory sidecar (SQLite + FTS5)
│ ├── web-proxy/ # Web proxy (OpenAI-compat + MCP gateway)
│ ├── webhook/ # Admission webhook
│ ├── node-probe/ # DaemonSet odkrywający inference providers
│ └── sympozium/ # CLI + TUI (Bubble Tea)
├── web/ # Web dashboard (React + TypeScript + Vite)
├── channels/ # Implementacje kanałów
│ ├── telegram/
│ ├── slack/
│ ├── discord/
│ └── whatsapp/
├── internal/ # Pakiety wewnętrzne
│ ├── controller/ # 6 reconcilerów + routery
│ ├── orchestrator/ # PodBuilder & Spawner
│ ├── apiserver/ # Handlery API
│ ├── mcpbridge/ # MCP bridge sidecar
│ ├── eventbus/ # NATS JetStream
│ ├── ipc/ # IPC bridge
│ ├── webhook/ # Enforcement polityk
│ ├── webproxy/ # OpenAI proxy + MCP + rate limiting
│ ├── session/ # Sesje (PostgreSQL)
│ └── channel/ # Bazowe typy kanałów
├── config/ # Manifesty K8s
│ ├── crd/bases/ # Wygenerowane CRD YAML
│ ├── personas/ # Wbudowane PersonaPacks
│ ├── skills/ # Wbudowane SkillPacks
│ ├── policies/ # Presety SympoziumPolicy
│ └── samples/ # Przykładowe CR
├── charts/sympozium/ # Helm chart
├── migrations/ # Migracje PostgreSQL
├── test/integration/ # Testy integracyjne (shell)
├── docs/ # Dokumentacja
└── images/ # Dockerfiles
Kluczowe pliki
| Plik | Rola |
|---|---|
api/v1alpha1/*_types.go |
Definicje wszystkich CRD |
internal/controller/agentrun_controller.go |
Serce systemu - reconciliation AgentRun → Job/Sandbox |
internal/controller/sympoziuminstance_controller.go |
Zarządzanie instancjami, kanałami, memory |
internal/orchestrator/podbuilder.go |
Budowanie spec'ów podów agentów |
cmd/agent-runner/tools.go |
7 wbudowanych narzędzi agenta |
internal/eventbus/types.go |
Definicje tematów NATS |
Komponenty jako kontenery
| Komponent | Obraz | Rola |
|---|---|---|
controller |
Controller manager | Reconciluje wszystkie CRD |
apiserver |
API server | HTTP + WebSocket + embedded web UI |
agent-runner |
Agent | LLM provider agnostic runner |
ipc-bridge |
Sidecar | fsnotify → NATS bridge |
mcp-bridge |
Sidecar | MCP protocol translator |
memory-server |
Sidecar/Deployment | SQLite + FTS5 |
web-proxy |
Web proxy | OpenAI-compat API |
webhook |
Admission webhook | Policy enforcement |
node-probe |
DaemonSet | Inference discovery |
channel-* |
Channel pods | Telegram, Slack, Discord, WhatsApp |
Powiązane: Czym jest Sympozium | Control Plane