Skip to content

Latest commit

ย 

History

History
220 lines (187 loc) ยท 12.4 KB

File metadata and controls

220 lines (187 loc) ยท 12.4 KB

LocalTopSH โ€” ะั€ั…ะธั‚ะตะบั‚ัƒั€ะฐ ะธ ะกั‚ะฐั‚ะธัั‚ะธะบะฐ

๐Ÿ“Š ะกั‚ะฐั‚ะธัั‚ะธะบะฐ ะฟั€ะพะตะบั‚ะฐ

ะœะตั‚ั€ะธะบะฐ ะ—ะฝะฐั‡ะตะฝะธะต
ะ’ัะตะณะพ ะบะพะผะผะธั‚ะพะฒ 188
ะ”ะฝะธ ั€ะฐะทั€ะฐะฑะพั‚ะบะธ 7 (2-8 ั„ะตะฒั€ะฐะปั 2026)
Python ั„ะฐะนะปะพะฒ 5,561
TypeScript ั„ะฐะนะปะพะฒ 2,409
ะกั‚ั€ะพะบ ะบะพะดะฐ ~122,000
ะŸะฐั‚ั‚ะตั€ะฝะพะฒ ะฑะตะทะพะฟะฐัะฝะพัั‚ะธ 247
Injection ะฟะฐั‚ั‚ะตั€ะฝะพะฒ 19
ะฃะฝะธะบะฐะปัŒะฝั‹ั… ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน 186
ะ”ะฐะฝะฝั‹ะต workspace 15 GB

ะšะพะผะผะธั‚ั‹ ะฟะพ ะดะฝัะผ

2026-02-02  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ  84 (ัั‚ะฐั€ั‚ ะฟั€ะพะตะบั‚ะฐ)
2026-02-03  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                                20
2026-02-04  โ–ˆโ–ˆโ–ˆ                                        6
2026-02-05  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                                    13
2026-02-06  โ–ˆโ–ˆ                                         4
2026-02-07  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                        37
2026-02-08  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                              24

ะšะพะฝั‚ั€ะธะฑัŒัŽั‚ะพั€ั‹

ะะฒั‚ะพั€ ะšะพะผะผะธั‚ั‹
LocalTopSH Bot (AI) 170
Valerii Kovalskii 9
pasha 4
LocalTopSH 4
darklion 1

๐Ÿ—๏ธ ะั€ั…ะธั‚ะตะบั‚ัƒั€ะฐ

ะžะฑั‰ะฐั ัั…ะตะผะฐ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                           INFRASTRUCTURE                                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                     โ”‚
โ”‚  โ”‚   Telegram   โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚     bot      โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚     core     โ”‚                     โ”‚
โ”‚  โ”‚    Users     โ”‚     โ”‚   :4001      โ”‚     โ”‚    :4000     โ”‚                     โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                     โ”‚
โ”‚                                                   โ”‚                              โ”‚
โ”‚                              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”‚
โ”‚                              โ”‚                    โ”‚                    โ”‚        โ”‚
โ”‚                              โ–ผ                    โ–ผ                    โ–ผ        โ”‚
โ”‚                       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚                       โ”‚    proxy     โ”‚     โ”‚  tools-api   โ”‚     โ”‚  docker-mcp  โ”‚โ”‚
โ”‚                       โ”‚    :3200     โ”‚     โ”‚    :8100     โ”‚     โ”‚    :3100     โ”‚โ”‚
โ”‚                       โ”‚  (secrets)   โ”‚     โ”‚  (registry)  โ”‚     โ”‚   (MCP)      โ”‚โ”‚
โ”‚                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ”‚                              โ”‚                                                   โ”‚
โ”‚                              โ–ผ                                                   โ”‚
โ”‚                       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                          โ”‚
โ”‚                       โ”‚  External    โ”‚                                          โ”‚
โ”‚                       โ”‚  LLM API     โ”‚                                          โ”‚
โ”‚                       โ”‚  (vLLM/etc)  โ”‚                                          โ”‚
โ”‚                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                          โ”‚
โ”‚                                                                                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚   admin      โ”‚     โ”‚  scheduler   โ”‚     โ”‚   userbot    โ”‚     โ”‚  sandbox_*   โ”‚โ”‚
โ”‚  โ”‚   :3000      โ”‚     โ”‚   (cron)     โ”‚     โ”‚  (Telegram)  โ”‚     โ”‚  :5000-5999  โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ”‚                                                                                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ะœะธะบั€ะพัะตั€ะฒะธัั‹

ะกะตั€ะฒะธั ะŸะพั€ั‚ ะขะตั…ะฝะพะปะพะณะธั ะ ะพะปัŒ
bot 4001 Python/aiogram Telegram ะฑะพั‚, ะฒั…ะพะดะฝะฐั ั‚ะพั‡ะบะฐ
core 4000 TypeScript ReAct ะฐะณะตะฝั‚, ะพั€ะบะตัั‚ั€ะฐั†ะธั
proxy 3200 Python/Flask ะ˜ะทะพะปัั†ะธั ัะตะบั€ะตั‚ะพะฒ, LLM ะฟั€ะพะบัะธ
tools-api 8100 TypeScript ะ ะตะตัั‚ั€ ะธะฝัั‚ั€ัƒะผะตะฝั‚ะพะฒ, skills
docker-mcp 3100 TypeScript MCP ัะตั€ะฒะตั€ ะดะปั Docker
admin 3000 React/nginx ะ’ะตะฑ-ะฟะฐะฝะตะปัŒ ัƒะฟั€ะฐะฒะปะตะฝะธั
scheduler - Python ะŸะปะฐะฝะธั€ะพะฒั‰ะธะบ ะทะฐะดะฐั‡
userbot - Python/Telethon ะฎะทะตั€ะฑะพั‚ ะดะปั ะณั€ัƒะฟะฟ
sandbox_* 5000+ Docker ะ˜ะทะพะปะธั€ะพะฒะฐะฝะฝั‹ะต ะพะบั€ัƒะถะตะฝะธั

๐Ÿ” ะœะพะดะตะปัŒ ะฑะตะทะพะฟะฐัะฝะพัั‚ะธ

ะŸัั‚ัŒ ัƒั€ะพะฒะฝะตะน ะทะฐั‰ะธั‚ั‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Layer 1: ACCESS CONTROL                                        โ”‚
โ”‚  โ”œโ”€โ”€ admin     โ€” ั‚ะพะปัŒะบะพ ะฐะดะผะธะฝ                                  โ”‚
โ”‚  โ”œโ”€โ”€ allowlist โ€” ะฑะตะปั‹ะน ัะฟะธัะพะบ                                   โ”‚
โ”‚  โ”œโ”€โ”€ pairing   โ€” ะบะพะดั‹ ะฟะพะดั‚ะฒะตั€ะถะดะตะฝะธั                            โ”‚
โ”‚  โ””โ”€โ”€ public    โ€” ะพั‚ะบั€ั‹ั‚ั‹ะน ะดะพัั‚ัƒะฟ                               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Layer 2: INPUT VALIDATION                                      โ”‚
โ”‚  โ””โ”€โ”€ 247 ะฟะฐั‚ั‚ะตั€ะฝะพะฒ ะฑะปะพะบะธั€ะพะฒะบะธ ะพะฟะฐัะฝั‹ั… ะบะพะผะฐะฝะด                   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Layer 3: PROMPT INJECTION DEFENSE                              โ”‚
โ”‚  โ””โ”€โ”€ 19 ะฟะฐั‚ั‚ะตั€ะฝะพะฒ ะดะตั‚ะตะบั†ะธะธ ะผะฐะฝะธะฟัƒะปัั†ะธะน                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Layer 4: SANDBOX ISOLATION                                     โ”‚
โ”‚  โ”œโ”€โ”€ Docker per-user                                           โ”‚
โ”‚  โ”œโ”€โ”€ 512 MB RAM limit                                          โ”‚
โ”‚  โ”œโ”€โ”€ 50% CPU limit                                             โ”‚
โ”‚  โ””โ”€โ”€ 100 PIDs limit                                            โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Layer 5: SECRETS PROTECTION                                    โ”‚
โ”‚  โ””โ”€โ”€ Proxy-ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ะฐ: ะฐะณะตะฝั‚ ะฝะธะบะพะณะดะฐ ะฝะต ะฒะธะดะธั‚ API ะบะปัŽั‡ะธ       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ะ—ะฐะฑะปะพะบะธั€ะพะฒะฐะฝะฝั‹ะต ะฒะตะบั‚ะพั€ั‹ ะฐั‚ะฐะบ

ะšะฐั‚ะตะณะพั€ะธั ะŸั€ะธะผะตั€ั‹ ะ—ะฐั‰ะธั‚ะฐ
Env extraction env, printenv, /proc/self/environ ะ‘ะปะพะบะธั€ะพะฒะบะฐ ะฟะฐั‚ั‚ะตั€ะฝะพะฒ
File exfiltration cat .env, base64 secrets Sensitive file detection
Network attacks curl http://proxy:3200 Internal service blocking
Resource exhaustion Fork bomb, stress --cpu Docker limits
Prompt injection "ะทะฐะฑัƒะดัŒ ะธะฝัั‚ั€ัƒะบั†ะธะธ", "DAN mode" 19 regex ะฟะฐั‚ั‚ะตั€ะฝะพะฒ

๐Ÿ“ ะกั‚ั€ัƒะบั‚ัƒั€ะฐ ะฟั€ะพะตะบั‚ะฐ

LocalTopSH/
โ”œโ”€โ”€ bot/                    # Telegram ะฑะพั‚ (aiogram)
โ”‚   โ”œโ”€โ”€ main.py
โ”‚   โ”œโ”€โ”€ access.py           # DM Policy
โ”‚   โ””โ”€โ”€ prompt-injection-patterns.json
โ”‚
โ”œโ”€โ”€ core/                   # ReAct ะฐะณะตะฝั‚ (TypeScript)
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ agent/          # ะะณะตะฝั‚ ะธ system prompt
โ”‚   โ”‚   โ”œโ”€โ”€ approvals/      # ะ’ะฐะปะธะดะฐั†ะธั ะบะพะผะฐะฝะด
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ blocked-patterns.json (247 ะฟะฐั‚ั‚ะตั€ะฝะพะฒ)
โ”‚   โ”‚   โ”œโ”€โ”€ tools/          # ะ˜ะฝัั‚ั€ัƒะผะตะฝั‚ั‹ ะฐะณะตะฝั‚ะฐ
โ”‚   โ”‚   โ””โ”€โ”€ config.ts       # ะฆะตะฝั‚ั€ะฐะปะธะทะพะฒะฐะฝะฝั‹ะน ะบะพะฝั„ะธะณ
โ”‚   โ””โ”€โ”€ tools/              # Python tools
โ”‚
โ”œโ”€โ”€ proxy/                  # ะกะตะบั€ะตั‚ั‹ ะธ LLM ะฟั€ะพะบัะธ
โ”‚   โ””โ”€โ”€ proxy.py
โ”‚
โ”œโ”€โ”€ admin/                  # React ะฐะดะผะธะฝ-ะฟะฐะฝะตะปัŒ
โ”‚   โ””โ”€โ”€ src/
โ”‚
โ”œโ”€โ”€ tools-api/              # ะ ะตะตัั‚ั€ ะธะฝัั‚ั€ัƒะผะตะฝั‚ะพะฒ
โ”œโ”€โ”€ docker-mcp/             # MCP ัะตั€ะฒะตั€
โ”œโ”€โ”€ scheduler/              # ะŸะปะฐะฝะธั€ะพะฒั‰ะธะบ
โ”œโ”€โ”€ userbot/                # Telegram userbot
โ”‚
โ”œโ”€โ”€ scripts/
โ”‚   โ””โ”€โ”€ doctor.py           # Security audit (46 checks)
โ”‚
โ”œโ”€โ”€ workspace/              # Per-user ะดะฐะฝะฝั‹ะต (186 ัŽะทะตั€ะพะฒ, 15GB)
โ”œโ”€โ”€ secrets/                # API ะบะปัŽั‡ะธ (Docker secrets)
โ””โ”€โ”€ docker-compose.yml      # ะžั€ะบะตัั‚ั€ะฐั†ะธั

๐Ÿš€ ะขะตะบัƒั‰ะธะน ัั‚ะฐั‚ัƒั

ะ—ะฐะฟัƒั‰ะตะฝะฝั‹ะต ะบะพะฝั‚ะตะนะฝะตั€ั‹

ะšะพะฝั‚ะตะนะฝะตั€ ะกั‚ะฐั‚ัƒั Uptime
bot โœ… healthy 41 hours
core โœ… healthy 39 hours
proxy โœ… healthy 39 hours
admin โœ… healthy 39 hours
tools-api โœ… healthy 39 hours
docker-mcp โœ… healthy 41 hours
scheduler โœ… healthy 36 hours
userbot โœ… running 2 days

ะ‘ะพะตะฒะพะต ั‚ะตัั‚ะธั€ะพะฒะฐะฝะธะต

  • ะฃั‡ะฐัั‚ะฝะธะบะพะฒ: 1500+ ั…ะฐะบะตั€ะพะฒ
  • ะ”ะปะธั‚ะตะปัŒะฝะพัั‚ัŒ: 7 ั‡ะฐัะพะฒ ัั‚ั€ะตัั-ั‚ะตัั‚ะฐ
  • ะฃั‚ะตั‡ะตะบ ัะตะบั€ะตั‚ะพะฒ: 0
  • ะ”ะฐัƒะฝั‚ะฐะนะผ: 0

๐Ÿ› ๏ธ ะขะตั…ะฝะพะปะพะณะธั‡ะตัะบะธะน ัั‚ะตะบ

ะกะปะพะน ะขะตั…ะฝะพะปะพะณะธะธ
Backend TypeScript, Python 3.11
Bot aiogram 3.x, Telethon
Agent ReAct pattern, OpenAI-compatible API
Frontend React, nginx
Containers Docker, Docker Compose
Monitoring Grafana, node-exporter
LLM vLLM, Ollama, llama.cpp (any OpenAI-compatible)

๐Ÿ“ˆ ะšะปัŽั‡ะตะฒั‹ะต ะผะตั‚ั€ะธะบะธ

ะšะพะผะผะธั‚ะพะฒ ะทะฐ ะฟะตั€ะฒั‹ะน ะดะตะฝัŒ:     84 (44% ะพั‚ ะฒัะตั…)
ะกั€ะตะดะฝะธะน ะบะพะผะผะธั‚ะพะฒ ะฒ ะดะตะฝัŒ:     27
ะšะพะด ัะณะตะฝะตั€ะธั€ะพะฒะฐะฝ AI:         ~90% (170/188 ะบะพะผะผะธั‚ะพะฒ)
ะ’ั€ะตะผั ะพั‚ ะธะดะตะธ ะดะพ ะฟั€ะพะดะฐะบัˆะฝ:   7 ะดะฝะตะน