62 lines
1.3 KiB
Plaintext
62 lines
1.3 KiB
Plaintext
flowchart TB
|
|
subgraph External
|
|
USER([User])
|
|
DISCORD([Discord API])
|
|
LLM([OpenRouter])
|
|
NTFY([ntfy.sh])
|
|
end
|
|
|
|
subgraph Bot["bot/"]
|
|
CLIENT[bot.py]
|
|
REGISTRY[command_registry.py]
|
|
COMMANDS[commands/]
|
|
end
|
|
|
|
subgraph API["api/"]
|
|
FLASK[main.py]
|
|
ROUTES[routes/]
|
|
end
|
|
|
|
subgraph Scheduler["scheduler/"]
|
|
DAEMON[daemon.py]
|
|
end
|
|
|
|
subgraph Core["core/"]
|
|
AUTH[auth.py]
|
|
USERS[users.py]
|
|
PG[postgres.py]
|
|
NOTIF[notifications.py]
|
|
end
|
|
|
|
subgraph AI["ai/"]
|
|
PARSER[parser.py]
|
|
CONFIG[ai_config.json]
|
|
end
|
|
|
|
subgraph DB["db service"]
|
|
POSTGRES[(PostgreSQL)]
|
|
end
|
|
|
|
USER <-->|"DM"| DISCORD
|
|
DISCORD <-->|"events"| CLIENT
|
|
CLIENT -->|"parse"| PARSER
|
|
PARSER -->|"completion"| LLM
|
|
LLM -->|"JSON"| PARSER
|
|
PARSER -->|"structured data"| CLIENT
|
|
CLIENT -->|"get_handler"| REGISTRY
|
|
REGISTRY -->|"handler"| COMMANDS
|
|
COMMANDS -->|"logic"| CLIENT
|
|
CLIENT -->|"HTTP"| FLASK
|
|
FLASK --> ROUTES
|
|
FLASK --> AUTH
|
|
FLASK --> USERS
|
|
FLASK --> PG
|
|
AUTH --> USERS
|
|
USERS --> PG
|
|
PG --> POSTGRES
|
|
DAEMON --> PG
|
|
DAEMON --> NOTIF
|
|
NOTIF -->|"webhook"| DISCORD
|
|
NOTIF -->|"push"| NTFY
|
|
PARSER --> CONFIG
|