OmniRoute/docs/i18n/in/README.md
diegosouzapw c0252f7b13 docs: replace star-history.com widget with starchart.cc in all READMEs
star-history.com embeds are often cached and slow to update. The new
starchart.cc widget (variant=adaptive) renders better on both light and
dark themes and updates in real-time.

Updated: README.md + 29 i18n locale READMEs
2026-03-12 18:15:38 -03:00

1219 lines
113 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div align="center">
# ЁЯЪА рдУрдореНрдирд┐рд░реВрдЯ - рдирд┐рдГрд╢реБрд▓реНрдХ рдПрдЖрдИ рдЧреЗрдЯрд╡реЗ
ЁЯМР **[English](#-omniroute--the-free-ai-gateway)** | \***\*рдУрдПрдордПрдирдЖрдИ_рдЯреЛрдХрди_159\*\***
### рдХреЛрдбрд┐рдВрдЧ рдХрднреА рдмрдВрдж рди рдХрд░реЗрдВред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлрд╝реЙрд▓рдмреИрдХ рдХреЗ рд╕рд╛рде **рдореБрдлрд╝реНрдд рдФрд░ рдХрдо рд▓рд╛рдЧрдд рд╡рд╛рд▓реЗ AI рдореЙрдбрд▓** рдХреЗ рд▓рд┐рдП рд╕реНрдорд╛рд░реНрдЯ рд░реВрдЯрд┐рдВрдЧред
_рдЖрдкрдХрд╛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдПрдкреАрдЖрдИ рдкреНрд░реЙрдХреНрд╕реА - рдПрдХ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ, 36+ рдкреНрд░рджрд╛рддрд╛, рд╢реВрдиреНрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдоред_
**рдЪреИрдЯ рд╕рдорд╛рдкрди тАв рдПрдВрдмреЗрдбрд┐рдВрдЧ тАв рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг тАв рдСрдбрд┐рдпреЛ тАв рдкреБрдирд░реНрд░реИрдВрдХрд┐рдВрдЧ тАв 100% рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ**
---
### ЁЯЪА New in v2.0.9+ тАФ Playground, CLI Fingerprints & ACP
| Feature | What It Does |
| ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| ЁЯОо **Model Playground** | Dashboard page to test any model directly тАФ provider/model/endpoint selectors, Monaco Editor, streaming, abort, timing |
| ЁЯФП **CLI Fingerprint Matching** | Per-provider header/body ordering to match native CLI signatures тАФ toggle per provider in Settings > Security. **Your proxy IP is preserved** |
| ЁЯдЭ **ACP Support (Agent Client Protocol)** | CLI agent discovery (Codex, Claude, Goose, Gemini CLI, OpenClaw), process spawner, `/api/acp/agents` endpoint |
| ЁЯдЦ **ACP Agents Dashboard** | Debug > Agents page тАФ grid of 14 agents with install status, version, custom agent form for any CLI tool |
| ЁЯФз **Custom Model `apiFormat` Routing** | Custom models with `apiFormat: "responses"` now correctly route to the Responses API translator |
| ЁЯПв **Codex Workspace Isolation** | Multiple Codex workspaces per email тАФ OAuth correctly separates connections by workspace ID |
| ЁЯФД **Electron Auto-Update** | Desktop app checks for updates + auto-install on restart |
### ЁЯдЦ рдЖрдкрдХреЗ рдкрд╕рдВрджреАрджрд╛ рдХреЛрдбрд┐рдВрдЧ рдПрдЬреЗрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдГрд╢реБрд▓реНрдХ рдПрдЖрдИ рдкреНрд░рджрд╛рддрд╛
_OmniRoute рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рднреА AI-рд╕рдВрдЪрд╛рд▓рд┐рдд IDE рдпрд╛ CLI рдЯреВрд▓ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ - рдЕрд╕реАрдорд┐рдд рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдирд┐рдГрд╢реБрд▓реНрдХ API рдЧреЗрдЯрд╡реЗред_
<sub>ЁЯУб рд╕рднреА рдПрдЬреЗрдВрдЯ <code>http://localhost:20128/v1</code> рдпрд╛ <code>http://cloud.omniroute.online/v1</code> рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ - рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдЕрд╕реАрдорд┐рдд рдореЙрдбрд▓ рдФрд░ рдХреЛрдЯрд╛</sub>
---
[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute)
[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute)
[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online)
[![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
[ЁЯМР Website](https://omniroute.online) тАв [ЁЯЪА Quick Start](#-quick-start) тАв [ЁЯТб Features](#-key-features) тАв [ЁЯУЦ Docs](#-documentation) тАв [ЁЯТ░ Pricing](#-pricing-at-a-glance) тАв [ЁЯТм WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
ЁЯМР **Available in:** ЁЯЗ║ЁЯЗ╕ [English](../../README.md) | ЁЯЗзЁЯЗ╖ [Portugu├кs (Brasil)](../pt-BR/README.md) | ЁЯЗкЁЯЗ╕ [Espa├▒ol](../es/README.md) | ЁЯЗлЁЯЗ╖ [Fran├зais](../fr/README.md) | ЁЯЗоЁЯЗ╣ [Italiano](../it/README.md) | ЁЯЗ╖ЁЯЗ║ [╨а╤Г╤Б╤Б╨║╨╕╨╣](../ru/README.md) | ЁЯЗиЁЯЗ│ [ф╕нцЦЗ (чоАф╜У)](../zh-CN/README.md) | ЁЯЗйЁЯЗк [Deutsch](../de/README.md) | ЁЯЗоЁЯЗ│ [рд╣рд┐рдиреНрджреА](../in/README.md) | ЁЯЗ╣ЁЯЗн [р╣Др╕Чр╕в](../th/README.md) | ЁЯЗ║ЁЯЗж [╨г╨║╤А╨░╤Ч╨╜╤Б╤М╨║╨░](../uk-UA/README.md) | ЁЯЗ╕ЁЯЗж [╪з┘Д╪╣╪▒╪и┘К╪й](../ar/README.md) | ЁЯЗпЁЯЗ╡ [цЧецЬмшкЮ](../ja/README.md) | ЁЯЗ╗ЁЯЗ│ [Tiс║┐ng Viс╗Зt](../vi/README.md) | ЁЯЗзЁЯЗм [╨С╤К╨╗╨│╨░╤А╤Б╨║╨╕](../bg/README.md) | ЁЯЗйЁЯЗ░ [Dansk](../da/README.md) | ЁЯЗлЁЯЗо [Suomi](../fi/README.md) | ЁЯЗоЁЯЗ▒ [╫в╫С╫и╫Щ╫к](../he/README.md) | ЁЯЗнЁЯЗ║ [Magyar](../hu/README.md) | ЁЯЗоЁЯЗй [Bahasa Indonesia](../id/README.md) | ЁЯЗ░ЁЯЗ╖ [эХЬъ╡ньЦ┤](../ko/README.md) | ЁЯЗ▓ЁЯЗ╛ [Bahasa Melayu](../ms/README.md) | ЁЯЗ│ЁЯЗ▒ [Nederlands](../nl/README.md) | ЁЯЗ│ЁЯЗ┤ [Norsk](../no/README.md) | ЁЯЗ╡ЁЯЗ╣ [Portugu├кs (Portugal)](../pt/README.md) | ЁЯЗ╖ЁЯЗ┤ [Rom├вn─Г](../ro/README.md) | ЁЯЗ╡ЁЯЗ▒ [Polski](../pl/README.md) | ЁЯЗ╕ЁЯЗ░ [Sloven─Нina](../sk/README.md) | ЁЯЗ╕ЁЯЗк [Svenska](../sv/README.md) | ЁЯЗ╡ЁЯЗн [Filipino](../phi/README.md)
---
## ЁЯЦ╝я╕П
<div align="center">
<img src="./docs/screenshots/MainOmniRoute.png" alt="OmniRoute" width="800"/>
</div>
---
## ЁЯУ╕
<details>
<summary><b>...</b></summary>
| # | # |
| ----- | ---------------------------------------- |
| **1** | ![1](docs/screenshots/01-providers.png) |
| **2** | ![2](docs/screenshots/02-combos.png) |
| **3** | ![3](docs/screenshots/03-analytics.png) |
| **4** | ![4](docs/screenshots/04-health.png) |
| **5** | ![5](docs/screenshots/05-translator.png) |
| **6** | ![6](docs/screenshots/06-settings.png) |
| **7** | ![7](docs/screenshots/07-cli-tools.png) |
| **8** | ![8](docs/screenshots/08-usage.png) |
| **9** | ![9](docs/screenshots/09-endpoint.png) |
</details>
---
## ЁЯдФрдУрдореНрдиреАрд░реВрдЯ рдХреНрдпреЛрдВ?
**рдкреИрд╕рд╛ рдмрд░реНрдмрд╛рдж рдХрд░рдирд╛ рдФрд░ рд╕реАрдорд╛ рдкрд╛рд░ рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВ:**
- <img src="https://img.shields.io/badge/тЬЧ-e74c3c?style=flat-square" height="16"/> рд╕рджрд╕реНрдпрддрд╛ рдХреЛрдЯрд╛ рд╣рд░ рдорд╣реАрдиреЗ рдЕрдкреНрд░рдпреБрдХреНрдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
- <img src="https://img.shields.io/badge/тЬЧ-e74c3c?style=flat-square" height="16"/> рджрд░ рд╕реАрдорд╛ рдЖрдкрдХреЛ рдХреЛрдбрд┐рдВрдЧ рдХреЗ рдмреАрдЪ рдореЗрдВ рд░реЛрдХ рджреЗрддреА рд╣реИ
- <img src="https://img.shields.io/badge/тЬЧ-e74c3c?style=flat-square" height="16"/> рдорд╣рдБрдЧреЗ API ($20-50/рдорд╛рд╣ рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛)
- <img src="https://img.shields.io/badge/тЬЧ-e74c3c?style=flat-square" height="16"/> рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдореИрдиреНрдпреБрдЕрд▓ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ
**OmniRoute рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИ:**
- тЬЕ **рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдЕрдзрд┐рдХрддрдо рдХрд░реЗрдВ** - рдХреЛрдЯрд╛ рдЯреНрд░реИрдХ рдХрд░реЗрдВ, рд░реАрд╕реЗрдЯ рд╕реЗ рдкрд╣рд▓реЗ рд╣рд░ рдмрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
- тЬЕ **рдСрдЯреЛ рдлрд╝реЙрд▓рдмреИрдХ** - рд╕рджрд╕реНрдпрддрд╛ тЖТ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА тЖТ рд╕рд╕реНрддрд╛ тЖТ рдирд┐рдГрд╢реБрд▓реНрдХ, рд╢реВрдиреНрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдо
- тЬЕ **рдорд▓реНрдЯреА-рдЕрдХрд╛рдЙрдВрдЯ** - рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛ рдЦрд╛рддреЛрдВ рдХреЗ рдмреАрдЪ рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди
- тЬЕ **рдпреВрдирд┐рд╡рд░реНрд╕рд▓** - рдХреНрд▓рд╛рдЙрдб рдХреЛрдб, рдХреЛрдбреЗрдХреНрд╕, рдЬреЗрдорд┐рдиреА рд╕реАрдПрд▓рдЖрдИ, рдХрд░реНрд╕рд░, рдХреНрд▓рд╛рдЗрди, рдУрдкрдирдХреНрд▓реЙ, рдХрд┐рд╕реА рднреА рд╕реАрдПрд▓рдЖрдИ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
---
## ЁЯУзрд╕рдорд░реНрдерди
> ЁЯТм **рд╣рдорд╛рд░реЗ рд╕рдореБрджрд╛рдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) - рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рд╕реБрдЭрд╛рд╡ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдбреЗрдЯ рд░рд╣реЗрдВред
- **рд╡реЗрдмрд╕рд╛рдЗрдЯ**: [omniroute.online](https://omniroute.online)
- **рдЧрд┐рдЯрд╣рдм**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
- **рдореБрджреНрджреЗ**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
- **рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
- **рдореВрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛**: [9router by decolua](https://github.com/decolua/9router)
---
## ЁЯФД рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
```
тФМтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФР
тФВ Your CLI тФВ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...)
тФВ Tool тФВ
тФФтФАтФАтФАтФАтФАтФАтФмтФАтФАтФАтФАтФАтФАтФШ
тФВ http://localhost:20128/v1
тЖУ
тФМтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФР
тФВ OmniRoute (Smart Router) тФВ
тФВ тАв Format translation (OpenAI тЖФ Claude) тФВ
тФВ тАв Quota tracking + Embeddings + Images тФВ
тФВ тАв Auto token refresh тФВ
тФФтФАтФАтФАтФАтФАтФАтФмтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФШ
тФВ
тФЬтФАтЖТ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI
тФВ тЖУ quota exhausted
тФЬтФАтЖТ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc.
тФВ тЖУ budget limit
тФЬтФАтЖТ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M)
тФВ тЖУ budget limit
тФФтФАтЖТ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited)
- **Ollama Cloud** тАФ Cloud-hosted Ollama models at `api.ollama.com` with free "Light usage" tier; use `ollamacloud/<model>` prefix
Result: Never stop coding, minimal cost
```
---
## ЁЯОп рдУрдордиреАрд░реВрдЯ рдХреНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИ - 30 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдмрд┐рдВрджреБ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ
> **рдПрдЖрдИ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдкреНрд░рддрд┐рджрд┐рди рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИред** рдУрдореНрдиреАрд░реВрдЯ рдХреЛ рдЙрди рд╕рднреА рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ - рд▓рд╛рдЧрдд рд╡реГрджреНрдзрд┐ рд╕реЗ рд▓реЗрдХрд░ рдХреНрд╖реЗрддреНрд░реАрдп рдмреНрд▓реЙрдХ рддрдХ, рдЯреВрдЯреЗ рд╣реБрдП рдУрдПрде рдкреНрд░рд╡рд╛рд╣ рд╕реЗ рд▓реЗрдХрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдЕрд╡рд▓реЛрдХрди рддрдХред
<details>
<summary><b>ЁЯТ╕ 1. "рдореИрдВ рдПрдХ рдорд╣рдВрдЧреА рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд╕реАрдорд╛ рд╕реЗ рдмрд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реВрдВ"</b></summary>
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреНрд▓рд╛рдЙрдб рдкреНрд░реЛ, рдХреЛрдбреЗрдХреНрд╕ рдкреНрд░реЛ, рдпрд╛ рдЧрд┐рдЯрд╣рдм рдХреЛрдкрд╛рдпрд▓рдЯ рдХреЗ рд▓рд┐рдП $20-200/рдорд╛рд╣ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдкрд░ рднреА, рдХреЛрдЯрд╛ рдХреА рдПрдХ рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИ - 5 рдШрдВрдЯреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ, рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рд╕реАрдорд╛, рдпрд╛ рдкреНрд░рддрд┐ рдорд┐рдирдЯ рдХреА рджрд░ рд╕реАрдорд╛ред рдордзреНрдп-рдХреЛрдбрд┐рдВрдЧ рд╕рддреНрд░ рдореЗрдВ, рдкреНрд░рджрд╛рддрд╛ рдкреНрд░рддреНрдпреБрддреНрддрд░ рджреЗрдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдкреНрд░рд╡рд╛рд╣ рдФрд░ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдЦреЛ рджреЗрддрд╛ рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рд╕реНрдорд╛рд░реНрдЯ 4-рдЯрд┐рдпрд░ рдлрд╝реЙрд▓рдмреИрдХ** - рдпрджрд┐ рд╕рджрд╕реНрдпрддрд╛ рдХреЛрдЯрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ тЖТ рд╕рд╕реНрддрд╛ тЖТ рд╢реВрдиреНрдп рдореИрдиреНрдпреБрдЕрд▓ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ рд╕рд╛рде рдореБрдлрд╝реНрдд
- **рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЛрдЯрд╛ рдЯреНрд░реИрдХрд┐рдВрдЧ** - рд░реАрд╕реЗрдЯ рдЙрд▓рдЯреА рдЧрд┐рдирддреА рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЯреЛрдХрди рдЦрдкрдд рджрд┐рдЦрд╛рддрд╛ рд╣реИ (5 рдШрдВрдЯреЗ, рджреИрдирд┐рдХ, рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ)
- **рдорд▓реНрдЯреА-рдЕрдХрд╛рдЙрдВрдЯ рд╕рдкреЛрд░реНрдЯ** - рдСрдЯреЛ рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛ рдПрдХрд╛рдзрд┐рдХ рдЦрд╛рддреЗ - рдЬрдм рдПрдХ рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдЧрд▓реЗ рдкрд░ рд╕реНрд╡рд┐рдЪ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
- **рдХрд╕реНрдЯрдо рдХреЙрдореНрдмреЛ** - 6 рд╕рдВрддреБрд▓рди рд░рдгрдиреАрддрд┐рдпреЛрдВ (рднрд░рдг-рдкреНрд░рдердо, рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди, рдкреА2рд╕реА, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ, рдХрдо рд╕реЗ рдХрдо рдЙрдкрдпреЛрдЧ, рд▓рд╛рдЧрдд-рдЕрдиреБрдХреВрд▓рд┐рдд) рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рдлрд╝реЙрд▓рдмреИрдХ рдЪреЗрди
- **рдХреЛрдбреЗрдХреНрд╕ рдмрд┐рдЬрдиреЗрд╕ рдХреЛрдЯрд╛** - рдмрд┐рдЬрдиреЗрд╕/рдЯреАрдо рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдХреЛрдЯрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рд╕реАрдзреЗ рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ
</details>
<details>
<summary><b>ЁЯФМ 2. "рдореБрдЭреЗ рдХрдИ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ рдПрдкреАрдЖрдИ рд╣реИ" </b></summary>
рдУрдкрдирдПрдЖрдИ рдПрдХ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдХреНрд▓рд╛рдЙрдб (рдПрдВрдереНрд░реЛрдкрд┐рдХ) рджреВрд╕рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЗрдорд┐рдиреА рдПрдХ рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдбреЗрд╡рд▓рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рдореЙрдбрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдпрд╛ рдЙрдирдХреЗ рдмреАрдЪ рдлрд╝реЙрд▓рдмреИрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрд╕рдбреАрдХреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдПрдВрдбрдкреЙрдЗрдВрдЯ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛, рдЕрд╕рдВрдЧрдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛ред рдХрд╕реНрдЯрдо рдкреНрд░рджрд╛рддрд╛рдУрдВ (рдлреНрд░реЗрдВрдбрдПрд▓рдЖрдИ, рдПрдирдЖрдИрдПрдо) рдХреЗ рдкрд╛рд╕ рдЧреИрд░-рдорд╛рдирдХ рдореЙрдбрд▓ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╣реИрдВред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рдПрдХреАрдХреГрдд рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ** - рдПрдХ рдПрдХрд▓ `http://localhost:20128/v1` рд╕рднреА 36+ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ
- **рдкреНрд░рд╛рд░реВрдк рдЕрдиреБрд╡рд╛рдж** - рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдФрд░ рдкрд╛рд░рджрд░реНрд╢реА: рдУрдкрдирдПрдЖрдИ тЖФ рдХреНрд▓рд╛рдЙрдб тЖФ рдЬреЗрдорд┐рдиреА тЖФ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдПрдкреАрдЖрдИ
- **рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪреНрдЫрддрд╛** - рдЧреИрд░-рдорд╛рдирдХ рдлрд╝реАрд▓реНрдб (`x_groq`, `usage_breakdown`, `service_tier`) рдХреЛ рд╕реНрдЯреНрд░рд┐рдкреНрд╕ рдХрд░рддрд╛ рд╣реИ рдЬреЛ OpenAI SDK v1.83+ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ
- **рднреВрдорд┐рдХрд╛ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг** - рдЧреИрд░-рдУрдкрдирдПрдЖрдИ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП `developer` тЖТ `system` рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ; `system` тЖТ GLM/ERNIE рдХреЗ рд▓рд┐рдП `user`
- **рдЯреИрдЧ рдПрдХреНрд╕рдЯреНрд░реИрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ** - рдбреАрдкрд╕реАрдХ R1 рдЬреИрд╕реЗ рдореЙрдбрд▓реЛрдВ рд╕реЗ `<think>` рдмреНрд▓реЙрдХ рдХреЛ рдорд╛рдирдХреАрдХреГрдд `reasoning_content` рдореЗрдВ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ
- **рдорд┐рдереБрди рд░рд╛рд╢рд┐ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд░рдЪрд┐рдд рдЖрдЙрдЯрдкреБрдЯ** тАФ `json_schema` тЖТ `responseMimeType`/`responseSchema` рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрд╛рдВрддрд░рдг
- **`stream` рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ `false`** рдкрд░ рдЖрддрд╛ рд╣реИ - OpenAI рд╕реНрдкреЗрдХ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛрддрд╛ рд╣реИ, Python/Rust/Go SDKs рдореЗрдВ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд SSE рд╕реЗ рдмрдЪрддрд╛ рд╣реИ
</details>
<details>
<summary><b>ЁЯМР 3. "рдореЗрд░рд╛ AI рдкреНрд░рджрд╛рддрд╛ рдореЗрд░реЗ рдХреНрд╖реЗрддреНрд░/рджреЗрд╢ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░ рджреЗрддрд╛ рд╣реИ"</b></summary>
OpenAI/Codex рдЬреИрд╕реЗ рдкреНрд░рджрд╛рддрд╛ рдХреБрдЫ рднреМрдЧреЛрд▓рд┐рдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ рдкрд╣реБрдВрдЪ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВред OAuth рдФрд░ API рдХрдиреЗрдХреНрд╢рди рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ `unsupported_country_region_territory` рдЬреИрд╕реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВред рдпрд╣ рд╡рд┐рдХрд╛рд╕рд╢реАрд▓ рджреЗрд╢реЛрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **3-рд╕реНрддрд░реАрдп рдкреНрд░реЙрдХреНрд╕реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди** - 3 рд╕реНрддрд░реЛрдВ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдкреНрд░реЙрдХреНрд╕реА: рд╡реИрд╢реНрд╡рд┐рдХ (рд╕рднреА рдЯреНрд░реИрдлрд╝рд┐рдХ), рдкреНрд░рддрд┐-рдкреНрд░рджрд╛рддрд╛ (рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рджрд╛рддрд╛), рдФрд░ рдкреНрд░рддрд┐-рдХрдиреЗрдХреНрд╢рди/рдХреБрдВрдЬреА
- **рд░рдВрдЧ-рдХреЛрдбрд┐рдд рдкреНрд░реЙрдХреНрд╕реА рдмреИрдЬ** - рджреГрд╢реНрдп рд╕рдВрдХреЗрддрдХ: ЁЯЯв рд╡реИрд╢реНрд╡рд┐рдХ рдкреНрд░реЙрдХреНрд╕реА, ЁЯЯб рдкреНрд░рджрд╛рддрд╛ рдкреНрд░реЙрдХреНрд╕реА, ЁЯФ╡ рдХрдиреЗрдХреНрд╢рди рдкреНрд░реЙрдХреНрд╕реА, рд╣рдореЗрд╢рд╛ рдЖрдИрдкреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ
- **рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ OAuth рдЯреЛрдХрди рдПрдХреНрд╕рдЪреЗрдВрдЬ** - OAuth рдкреНрд░рд╡рд╛рд╣ рднреА рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, `unsupported_country_region_territory` рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ
- **рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдкрд░реАрдХреНрд╖рдг** - рдХрдиреЗрдХреНрд╢рди рдкрд░реАрдХреНрд╖рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдЕрдм рдХреЛрдИ рдкреНрд░рддреНрдпрдХреНрд╖ рдмрд╛рдИрдкрд╛рд╕ рдирд╣реАрдВ)
- **SOCKS5 рд╕рдорд░реНрдерди** - рдЖрдЙрдЯрдмрд╛рдЙрдВрдб рд░реВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг SOCKS5 рдкреНрд░реЙрдХреНрд╕реА рд╕рдорд░реНрдерди
- **рдЯреАрдПрд▓рдПрд╕ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рд╕реНрдкреВрдлрд┐рдВрдЧ** - рдмреЙрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `wreq-js` рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬреИрд╕рд╛ рдЯреАрдПрд▓рдПрд╕ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ
</details>
<details>
<summary><b>ЁЯЖУ 4. "рдореИрдВ рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП AI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдкреИрд╕реЗ рдирд╣реАрдВ рд╣реИрдВ"</b></summary>
рд╣рд░ рдХреЛрдИ AI рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП $20-200/рдорд╛рд╣ рдХрд╛ рднреБрдЧрддрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдЫрд╛рддреНрд░реЛрдВ, рдЙрднрд░рддреЗ рджреЗрд╢реЛрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕, рд╢реМрдХреАрдиреЛрдВ рдФрд░ рдлреНрд░реАрд▓рд╛рдВрд╕рд░реЛрдВ рдХреЛ рд╢реВрдиреНрдп рд▓рд╛рдЧрдд рдкрд░ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рдлреНрд░реА рдЯрд┐рдпрд░ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдмрд┐рд▓реНрдЯ-рдЗрди** - 100% рдлреНрд░реА рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕рдорд░реНрдерди: рдЖрдИрдлреНрд▓реЛ (8 рдЕрд╕реАрдорд┐рдд рдореЙрдбрд▓), рдХреНрд╡реЗрди (3 рдЕрд╕реАрдорд┐рдд рдореЙрдбрд▓), рдХрд┐рд░реЛ (рдХреНрд▓рд╛рдЙрдб рдореБрдлреНрдд рдореЗрдВ), рдЬреЗрдорд┐рдиреА рд╕реАрдПрд▓рдЖрдИ (180K/рдорд╛рд╣ рдореБрдлреНрдд)
- **рдХреЗрд╡рд▓-рдирд┐рдГрд╢реБрд▓реНрдХ рдХреЙрдореНрдмреЛ** - рдЪреЗрди `gc/gemini-3-flash тЖТ if/kimi-k2-thinking тЖТ qw/qwen3-coder-plus` = рд╢реВрдиреНрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде $0/рдорд╛рд╣
- **рдПрдирд╡реАрдбрд┐рдпрд╛ рдПрдирдЖрдИрдПрдо рдлреНрд░реА рдХреНрд░реЗрдбрд┐рдЯ** - 1000 рдореБрдлреНрдд рдХреНрд░реЗрдбрд┐рдЯ рдПрдХреАрдХреГрдд
- **рд▓рд╛рдЧрдд рдЕрдиреБрдХреВрд▓рд┐рдд рд░рдгрдиреАрддрд┐** - рд░реВрдЯрд┐рдВрдЧ рд░рдгрдиреАрддрд┐ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рд╕рд╕реНрддреЗ рдЙрдкрд▓рдмреНрдз рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдЪреБрдирддреА рд╣реИ
</details>
<details>
<summary><b>ЁЯФТ 5. "рдореБрдЭреЗ рдЕрдкрдиреЗ AI рдЧреЗрдЯрд╡реЗ рдХреЛ рдЕрдирдзрд┐рдХреГрдд рдкрд╣реБрдВрдЪ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдиреЗрдЯрд╡рд░реНрдХ (LAN, VPS, Docker) рдореЗрдВ AI рдЧреЗрдЯрд╡реЗ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╕рдордп, рдкрддреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдЯреЛрдХрди/рдХреЛрдЯрд╛ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд┐рдирд╛, рдПрдкреАрдЖрдИ рджреБрд░реБрдкрдпреЛрдЧ, рддреНрд╡рд░рд┐рдд рдЗрдВрдЬреЗрдХреНрд╢рди рдФрд░ рджреБрд░реБрдкрдпреЛрдЧ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рдмрдВрдзрди** - рдПрдХ рд╕рдорд░реНрдкрд┐рдд `/dashboard/api-manager` рдкреЗрдЬ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛ рдЬреЗрдирд░реЗрд╢рди, рд░реЛрдЯреЗрд╢рди рдФрд░ рд╕реНрдХреЛрдкрд┐рдВрдЧ
- **рдореЙрдбрд▓-рд╕реНрддрд░реАрдп рдЕрдиреБрдорддрд┐рдпрд╛рдБ** - рдПрдкреАрдЖрдИ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбрд▓реЛрдВ (`openai/*`, рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреИрдЯрд░реНрди) рддрдХ рд╕реАрдорд┐рдд рдХрд░реЗрдВ, рд╕рднреА рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдВ/рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЯреЙрдЧрд▓ рдХреЗ рд╕рд╛рде
- **рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╕реБрд░рдХреНрд╖рд╛** - `/v1/models` рдХреЗ рд▓рд┐рдП рдПрдХ рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ
- **рдСрде рдЧрд╛рд░реНрдб + рд╕реАрдПрд╕рдЖрд░рдПрдл рд╕реБрд░рдХреНрд╖рд╛** - рд╕рднреА рдбреИрд╢рдмреЛрд░реНрдб рд░реВрдЯ `withAuth` рдорд┐рдбрд▓рд╡реЗрдпрд░ + рд╕реАрдПрд╕рдЖрд░рдПрдл рдЯреЛрдХрди рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ
- **рд░реЗрдЯ рд▓рд┐рдорд┐рдЯрд░** - рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╡рд┐рдВрдбреЛ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐-рдЖрдИрдкреА рджрд░ рд╕реАрдорд┐рдд рдХрд░рдирд╛
- **рдЖрдИрдкреА рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ** - рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рд╕реВрдЪреА/рдЕрд╡рд░реБрджреНрдз рд╕реВрдЪреА
- **рдкреНрд░реЙрдореНрдкреНрдЯ рдЗрдВрдЬреЗрдХреНрд╢рди рдЧрд╛рд░реНрдб** - рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдкреНрд░реЙрдореНрдкреНрдЯ рдкреИрдЯрд░реНрди рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╕реНрд╡рдЪреНрдЫрддрд╛
- **рдПрдИрдПрд╕-256-рдЬреАрд╕реАрдПрдо рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди** - рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдЖрд░рд╛рдо рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдП рдЧрдП
</details>
<details>
<summary><b>ЁЯЫС 6. "рдореЗрд░рд╛ рдкреНрд░рджрд╛рддрд╛ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдХреЛрдбрд┐рдВрдЧ рдкреНрд░рд╡рд╛рд╣ рдЦреЛ рджрд┐рдпрд╛"</b></summary>
рдПрдЖрдИ рдкреНрд░рджрд╛рддрд╛ рдЕрд╕реНрдерд┐рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, 5xx рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд▓реМрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЕрд╕реНрдерд╛рдпреА рджрд░ рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдбреЗрд╡рд▓рдкрд░ рдХрд┐рд╕реА рдПрдХрд▓ рдкреНрд░рджрд╛рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдмрд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ рдХреЗ рдмрд┐рдирд╛, рдмрд╛рд░-рдмрд╛рд░ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ рдкреНрд░рддрд┐-рдкреНрд░рджрд╛рддрд╛** - рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдФрд░ рдХреВрд▓рдбрд╛рдЙрди рдХреЗ рд╕рд╛рде рдСрдЯреЛ-рдЦреБрд▓рд╛/рдмрдВрдж (рдмрдВрдж/рдЦреБрд▓рд╛/рдЖрдзрд╛-рдЦреБрд▓рд╛)
- **рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдмреИрдХрдСрдлрд╝** - рдкреНрд░рдЧрддрд┐рд╢реАрд▓ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рджреЗрд░реА
- **рдПрдВрдЯреА-рдердВрдбрд░рд┐рдВрдЧ рд╣рд░реНрдб** - рдореНрдпреВрдЯреЗрдХреНрд╕ + рд╕рдорд╡рд░реНрддреА рд░рд┐рдЯреНрд░реА рддреВрдлрд╛рдиреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реЗрдорд╛рдлреЛрд░ рд╕реБрд░рдХреНрд╖рд╛
- **рдХреЙрдореНрдмреЛ рдлрд╝реЙрд▓рдмреИрдХ рдЪреЗрди** - рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХ рдкреНрд░рджрд╛рддрд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЪреЗрди рд╕реЗ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ
- **рдХреЙрдореНрдмреЛ рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░** - рдХреЙрдореНрдмреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рднреАрддрд░ рд╡рд┐рдлрд▓ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ
- **рд╕реНрд╡рд╛рд╕реНрдереНрдп рдбреИрд╢рдмреЛрд░реНрдб** - рдЕрдкрдЯрд╛рдЗрдо рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ, рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ рд╕реНрдерд┐рддрд┐, рд▓реЙрдХрдЖрдЙрдЯ, рдХреИрд╢ рдЖрдБрдХрдбрд╝реЗ, p50/p95/p99 рд╡рд┐рд▓рдВрдмрддрд╛
</details>
<details>
<summary><b>ЁЯФз 7. "рдкреНрд░рддреНрдпреЗрдХ AI рдЙрдкрдХрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдХрдард┐рди рдФрд░ рджреЛрд╣рд░рд╛рд╡ рд╡рд╛рд▓рд╛ рд╣реИ"</b></summary>
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд░реНрд╕рд░, рдХреНрд▓рд╛рдЙрдб рдХреЛрдб, рдХреЛрдбреЗрдХреНрд╕ рд╕реАрдПрд▓рдЖрдИ, рдУрдкрдирдХреНрд▓рд╛рд╡, рдЬреЗрдорд┐рдиреА рд╕реАрдПрд▓рдЖрдИ, рдХрд┐рд▓реЛ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ... рдкреНрд░рддреНрдпреЗрдХ рдЯреВрд▓ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ, рдХреБрдВрдЬреА, рдореЙрдбрд▓) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреНрд░рджрд╛рддрд╛рдУрдВ рдпрд╛ рдореЙрдбрд▓реЛрдВ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп рдкреБрди: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╕рдордп рдХреА рдмрд░реНрдмрд╛рджреА рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рд╕реАрдПрд▓рдЖрдИ рдЯреВрд▓реНрд╕ рдбреИрд╢рдмреЛрд░реНрдб** - рдХреНрд▓рд╛рдЙрдб рдХреЛрдб, рдХреЛрдбреЗрдХреНрд╕ рд╕реАрдПрд▓рдЖрдИ, рдУрдкрдирдХреНрд▓рд╛рд╡, рдХрд┐рд▓реЛ рдХреЛрдб, рдПрдВрдЯреАрдЧреНрд░реЗрд╡рд┐рдЯреА, рдХреНрд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдПрдХ-рдХреНрд▓рд┐рдХ рд╕реЗрдЯрдЕрдк рд╡рд╛рд▓рд╛ рд╕рдорд░реНрдкрд┐рдд рдкреГрд╖реНрда
- **GitHub Copilot рдХреЙрдиреНрдлрд┐рдЧ рдЬреЗрдирд░реЗрдЯрд░** - рдмрд▓реНрдХ рдореЙрдбрд▓ рдЪрдпрди рдХреЗ рд╕рд╛рде VS рдХреЛрдб рдХреЗ рд▓рд┐рдП `chatLanguageModels.json` рдЬреЗрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИ
- **рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рд╡рд┐рдЬрд╝рд╛рд░реНрдб** - рдкрд╣рд▓реА рдмрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд 4-рдЪрд░рдгреАрдп рд╕реЗрдЯрдЕрдк
- **рдПрдХ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ, рд╕рднреА рдореЙрдбрд▓** - `http://localhost:20128/v1` рдХреЛ рдПрдХ рдмрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, 36+ рдкреНрд░рджрд╛рддрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪреЗрдВ
</details>
<details>
<summary><b>ЁЯФС 8. "рдПрдХрд╛рдзрд┐рдХ рдкреНрд░рджрд╛рддрд╛рдУрдВ рд╕реЗ OAuth рдЯреЛрдХрди рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдирд░рдХ рд╣реИ"</b></summary>
рдХреНрд▓рд╛рдЙрдб рдХреЛрдб, рдХреЛрдбреЗрдХреНрд╕, рдЬреЗрдорд┐рдиреА рд╕реАрдПрд▓рдЖрдИ, рдХреЛрдкрд╛рдпрд▓рдЯ - рд╕рднреА рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде OAuth 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдкреБрди: рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ, `client_secret is missing`, `redirect_uri_mismatch` рдФрд░ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред LAN/VPS рдкрд░ OAuth рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рдСрдЯреЛ рдЯреЛрдХрди рд░рд┐рдлреНрд░реЗрд╢** - OAuth рдЯреЛрдХрди рд╕рдорд╛рдкреНрддрд┐ рд╕реЗ рдкрд╣рд▓реЗ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд░рд┐рдлреНрд░реЗрд╢ рд╣реЛрддреЗ рд╣реИрдВ
- **OAuth 2.0 (PKCE) рдмрд┐рд▓реНрдЯ-рдЗрди** - рдХреНрд▓рд╛рдЙрдб рдХреЛрдб, рдХреЛрдбреЗрдХреНрд╕, рдЬреЗрдорд┐рдиреА рд╕реАрдПрд▓рдЖрдИ, рдХреЛрдкрд╛рдпрд▓рдЯ, рдХрд┐рд░реЛ, рдХреНрд╡реЗрди, рдЖрдИрдлреНрд▓реЛ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рд╡рд╛рд╣
- **рдорд▓реНрдЯреА-рдЕрдХрд╛рдЙрдВрдЯ OAuth** - JWT/ID рдЯреЛрдХрди рдирд┐рд╖реНрдХрд░реНрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛ рдПрдХрд╛рдзрд┐рдХ рдЦрд╛рддреЗ
- **OAuth LAN/рд░рд┐рдореЛрдЯ рдлрд┐рдХреНрд╕** - `redirect_uri` рдХреЗ рд▓рд┐рдП рдирд┐рдЬреА рдЖрдИрдкреА рдбрд┐рдЯреЗрдХреНрд╢рди + рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдпреВрдЖрд░рдПрд▓ рдореЛрдб
- **Nginx рдХреЗ рдкреАрдЫреЗ OAuth** - рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП `window.location.origin` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
- **рджреВрд░рд╕реНрде OAuth рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛** тАФ VPS/Docker рдкрд░ Google рдХреНрд▓рд╛рдЙрдб рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреЗ рд▓рд┐рдП рдЪрд░рдг-рджрд░-рдЪрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛
</details>
<details>
<summary><b>ЁЯУК 9. "рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореИрдВ рдХрд┐рддрдирд╛ рдФрд░ рдХрд╣рд╛рдВ рдЦрд░реНрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ"</b></summary>
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрдИ рднреБрдЧрддрд╛рди рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЦрд░реНрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдПрдХреАрдХреГрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЕрдкрдирд╛ рдмрд┐рд▓рд┐рдВрдЧ рдбреИрд╢рдмреЛрд░реНрдб рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рд╕рдореЗрдХрд┐рдд рджреГрд╢реНрдп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд▓рд╛рдЧрддреЗрдВ рдмрдврд╝ рд╕рдХрддреА рд╣реИрдВред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рд▓рд╛рдЧрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдбреИрд╢рдмреЛрд░реНрдб** тАФ рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛ рдкреНрд░рддрд┐ рдЯреЛрдХрди рд▓рд╛рдЧрдд рдЯреНрд░реИрдХрд┐рдВрдЧ рдФрд░ рдмрдЬрдЯ рдкреНрд░рдмрдВрдзрди
- **рдкреНрд░рддрд┐ рд╕реНрддрд░ рдмрдЬрдЯ рд╕реАрдорд╛** - рдкреНрд░рддрд┐ рд╕реНрддрд░ рдЦрд░реНрдЪ рдХреА рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлрд╝реЙрд▓рдмреИрдХ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреА рд╣реИ
- **рдкреНрд░рддрд┐-рдореЙрдбрд▓ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди** - рдкреНрд░рддрд┐ рдореЙрдбрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдХреАрдорддреЗрдВ
- **рдкреНрд░рддрд┐ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдЙрдкрдпреЛрдЧ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА** - рдЕрдиреБрд░реЛрдз рдЧрдгрдирд╛ рдФрд░ рдкреНрд░рддрд┐ рдХреБрдВрдЬреА рдЕрдВрддрд┐рдо рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк
- **рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдбреИрд╢рдмреЛрд░реНрдб** - рд╕реНрдЯреЗрдЯ рдХрд╛рд░реНрдб, рдореЙрдбрд▓ рдЙрдкрдпреЛрдЧ рдЪрд╛рд░реНрдЯ, рд╕рдлрд▓рддрд╛ рджрд░ рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рддрд╛ рддрд╛рд▓рд┐рдХрд╛
</details>
<details>
<summary><b>ЁЯРЫ 10. "рдореИрдВ AI рдХреЙрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдирд┐рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛"</b></summary>
рдЬрдм рдХреЛрдИ рдХреЙрд▓ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рджреЗрд╡ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рддрд╛ рдХрд┐ рдпрд╣ рджрд░ рд╕реАрдорд╛, рд╕рдорд╛рдкреНрдд рдЯреЛрдХрди, рдЧрд▓рдд рдкреНрд░рд╛рд░реВрдк рдпрд╛ рдкреНрд░рджрд╛рддрд╛ рддреНрд░реБрдЯрд┐ рдереАред рд╡рд┐рднрд┐рдиреНрди рдЯрд░реНрдорд┐рдирд▓реЛрдВ рдкрд░ рдЦрдВрдбрд┐рдд рд▓реЙрдЧред рдЕрд╡рд▓реЛрдХрди рдХреЗ рдмрд┐рдирд╛, рдбрд┐рдмрдЧрд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг-рдФрд░-рддреНрд░реБрдЯрд┐ рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рдПрдХреАрдХреГрдд рд▓реЙрдЧ рдбреИрд╢рдмреЛрд░реНрдб** - 4 рдЯреИрдм: рдЕрдиреБрд░реЛрдз рд▓реЙрдЧ, рдкреНрд░реЙрдХреНрд╕реА рд▓реЙрдЧ, рдСрдбрд┐рдЯ рд▓реЙрдЧ, рдХрдВрд╕реЛрд▓
- **рдХрдВрд╕реЛрд▓ рд▓реЙрдЧ рд╡реНрдпреВрдЕрд░** - рд░рдВрдЧ-рдХреЛрдбрд┐рдд рд╕реНрддрд░реЛрдВ, рдСрдЯреЛ-рд╕реНрдХреНрд░реЙрд▓, рдЦреЛрдЬ, рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдЯрд░реНрдорд┐рдирд▓-рд╢реИрд▓реА рд╡реНрдпреВрдЕрд░
- **SQLite рдкреНрд░реЙрдХреНрд╕реА рд▓реЙрдЧ** - рд▓рдЧрд╛рддрд╛рд░ рд▓реЙрдЧ рдЬреЛ рд╕рд░реНрд╡рд░ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рд╕реЗ рдмрдЪреЗ рд░рд╣рддреЗ рд╣реИрдВ
- **рдЕрдиреБрд╡рд╛рджрдХ рдЦреЗрд▓ рдХрд╛ рдореИрджрд╛рди** - 4 рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЛрдб: рдЦреЗрд▓ рдХрд╛ рдореИрджрд╛рди (рдкреНрд░рд╛рд░реВрдк рдЕрдиреБрд╡рд╛рдж), рдЪреИрдЯ рдЯреЗрд╕реНрдЯрд░ (рд░рд╛рдЙрдВрдб-рдЯреНрд░рд┐рдк), рдЯреЗрд╕реНрдЯ рдмреЗрдВрдЪ (рдмреИрдЪ), рд▓рд╛рдЗрд╡ рдореЙрдирд┐рдЯрд░ (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп)
- **рдЕрдиреБрд░реЛрдз рдЯреЗрд▓реАрдореЗрдЯреНрд░реА** - p50/p95/p99 рд╡рд┐рд▓рдВрдмрддрд╛ + X-рдЕрдиреБрд░реЛрдз-рдЖрдИрдбреА рдЯреНрд░реЗрд╕рд┐рдВрдЧ
- **рд░реЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓-рдЖрдзрд╛рд░рд┐рдд рд▓реЙрдЧрд┐рдВрдЧ** - рдХрдВрд╕реЛрд▓ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдЖрдХрд╛рд░-рдЖрдзрд╛рд░рд┐рдд рд░реЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде JSON рд▓реЙрдЧ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИ
</details>
<details>
<summary><b>ЁЯПЧя╕П 11. "рдЧреЗрдЯрд╡реЗ рдХреА рддреИрдирд╛рддреА рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдЬрдЯрд┐рд▓ рд╣реИ"</b></summary>
рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ (рд╕реНрдерд╛рдиреАрдп, рд╡реАрдкреАрдПрд╕, рдбреЙрдХрд░, рдХреНрд▓рд╛рдЙрдб) рдореЗрдВ рдПрдЖрдИ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдФрд░ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╢реНрд░рдо-рдЧрд╣рди рд╣реИред рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рдкрде, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдкрд░ `EACCES`, рдкреЛрд░реНрдЯ рд╡рд┐рд░реЛрдз рдФрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдмрд┐рд▓реНрдб рдЬреИрд╕реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдШрд░реНрд╖рдг рдмрдврд╝рд╛рддреА рд╣реИрдВред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **npm рдЧреНрд▓реЛрдмрд▓ рдЗрдВрд╕реНрдЯрд╛рд▓** тАФ `npm install -g omniroute && omniroute` тАФ рд╣реЛ рдЧрдпрд╛
- **рдбреЙрдХрд░ рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо** - AMD64 + ARM64 рдиреЗрдЯрд┐рд╡ (Apple рд╕рд┐рд▓рд┐рдХреЙрди, AWS рдЧреНрд░реЗрд╡рд┐рдЯреЙрди, рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ)
- **рдбреЙрдХрд░ рдХрдВрдкреЛрдЬ рдкреНрд░реЛрдлрд╛рдЗрд▓** - `base` (рдХреЛрдИ CLI рдЙрдкрдХрд░рдг рдирд╣реАрдВ) рдФрд░ `cli` (рдХреНрд▓рд╛рдЙрдб рдХреЛрдб, рдХреЛрдбреЗрдХреНрд╕, рдУрдкрдирдХреНрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде)
- **рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк** - рд╕рд┐рд╕реНрдЯрдо рдЯреНрд░реЗ, рдСрдЯреЛ-рд╕реНрдЯрд╛рд░реНрдЯ, рдСрдлрд╝рд▓рд╛рдЗрди рдореЛрдб рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ/рдореИрдХрдУрдПрд╕/рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдРрдк
- **рд╕реНрдкреНрд▓рд┐рдЯ-рдкреЛрд░реНрдЯ рдореЛрдб** - рдЙрдиреНрдирдд рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреЛрд░реНрдЯ рдкрд░ рдПрдкреАрдЖрдИ рдФрд░ рдбреИрд╢рдмреЛрд░реНрдб (рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА, рдХрдВрдЯреЗрдирд░ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ)
- **рдХреНрд▓рд╛рдЙрдб рд╕рд┐рдВрдХ** - рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╡рд░реНрдХрд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд┐рдЧ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬреЗрд╢рди
- **рдбреАрдмреА рдмреИрдХрдЕрдк** - рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмреИрдХрдЕрдк, рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛, рдирд┐рд░реНрдпрд╛рдд рдФрд░ рдЖрдпрд╛рдд
</details>
<details>
<summary><b>ЁЯМН 12. "рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗрд╡рд▓ рдЕрдВрдЧреНрд░реЗрдЬреА рд╣реИ рдФрд░ рдореЗрд░реА рдЯреАрдо рдЕрдВрдЧреНрд░реЗрдЬреА рдирд╣реАрдВ рдмреЛрд▓рддреА рд╣реИ"</b></summary>
рдЧреИрд░-рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖реА рджреЗрд╢реЛрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓реИрдЯрд┐рди рдЕрдореЗрд░рд┐рдХрд╛, рдПрд╢рд┐рдпрд╛ рдФрд░ рдпреВрд░реЛрдк рдореЗрдВ рдЯреАрдореЗрдВ, рдХреЗрд╡рд▓ рдЕрдВрдЧреНрд░реЗрдЬреА рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░рддреА рд╣реИрдВред рднрд╛рд╖рд╛ рдмрд╛рдзрд╛рдПрдБ рдЕрдкрдирд╛рдиреЗ рдХреЛ рдХрдо рдХрд░рддреА рд╣реИрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдмрдврд╝рд╛рддреА рд╣реИрдВред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рдбреИрд╢рдмреЛрд░реНрдб i18n - 30 рднрд╛рд╖рд╛рдПрдБ** - рдЕрд░рдмреА, рдмрд▓реНрдЧреЗрд░рд┐рдпрд╛рдИ, рдбреЗрдирд┐рд╢, рдЬрд░реНрдорди, рд╕реНрдкреЗрдирд┐рд╢, рдлрд┐рдирд┐рд╢, рдлреНрд░реЗрдВрдЪ, рд╣рд┐рдмреНрд░реВ, рд╣рд┐рдВрджреА, рд╣рдВрдЧреЗрд░рд┐рдпрди, рдЗрдВрдбреЛрдиреЗрд╢рд┐рдпрд╛рдИ, рдЗрддрд╛рд▓рд╡реА, рдЬрд╛рдкрд╛рдиреА, рдХреЛрд░рд┐рдпрд╛рдИ, рдорд▓рдп, рдбрдЪ, рдиреЙрд░реНрд╡реЗрдЬрд┐рдпрди, рдкреЛрд▓рд┐рд╢, рдкреБрд░реНрддрдЧрд╛рд▓реА (рдкреАрдЯреА/рдмреАрдЖрд░), рд░реЛрдорд╛рдирд┐рдпрд╛рдИ, рд░реВрд╕реА, рд╕реНрд▓реЛрд╡рд╛рдХ, рд╕реНрд╡реАрдбрд┐рд╢, рдерд╛рдИ, рдпреВрдХреНрд░реЗрдиреА, рд╡рд┐рдпрддрдирд╛рдореА, рдЪреАрдиреА, рдлрд┐рд▓рд┐рдкрд┐рдиреЛ, рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рд╣рд┐рдд рд╕рднреА 500+ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдЕрдиреБрд╡рд╛рджрд┐рдд
- **рдЖрд░рдЯреАрдПрд▓ рд╕рдорд░реНрдерди** - рдЕрд░рдмреА рдФрд░ рд╣рд┐рдмреНрд░реВ рдХреЗ рд▓рд┐рдП рджрд╛рдПрдВ рд╕реЗ рдмрд╛рдПрдВ рд╕рдорд░реНрдерди
- **рдмрд╣реБ-рднрд╛рд╖рд╛ рд░реАрдбрдореА** - 30 рдкреВрд░реНрдг рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЕрдиреБрд╡рд╛рдж
- **рднрд╛рд╖рд╛ рдЪрдпрдирдХрд░реНрддрд╛** - рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░ рдореЗрдВ рдЧреНрд▓реЛрдм рдЖрдЗрдХрди
</details>
<details>
<summary><b>ЁЯФД 13. "рдореБрдЭреЗ рдЪреИрдЯ рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдореБрдЭреЗ рдПрдореНрдмреЗрдбрд┐рдВрдЧ, рдЪрд┐рддреНрд░, рдСрдбрд┐рдпреЛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдПрдЖрдИ рдХрд╛ рдорддрд▓рдм рд╕рд┐рд░реНрдл рдЪреИрдЯ рдкреВрд░рд╛ рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЫрд╡рд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ, рдСрдбрд┐рдпреЛ рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рдиреЗ, рдЖрд░рдПрдЬреА рдХреЗ рд▓рд┐рдП рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдмрдирд╛рдиреЗ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд░реИрдВрдХ рдХрд░рдиреЗ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдореЙрдбрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдПрдкреАрдЖрдИ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдФрд░ рдкреНрд░рд╛рд░реВрдк рд╣реЛрддрд╛ рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рдПрдореНрдмреЗрдбрд┐рдВрдЧреНрд╕** - 6 рдкреНрд░рджрд╛рддрд╛рдУрдВ рдФрд░ 9+ рдореЙрдбрд▓реЛрдВ рдХреЗ рд╕рд╛рде `/v1/embeddings`
- **рдЗрдореЗрдЬ рдЬреЗрдирд░реЗрд╢рди** - `/v1/images/generations` 10 рдкреНрд░рджрд╛рддрд╛рдУрдВ рдФрд░ 20+ рдореЙрдбрд▓реЛрдВ рдХреЗ рд╕рд╛рде (рдУрдкрдирдПрдЖрдИ, рдПрдХреНрд╕рдПрдЖрдИ, рдЯреБрдЧреЗрджрд░, рдлрд╛рдпрд░рд╡рд░реНрдХреНрд╕, рдиреЗрдмрд┐рдпрд╕, рд╣рд╛рдЗрдкрд░рдмреЛрд▓рд┐рдХ, рдиреИрдиреЛрдмрдирд╛рдирд╛, рдПрдВрдЯреАрдЧреНрд░реЗрд╡рд┐рдЯреА, рдПрд╕рдбреА рд╡реЗрдмрдпреВрдЖрдИ, рдХреЙрдореНрдлреАрдпреВрдЖрдИ)
- **рдЯреЗрдХреНрд╕реНрдЯ-рдЯреВ-рд╡реАрдбрд┐рдпреЛ** тАФ `/v1/videos/generations` тАФ рдХреЙрдореНрдлреАрдпреВрдЖрдИ (рдПрдирд┐рдореЗрдЯрдбрд┐рдл, рдПрд╕рд╡реАрдбреА) рдФрд░ рдПрд╕рдбреА рд╡реЗрдмрдпреВрдЖрдИ
- **рдЯреЗрдХреНрд╕реНрдЯ-рдЯреВ-рдореНрдпреВрдЬрд┐рдХ** тАФ `/v1/music/generations` тАФ рдХреЙрдореНрдлреАрдпреВрдЖрдИ (рд╕реНрдерд┐рд░ рдСрдбрд┐рдпреЛ рдУрдкрди, рдореНрдпреВрдЬрд┐рдХрдЬреЗрди)
- **рдСрдбрд┐рдпреЛ рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд┐рдкреНрд╢рди** - `/v1/audio/transcriptions` - рд╡реНрд╣рд┐рд╕реНрдкрд░ + рдПрдирд╡реАрдбрд┐рдпрд╛ рдПрдирдЖрдИрдПрдо, рд╣рдЧрд┐рдВрдЧрдлреЗрд╕, рдХреНрд╡реЗрди3
- **рдЯреЗрдХреНрд╕реНрдЯ-рдЯреВ-рд╕реНрдкреАрдЪ** - `/v1/audio/speech` - рдЗрд▓реЗрд╡рдирд▓реИрдмреНрд╕, рдПрдирд╡реАрдбрд┐рдпрд╛ рдПрдирдЖрдИрдПрдо, рд╣рдЧрд┐рдВрдЧрдлреЗрд╕, рдХреЛрдХреНрд╡реА, рдЯреЛрд░рдЯреЛрдЗрдЬрд╝, рдХреНрд╡реЗрди3, + рдореМрдЬреВрджрд╛ рдкреНрд░рджрд╛рддрд╛
- **рд╕рдВрдпрдо** тАФ `/v1/moderations` тАФ рд╕рд╛рдордЧреНрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рдВрдЪ
- **рдкреБрдирд░реНрд░реИрдВрдХрд┐рдВрдЧ** тАФ `/v1/rerank` тАФ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдкреБрдирд░реНрд░реИрдВрдХрд┐рдВрдЧ
- **рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдПрдкреАрдЖрдИ** - рдХреЛрдбреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг `/v1/responses` рд╕рдорд░реНрдерди
</details>
<details>
<summary><b>ЁЯзк 14. "рдореЗрд░реЗ рдкрд╛рд╕ рд╕рднреА рдореЙрдбрд▓реЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ"</b></summary>
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреМрди рд╕рд╛ рдореЙрдбрд▓ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ - рдХреЛрдб, рдЕрдиреБрд╡рд╛рдж, рддрд░реНрдХ - рд▓реЗрдХрд┐рди рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдзреАрдорд╛ рд╣реИред рдХреЛрдИ рдПрдХреАрдХреГрдд eval рдЙрдкрдХрд░рдг рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рдПрд▓рдПрд▓рдПрдо рдореВрд▓реНрдпрд╛рдВрдХрди** - рдЕрднрд┐рд╡рд╛рджрди, рдЧрдгрд┐рдд, рднреВрдЧреЛрд▓, рдХреЛрдб рдЬрдирд░реЗрд╢рди, JSON рдЕрдиреБрдкрд╛рд▓рди, рдЕрдиреБрд╡рд╛рдж, рдорд╛рд░реНрдХрдбрд╛рдЙрди, рд╕реБрд░рдХреНрд╖рд╛ рдЗрдирдХрд╛рд░ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ 10 рдкреНрд░реА-рд▓реЛрдбреЗрдб рдорд╛рдорд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЧреЛрд▓реНрдбрди рд╕реЗрдЯ рдкрд░реАрдХреНрд╖рдг
- **4 рдореИрдЪ рд░рдгрдиреАрддрд┐рдпрд╛рдБ** - `exact`, `contains`, `regex`, `custom` (JS рдлрд╝рдВрдХреНрд╢рди)
- **рдЕрдиреБрд╡рд╛рджрдХ рдЦреЗрд▓ рдХрд╛ рдореИрджрд╛рди рдкрд░реАрдХреНрд╖рдг рдмреЗрдВрдЪ** - рдПрдХрд╛рдзрд┐рдХ рдЗрдирдкреБрдЯ рдФрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрдЙрдЯрдкреБрдЯ, рдХреНрд░реЙрд╕-рдкреНрд░рджрд╛рддрд╛ рддреБрд▓рдирд╛ рдХреЗ рд╕рд╛рде рдмреИрдЪ рдкрд░реАрдХреНрд╖рдг
- **рдЪреИрдЯ рдкрд░реАрдХреНрд╖рдХ** - рджреГрд╢реНрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рд░рд╛рдЙрдВрдб-рдЯреНрд░рд┐рдк
- **рд▓рд╛рдЗрд╡ рдореЙрдирд┐рдЯрд░** - рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╣рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╕реНрдЯреНрд░реАрдо
</details>
<details>
<summary><b>ЁЯУИ 15. "рдореБрдЭреЗ рдкреНрд░рджрд░реНрд╢рди рдЦреЛрдП рдмрд┐рдирд╛ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЕрдиреБрд░реЛрдз рдХреА рдорд╛рддреНрд░рд╛ рдмрдврд╝рддреА рд╣реИ, рдХреИрд╢рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рд╡рд╣реА рдкреНрд░рд╢реНрди рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд▓рд╛рдЧрдд рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд┐рдирд╛, рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЕрдкрд╢рд┐рд╖реНрдЯ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддрд┐-рдкреНрд░рджрд╛рддрд╛ рджрд░ рд╕реАрдорд╛ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдХреИрд╢** - рджреЛ-рд╕реНрддрд░реАрдп рдХреИрд╢ (рд╣рд╕реНрддрд╛рдХреНрд╖рд░ + рд╕рд┐рдореЗрдВрдЯрд┐рдХ) рд▓рд╛рдЧрдд рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ
- **рдЕрдиреБрд░реЛрдз Idempotency** - рд╕рдорд╛рди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП 5s рдбрд┐рдбреБрдкреНрд▓реАрдХреЗрд╢рди рд╡рд┐рдВрдбреЛ
- **рджрд░ рд╕реАрдорд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛** - рдкреНрд░рддрд┐-рдкреНрд░рджрд╛рддрд╛ рдЖрд░рдкреАрдПрдо, рдиреНрдпреВрдирддрдо рдЕрдВрддрд░, рдФрд░ рдЕрдзрд┐рдХрддрдо рд╕рдорд╡рд░реНрддреА рдЯреНрд░реИрдХрд┐рдВрдЧ
- **рд╕рдВрдкрд╛рджрди рдпреЛрдЧреНрдп рджрд░ рд╕реАрдорд╛рдПрдБ** тАФ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ тЖТ рджреГрдврд╝рддрд╛ рдХреЗ рд╕рд╛рде рд▓рдЪреАрд▓рд╛рдкрди
- **рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рд╕рддреНрдпрд╛рдкрди рдХреИрд╢** - рдЙрддреНрдкрд╛рджрди рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП 3-рд╕реНрддрд░реАрдп рдХреИрд╢
- **рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рдХреЗ рд╕рд╛рде рд╕реНрд╡рд╛рд╕реНрдереНрдп рдбреИрд╢рдмреЛрд░реНрдб** тАФ p50/p95/p99 рд╡рд┐рд▓рдВрдмрддрд╛, рдХреИрд╢ рдЖрдБрдХрдбрд╝реЗ, рдЕрдкрдЯрд╛рдЗрдо
</details>
<details>
<summary><b>ЁЯдЦ 16. "рдореИрдВ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдореЙрдбрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ"</b></summary>
рдРрд╕реЗ рдбреЗрд╡рд▓рдкрд░ рдЬреЛ рд╕рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ рдореЗрдВ, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╣рдЬреЗ рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╛ рддрд░реНрдХ рдЯреЛрдХрди рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЯреВрд▓/рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЕрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- **рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдЗрдВрдЬреЗрдХреНрд╢рди** тАФ рдЧреНрд▓реЛрдмрд▓ рдкреНрд░реЙрдореНрдкреНрдЯ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ
- **рд╕реЛрдЪ рдмрдЬрдЯ рд╕рддреНрдпрд╛рдкрди** - рдкреНрд░рддрд┐ рдЕрдиреБрд░реЛрдз рддрд░реНрдХ рдЯреЛрдХрди рдЖрд╡рдВрдЯрди рдирд┐рдпрдВрддреНрд░рдг (рдкрд╛рд╕рдереНрд░реВ, рдСрдЯреЛ, рдХрд╕реНрдЯрдо, рдЕрдиреБрдХреВрд▓реА)
- **6 рд░реВрдЯрд┐рдВрдЧ рд░рдгрдиреАрддрд┐рдпрд╛рдБ** - рд╡реИрд╢реНрд╡рд┐рдХ рд░рдгрдиреАрддрд┐рдпрд╛рдБ рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреИрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
- **рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд░рд╛рдЙрдЯрд░** - `provider/*` рдкреИрдЯрд░реНрди рдХрд┐рд╕реА рднреА рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд░реВрдЯ рдХрд░рддрд╛ рд╣реИ
- **рдХреЙрдореНрдмреЛ рд╕рдХреНрд╖рдо/рдЕрдХреНрд╖рдо рдЯреЙрдЧрд▓** тАФ рдХреЙрдореНрдмреЛ рдХреЛ рд╕реАрдзреЗ рдбреИрд╢рдмреЛрд░реНрдб рд╕реЗ рдЯреЙрдЧрд▓ рдХрд░реЗрдВ
- **рдкреНрд░рджрд╛рддрд╛ рдЯреЙрдЧрд▓** тАФ рдПрдХ рдХреНрд▓рд┐рдХ рд╕реЗ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрдиреЗрдХреНрд╢рди рд╕рдХреНрд╖рдо/рдЕрдХреНрд╖рдо рдХрд░реЗрдВ
- **рдЕрд╡рд░реБрджреНрдз рдкреНрд░рджрд╛рддрд╛** - `/v1/models` рд╕реВрдЪреА рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░реЗрдВ
</details>
<details>
<summary><b>ЁЯз░ 17. "рдореБрдЭреЗ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдЙрддреНрдкрд╛рдж рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ MCP рдЯреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдХрдИ рдПрдЖрдИ рдЧреЗрдЯрд╡реЗ рдПрдорд╕реАрдкреА рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред рдЯреАрдореЛрдВ рдХреЛ рдПрдХ рджреГрд╢реНрдпрдорд╛рди, рдкреНрд░рдмрдВрдзрдиреАрдп рд╕рдВрдЪрд╛рд▓рди рдкрд░рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- рдПрдорд╕реАрдкреА рдбреИрд╢рдмреЛрд░реНрдб рдиреЗрд╡рд┐рдЧреЗрд╢рди рдФрд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЯреИрдм рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ
- рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдЙрдкрдХрд░рдг, рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдФрд░ рдСрдбрд┐рдЯ рдХреЗ рд╕рд╛рде рд╕рдорд░реНрдкрд┐рдд рдПрдорд╕реАрдкреА рдкреНрд░рдмрдВрдзрди рдкреГрд╖реНрда
- `omniroute --mcp` рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдЯ-рдЗрди рдХреНрд╡рд┐рдХ-рд╕реНрдЯрд╛рд░реНрдЯ
</details>
<details>
<summary><b>ЁЯза 18. "рдореБрдЭреЗ рд╕рд┐рдВрдХ + рд╕реНрдЯреНрд░реАрдо рдХрд╛рд░реНрдп рдкрдереЛрдВ рдХреЗ рд╕рд╛рде A2A рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдПрдЬреЗрдВрдЯ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдЬреАрд╡рдирдЪрдХреНрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдЙрддреНрддрд░ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдЯреНрд░реАрдо рдирд┐рд╖реНрдкрд╛рджрди рджреЛрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- A2A JSON-RPC рдПрдВрдбрдкреЙрдЗрдВрдЯ (`POST /a2a`) `message/send` рдФрд░ `message/stream` рдХреЗ рд╕рд╛рде
- рдЯрд░реНрдорд┐рдирд▓ рд░рд╛рдЬреНрдп рдкреНрд░рд╕рд╛рд░ рдХреЗ рд╕рд╛рде рдПрд╕рдПрд╕рдИ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ
- `tasks/get` рдФрд░ `tasks/cancel` рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдЬреАрд╡рдирдЪрдХреНрд░ рдПрдкреАрдЖрдИ
</details>
<details>
<summary><b>ЁЯЫ░я╕П 19. "рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ MCP рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдиреБрдорд╛рдирд┐рдд рд╕реНрдерд┐рддрд┐ рдХреА рдирд╣реАрдВ"</b></summary>
рдкрд░рд┐рдЪрд╛рд▓рди рдЯреАрдореЛрдВ рдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдорд╕реАрдкреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреАрд╡рд┐рдд рд╣реИ, рди рдХрд┐ рдХреЗрд╡рд▓ рдПрдкреАрдЖрдИ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реИ рдпрд╛ рдирд╣реАрдВред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- рдкреАрдЖрдИрдбреА, рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк, рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ, рдЯреВрд▓ рдХрд╛рдЙрдВрдЯ рдФрд░ рд╕реНрдХреЛрдк рдореЛрдб рдХреЗ рд╕рд╛рде рд░рдирдЯрд╛рдЗрдо рд╣рд╛рд░реНрдЯрдмреАрдЯ рдлрд╝рд╛рдЗрд▓
- рдПрдорд╕реАрдкреА рд╕реНрдерд┐рддрд┐ рдПрдкреАрдЖрдИ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди + рд╣рд╛рд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рд╕рдВрдпреЛрдЬрди
- рдкреНрд░рдХреНрд░рд┐рдпрд╛/рдЕрдкрдЯрд╛рдЗрдо/рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рддрд╛рдЬрдЧреА рдХреЗ рд▓рд┐рдП рдпреВрдЖрдИ рд╕реНрдЯреЗрдЯрд╕ рдХрд╛рд░реНрдб
</details>
<details>
<summary><b>ЁЯУЛ 20. "рдореБрдЭреЗ рдСрдбрд┐рдЯреЗрдмрд▓ MCP рдЯреВрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдЬрдм рдЙрдкрдХрд░рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рдпрд╛ рдСрдкреНрд╕ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯреАрдореЛрдВ рдХреЛ рдлреЛрд░реЗрдВрд╕рд┐рдХ рдЯреНрд░реИрд╕реЗрдмрд┐рд▓рд┐рдЯреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- MCP рдЯреВрд▓ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП SQLite рд╕рдорд░реНрдерд┐рдд рдСрдбрд┐рдЯ рд▓реЙрдЧрд┐рдВрдЧ
- рдЯреВрд▓, рд╕рдлрд▓рддрд╛/рдЕрд╕рдлрд▓рддрд╛, рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдФрд░ рдкреЗрдЬрд┐рдиреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░
- рдбреИрд╢рдмреЛрд░реНрдб рдСрдбрд┐рдЯ рдЯреЗрдмрд▓ + рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЖрдБрдХрдбрд╝реЗ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ
</details>
<details>
<summary><b>ЁЯФР 21. "рдореБрдЭреЗ рдкреНрд░рддрд┐ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдХреЛрдкреНрдб MCP рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рд╡рд┐рднрд┐рдиреНрди рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЯреВрд▓ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рддрдХ рдХрдо рд╕реЗ рдХрдо рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- рдирд┐рдпрдВрддреНрд░рд┐рдд рдЯреВрд▓ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП 9 рджрд╛рдиреЗрджрд╛рд░ рдПрдорд╕реАрдкреА рд╕реНрдХреЛрдк
- рдПрдорд╕реАрдкреА рдкреНрд░рдмрдВрдзрди рдпреВрдЖрдИ рдореЗрдВ рджрд╛рдпрд░рд╛ рдкреНрд░рд╡рд░реНрддрди рдФрд░ рджреГрд╢реНрдпрддрд╛
- рдкрд░рд┐рдЪрд╛рд▓рди рдЯреВрд▓реАрдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореБрджреНрд░рд╛
</details>
<details>
<summary><b>тЪЩя╕П 22. "рдореБрдЭреЗ рдкреБрдирдГ рддреИрдирд╛рддреА рдХреЗ рдмрд┐рдирд╛ рдкрд░рд┐рдЪрд╛рд▓рди рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдШрдЯрдирд╛рдУрдВ рдпрд╛ рд▓рд╛рдЧрдд рдЖрдпреЛрдЬрдиреЛрдВ рдХреЗ рджреМрд░рд╛рди рдЯреАрдореЛрдВ рдХреЛ рддреНрд╡рд░рд┐рдд рд░рдирдЯрд╛рдЗрдо рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- рдХреЙрдореНрдмреЛ рд╕рдХреНрд░рд┐рдпрдг рдХреЛ рд╕реАрдзреЗ рдПрдорд╕реАрдкреА рдбреИрд╢рдмреЛрд░реНрдб рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ
- рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреЙрд▓рд┐рд╕реА рдкреИрдХ рд╕реЗ рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд▓рд╛рдЧреВ рдХрд░реЗрдВ
- рдЙрд╕реА рдСрдкрд░реЗрд╢рди рдкреИрдирд▓ рд╕реЗ рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ
</details>
<details>
<summary><b>ЁЯФД 23. "рдореБрдЭреЗ рд▓рд╛рдЗрд╡ A2A рдХрд╛рд░реНрдп рдЬреАрд╡рдирдЪрдХреНрд░ рджреГрд╢реНрдпрддрд╛ рдФрд░ рд░рджреНрджреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдЬреАрд╡рдирдЪрдХреНрд░ рджреГрд╢реНрдпрддрд╛ рдХреЗ рдмрд┐рдирд╛, рдХрд╛рд░реНрдп рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- рдкреЗрдЬрд┐рдиреЗрд╢рди рдХреЗ рд╕рд╛рде рд░рд╛рдЬреНрдп/рдХреМрд╢рд▓ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдп рд╕реВрдЪреАрдХрд░рдг/рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ
- рдХрд╛рд░реНрдп рдореЗрдЯрд╛рдбреЗрдЯрд╛, рдШрдЯрдирд╛рдУрдВ рдФрд░ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдкрд░ рдбреНрд░рд┐рд▓-рдбрд╛рдЙрди
- рдкреБрд╖реНрдЯрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рд░рджреНрджреАрдХрд░рдг рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдФрд░ рдпреВрдЖрдИ рдХрд╛рд░реНрд░рд╡рд╛рдИ
</details>
<details>
<summary><b>ЁЯМК 24. "рдореБрдЭреЗ A2A рд▓реЛрдб рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд╕реНрдЯреНрд░реАрдо рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рд▓рд┐рдП рд╕рдорд╡рд░реНрддреА рдФрд░ рд▓рд╛рдЗрд╡ рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рдкрд░рд┐рдЪрд╛рд▓рди рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- рд╕рдХреНрд░рд┐рдп рд╕реНрдЯреНрд░реАрдо рдХрд╛рдЙрдВрдЯрд░ A2A рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХреАрдХреГрдд
- рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдФрд░ рдкреНрд░рддрд┐-рд░рд╛рдЬреНрдп рдЧрдгрдирд╛
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдСрдкреНрд╕ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП A2A рдбреИрд╢рдмреЛрд░реНрдб рдХрд╛рд░реНрдб
</details>
<details>
<summary><b>ЁЯкк 25. "рдореБрдЭреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдПрдЬреЗрдВрдЯ рдЦреЛрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдмрд╛рд╣рд░реА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдФрд░ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░реНрд╕ рдХреЛ рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдорд╢реАрди-рдкрдардиреАрдп рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- рдПрдЬреЗрдВрдЯ рдХрд╛рд░реНрдб `/.well-known/agent.json` рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдЖ
- рдкреНрд░рдмрдВрдзрди рдпреВрдЖрдИ рдореЗрдВ рджрд┐рдЦрд╛рдИ рдЧрдИ рдХреНрд╖рдорддрд╛рдПрдВ рдФрд░ рдХреМрд╢рд▓
- A2A рд╕реНрдерд┐рддрд┐ API рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ
</details>
<details>
<summary><b>ЁЯзн 26. "рдореБрдЭреЗ рдЙрддреНрдкрд╛рдж UX рдореЗрдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЦреЛрдЬ рдпреЛрдЧреНрдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рддрд╣реЛрдВ рдХреА рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░ рдкрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдирд╛рдиреЗ рдФрд░ рд╕рдорд░реНрдерди рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдЖрддреА рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- MCP рдФрд░ A2A рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдбрдмрд╛рд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ
- рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкреГрд╖реНрда рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЯреИрдм рддреНрд╡рд░рд┐рдд-рдкреНрд░рд╛рд░рдВрдн рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде
- рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди рд╕реЗ рд▓реЗрдХрд░ рд╕рдорд░реНрдкрд┐рдд рдкреНрд░рдмрдВрдзрди рдбреИрд╢рдмреЛрд░реНрдб рддрдХ рдХреЗ рд▓рд┐рдВрдХ
</details>
<details>
<summary><b>ЁЯзк 27. "рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдВрдб-рдЯреВ-рдПрдВрдб рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рддреНрдпрд╛рдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрдЧрддрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- E2E рд╕реБрдЗрдЯ рдЬреЛ рдРрдк рдХреЛ рдмреВрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ MCP SDK рдХреНрд▓рд╛рдЗрдВрдЯ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
- A2A рдХреНрд▓рд╛рдЗрдВрдЯ рдЦреЛрдЬ, рднреЗрдЬрдиреЗ, рд╕реНрдЯреНрд░реАрдо рдХрд░рдиреЗ, рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИ
- рдПрдорд╕реАрдкреА рдСрдбрд┐рдЯ рдФрд░ рдП2рдП рдХрд╛рд░реНрдп рдПрдкреАрдЖрдИ рдХреЗ рдЦрд┐рд▓рд╛рдл рджрд╛рд╡реЛрдВ рдХреА рдХреНрд░реЙрд╕-рдЪреЗрдХ рдХрд░реЗрдВ
</details>
<details>
<summary><b>ЁЯУб 28. "рдореБрдЭреЗ рд╕рднреА рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдПрдХреАрдХреГрдд рдЕрд╡рд▓реЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд▓реЛрдХрдирд╢реАрд▓рддрд╛ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмреНрд▓рд╛рдЗрдВрдб рд╕реНрдкреЙрдЯ рдФрд░ рд▓рдВрдмрд╛ рдПрдордЯреАрдЯреАрдЖрд░ рдмрдирддрд╛ рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- рдПрдХ рдЙрддреНрдкрд╛рдж рдореЗрдВ рдПрдХреАрдХреГрдд рдбреИрд╢рдмреЛрд░реНрдб/рд▓реЙрдЧ/рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕
- рд╕реНрд╡рд╛рд╕реНрдереНрдп + рдСрдбрд┐рдЯ + рдУрдкрдирдПрдЖрдИ, рдПрдорд╕реАрдкреА рдФрд░ рдП2рдП рдкрд░рддреЛрдВ рдореЗрдВ рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рдЕрдиреБрд░реЛрдз
- рд╕реНрдерд┐рддрд┐ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрд╛рд▓рди рдПрдкреАрдЖрдИ
</details>
<details>
<summary><b>ЁЯТ╝ 29. "рдореБрдЭреЗ рдкреНрд░реЙрдХреНрд╕реА + рдЯреВрд▓ + рдПрдЬреЗрдВрдЯ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд░рдирдЯрд╛рдЗрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ" </b></summary>
рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реЗрд╡рд╛рдПрдБ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд░рд┐рдЪрд╛рд▓рди рд▓рд╛рдЧрдд рдФрд░ рд╡рд┐рдлрд▓рддрд╛ рдореЛрдб рдмрдврд╝ рдЬрд╛рддреЗ рд╣реИрдВред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- OpenAI-рд╕рдВрдЧрдд рдкреНрд░реЙрдХреНрд╕реА, MCP рд╕рд░реНрд╡рд░ рдФрд░ A2A рд╕рд░реНрд╡рд░ рдПрдХ рд╕реНрдЯреИрдХ рдореЗрдВ
- рд╕рд╛рдЭрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рд▓рдЪреАрд▓рд╛рдкрди, рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдФрд░ рдЕрд╡рд▓реЛрдХрди рдХреНрд╖рдорддрд╛
- рд╕рднреА рд╕рдВрдкрд░реНрдХ рд╕рддрд╣реЛрдВ рдкрд░ рд╕реБрд╕рдВрдЧрдд рдиреАрддрд┐ рдореЙрдбрд▓
</details>
<details>
<summary><b>ЁЯЪА 30. "рдореБрдЭреЗ рдЧреНрд▓реВ-рдХреЛрдб рдлреИрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рдПрдЬреЗрдВрдЯрд┐рдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"</b></summary>
рдХрдИ рддрджрд░реНрде рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рд╕рд┐рд▓рд╛рдИ рдХрд░рддреЗ рд╕рдордп рдЯреАрдореЛрдВ рдХреА рдЧрддрд┐ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред
**рдУрдореНрдиреАрд░реВрдЯ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:**
- рдЧреНрд░рд╛рд╣рдХреЛрдВ рдФрд░ рдПрдЬреЗрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХреАрдХреГрдд рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд░рдгрдиреАрддрд┐
- рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкреНрд░рдмрдВрдзрди рдпреВрдЖрдИ рдФрд░ рдзреВрдореНрд░рдкрд╛рди рд╕рддреНрдпрд╛рдкрди рдкрде
- рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдиреАрдВрд╡ (рд╕реБрд░рдХреНрд╖рд╛, рд▓реЙрдЧрд┐рдВрдЧ, рд▓рдЪреАрд▓рд╛рдкрди, рдмреИрдХрдЕрдк)
</details>
### рдЙрджрд╛рд╣рд░рдг рдкреНрд▓реЗрдмреБрдХ (рдПрдХреАрдХреГрдд рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ)
**рдкреНрд▓реЗрдмреБрдХ рдП: рд╕рд╢реБрд▓реНрдХ рд╕рджрд╕реНрдпрддрд╛ + рд╕рд╕реНрддрд╛ рдмреИрдХрдЕрдк рдЕрдзрд┐рдХрддрдо рдХрд░реЗрдВ**
```txt
Combo: "maximize-claude"
1. cc/claude-opus-4-6
2. glm/glm-4.7
3. if/kimi-k2-thinking
Monthly cost: $20 + small backup spend
Outcome: higher quality, near-zero interruption
```
**рдкреНрд▓реЗрдмреБрдХ рдмреА: рд╢реВрдиреНрдп-рд▓рд╛рдЧрдд рдХреЛрдбрд┐рдВрдЧ рд╕реНрдЯреИрдХ**
```txt
Combo: "free-forever"
1. gc/gemini-3-flash
2. if/kimi-k2-thinking
3. qw/qwen3-coder-plus
Monthly cost: $0
Outcome: stable free coding workflow
```
**рдкреНрд▓реЗрдмреБрдХ рд╕реА: 24/7 рд╣рдореЗрд╢рд╛ рдЪрд╛рд▓реВ рдлрд╝реЙрд▓рдмреИрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛**
```txt
Combo: "always-on"
1. cc/claude-opus-4-6
2. cx/gpt-5.2-codex
3. glm/glm-4.7
4. minimax/MiniMax-M2.1
5. if/kimi-k2-thinking
Outcome: deep fallback depth for deadline-critical workloads
```
**рдкреНрд▓реЗрдмреБрдХ рдбреА: рдПрдЬреЗрдВрдЯ рдПрдорд╕реАрдкреА + рдП2рдП рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ**
```txt
1) Start MCP transport (`omniroute --mcp`) for tool-driven operations
2) Run A2A tasks via `message/send` and `message/stream`
3) Observe via /dashboard/mcp and /dashboard/a2a
4) Control incidents with resilience profile + task cancellation
```
---
## тЪб рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд
**1. рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:**
ЁЯОЙ рдбреИрд╢рдмреЛрд░реНрдб `http://localhost:20128` рдкрд░ рдЦреБрд▓рддрд╛ рд╣реИ
| рдЖрджреЗрд╢ | рд╡рд┐рд╡рд░рдг |
| ----------------------- | ----------------------------------------- |
| `omniroute` | рд╕рд░реНрд╡рд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреЛрд░реНрдЯ 20128) |
| `omniroute --port 3000` | рдХрд╕реНрдЯрдо рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ |
| `omniroute --no-open` | рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд╕реНрд╡рддрдГ рди рдЦреЛрд▓реЗрдВ |
| `omniroute --help` | рд╕рд╣рд╛рдпрддрд╛ рджрд┐рдЦрд╛рдПрдБ |
**2. рдПрдХ рдореБрдлрд╝реНрдд рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рдЬреБрдбрд╝реЗрдВ:**
рдбреИрд╢рдмреЛрд░реНрдб тЖТ рдкреНрд░рджрд╛рддрд╛ тЖТ рдХрдиреЗрдХреНрдЯ **рдХреНрд▓рд╛рдЙрдб рдХреЛрдб** рдпрд╛ **рдПрдВрдЯреАрдЧреНрд░реЗрд╡рд┐рдЯреА** тЖТ OAuth рд▓реЙрдЧрд┐рди тЖТ рд╣реЛ рдЧрдпрд╛!
**3. рдЕрдкрдиреЗ рд╕реАрдПрд▓рдЖрдИ рдЯреВрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:**
```
Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings:
Endpoint: http://localhost:20128/v1
API Key: [copy from dashboard]
Model: if/kimi-k2-thinking
```
**рдмрд╕!** рдореБрдлрд╝реНрдд AI рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдХреЛрдбрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░реЗрдВред
**рд╡реИрдХрд▓реНрдкрд┐рдХ - рд╕реНрд░реЛрдд рд╕реЗ рдЪрд▓рд╛рдПрдБ:**
```bash
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
```
---
## ЁЯР│ рдбреЙрдХрд░
рдУрдордиреАрд░реВрдЯ [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute) рдкрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
**рддреНрд╡рд░рд┐рдд рджреМрдбрд╝:**
```bash
docker run -d \
--name omniroute \
--restart unless-stopped \
-p 20128:20128 \
-v omniroute-data:/app/data \
diegosouzapw/omniroute:latest
```
**рдкрд░реНрдпрд╛рд╡рд░рдг рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде:**
**рдбреЙрдХрд░ рдХрдВрдкреЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:**
| рдЫрд╡рд┐ | рдЯреИрдЧ | рдЖрдХрд╛рд░ | рд╡рд┐рд╡рд░рдг |
| ------------------------ | -------- | -------- | ------------------- |
| `diegosouzapw/omniroute` | `latest` | ~250рдПрдордмреА | рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬрд╝ |
| `diegosouzapw/omniroute` | `1.0.3` | ~250рдПрдордмреА | рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг |
---
---
## ЁЯЦея╕П
> ЁЯЖХ **NEW!** OmniRoute is now available as a **native desktop application** for Windows, macOS, and Linux.
- ЁЯЦея╕П **Native Window** тАФ Dedicated app window with system tray integration
- ЁЯФД **Auto-Start** тАФ Launch OmniRoute on system login
- ЁЯФФ **Native Notifications** тАФ Get alerts for quota exhaustion or provider issues
- тЪб **One-Click Install** тАФ NSIS (Windows), DMG (macOS), AppImage (Linux)
- ЁЯМР **Offline Mode** тАФ Works fully offline with bundled server
```bash
npm run electron:dev # Development mode
npm run electron:build # Current platform
npm run electron:build:win # Windows (.exe)
npm run electron:build:mac # macOS (.dmg)
npm run electron:build:linux # Linux (.AppImage)
```
ЁЯУЦ Full documentation: [`electron/README.md`](electron/README.md)
---
## ЁЯТ░ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рдг рдПрдХ рдирдЬрд╝рд░ рдореЗрдВ
| рдЯрд┐рдпрд░ | рдкреНрд░рджрд╛рддрд╛ | рд▓рд╛рдЧрдд | рдХреЛрдЯрд╛ рд░реАрд╕реЗрдЯ | рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда |
| ----------------- | ------------------- | ------------------------- | -------------------- | ------------------------ |
| **ЁЯТ│ рд╕рджрд╕реНрдпрддрд╛** | рдХреНрд▓рд╛рдЙрдб рдХреЛрдб (рдкреНрд░реЛ) | $20/рдорд╛рд╣ | 5 рдШрдВрдЯреЗ + рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ | рдкрд╣рд▓реЗ рд╣реА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд▓реА рд╣реИ |
| | рдХреЛрдбреЗрдХреНрд╕ (рдкреНрд▓рд╕/рдкреНрд░реЛ) | $20-200/рдорд╣реАрдирд╛ | 5 рдШрдВрдЯреЗ + рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ | OpenAI рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ |
| | рдЬреЗрдорд┐рдиреА рд╕реАрдПрд▓рдЖрдИ | **рдореБрдлрд╝реНрдд** | 180K/рдорд╛рд╣ + 1K/рджрд┐рди | рд╕рдм рд▓реЛрдЧ! |
| | рдЧрд┐рдЯрд╣рдм рдХреЛрдкрд╛рдпрд▓рдЯ | $10-19/рдорд╛рд╣ | рдорд╛рд╕рд┐рдХ | GitHub рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ |
| **ЁЯФСрдПрдкреАрдЖрдИ рдХреБрдВрдЬреА** | рдПрдирд╡реАрдбрд┐рдпрд╛ рдПрдирдЖрдИрдПрдо | **рдореБрдлрд╝реНрдд** (1000 рдХреНрд░реЗрдбрд┐рдЯ) | рдПрдХ рдмрд╛рд░ | рдирд┐рдГрд╢реБрд▓реНрдХ рд╕реНрддрд░реАрдп рдкрд░реАрдХреНрд╖рдг |
| | рдбреАрдкрд╕реАрдХ | рднреБрдЧрддрд╛рди-рдкреНрд░рддрд┐-рдЙрдкрдпреЛрдЧ | рдХреЛрдИ рдирд╣реАрдВ | рд╕рд░реНрд╡реЛрддреНрддрдо рдореВрд▓реНрдп/рдЧреБрдгрд╡рддреНрддрд╛ |
| | рдЧреНрд░реЛрдХ | рдлреНрд░реА рдЯрд┐рдпрд░ + рдкреЗрдб | рджрд░ рд╕реАрдорд┐рдд | рдЕрд▓реНрдЯреНрд░рд╛-рдлрд╛рд╕реНрдЯ рдЕрдиреБрдорд╛рди |
| | рдПрдХреНрд╕рдПрдЖрдИ (рдЧреНрд░реЛрдХ) | рднреБрдЧрддрд╛рди-рдкреНрд░рддрд┐-рдЙрдкрдпреЛрдЧ | рдХреЛрдИ рдирд╣реАрдВ | рдЧреНрд░реЛрдХ рдореЙрдбрд▓ |
| | рдорд┐рд╕реНрдЯреНрд░рд▓ | рдлреНрд░реА рдЯрд┐рдпрд░ + рдкреЗрдб | рджрд░ рд╕реАрдорд┐рдд | рдпреВрд░реЛрдкреАрдп рдПрдЖрдИ |
| | рдУрдкрдирд░рд╛рдЙрдЯрд░ | рднреБрдЧрддрд╛рди-рдкреНрд░рддрд┐-рдЙрдкрдпреЛрдЧ | рдХреЛрдИ рдирд╣реАрдВ | 100+ рдореЙрдбрд▓ |
| **ЁЯТ░рд╕рд╕реНрддрд╛** | рдЬреАрдПрд▓рдПрдо-4.7 | $0.6/1 рдорд┐рд▓рд┐рдпрди | рдкреНрд░рддрд┐рджрд┐рди рд╕реБрдмрд╣ 10 рдмрдЬреЗ | рдмрдЬрдЯ рдмреИрдХрдЕрдк |
| | рдорд┐рдиреАрдореИрдХреНрд╕ рдПрдо2.1 | $0.2/1 рдорд┐рд▓рд┐рдпрди | 5 рдШрдВрдЯреЗ рдХреА рд░реЛрд▓рд┐рдВрдЧ | рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рд╡рд┐рдХрд▓реНрдк |
| | рдХрд┐рдореА K2 | $9/рдорд╣реАрдирд╛ рдлреНрд▓реИрдЯ | 10рдПрдо рдЯреЛрдХрди/рдорд╛рд╣ | рдЕрдиреБрдорд╛рдирд┐рдд рд▓рд╛рдЧрдд |
| **ЁЯЖУ рдореБрдлрд╝реНрдд** | рдЖрдИрдлреНрд▓реЛ | $0 | рдЕрд╕реАрдорд┐рдд | 8 рдореЙрдбрд▓ рдирд┐рдГрд╢реБрд▓реНрдХ |
| | рдХреНрд╡реЗрди | $0 | рдЕрд╕реАрдорд┐рдд | 3 рдореЙрдбрд▓ рдореБрдлрд╝реНрдд |
| | рдХрд┐рд░реЛ | $0 | рдЕрд╕реАрдорд┐рдд | рдХреНрд▓рд╛рдЙрдб рдореБрдХреНрдд |
**ЁЯТб рдкреНрд░реЛ рдЯрд┐рдк:** рдЬреЗрдорд┐рдиреА рд╕реАрдПрд▓рдЖрдИ (180 рд╣рдЬрд╛рд░ рдирд┐рдГрд╢реБрд▓реНрдХ/рдорд╛рд╣) + рдЖрдИрдлреНрд▓реЛ (рдЕрд╕реАрдорд┐рдд рдирд┐рдГрд╢реБрд▓реНрдХ) рдХреЙрдореНрдмреЛ = $0 рд▓рд╛рдЧрдд рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ!
---
## ЁЯТб рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
### ЁЯза рдХреЛрд░ рд░реВрдЯрд┐рдВрдЧ рдФрд░ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕
| рдлрд╝реАрдЪрд░ | рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ |
| --------------------------------- | ------------------------------------------------------------------------------------ |
| ЁЯОп **рд╕реНрдорд╛рд░реНрдЯ 4-рдЯрд┐рдпрд░ рдлрд╝реЙрд▓рдмреИрдХ** | рдСрдЯреЛ-рд░реВрдЯ: рд╕рджрд╕реНрдпрддрд╛ тЖТ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА тЖТ рд╕рд╕реНрддрд╛ тЖТ рдореБрдлрд╝реНрдд |
| ЁЯУК **рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЛрдЯрд╛ рдЯреНрд░реИрдХрд┐рдВрдЧ** | рд▓рд╛рдЗрд╡ рдЯреЛрдХрди рдЧрд┐рдирддреА + рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛ рд░реАрд╕реЗрдЯ рдЙрд▓рдЯреА рдЧрд┐рдирддреА |
| ЁЯФД **рдкреНрд░рд╛рд░реВрдк рдЕрдиреБрд╡рд╛рдж** | OpenAI тЖФ рдХреНрд▓рд╛рдЙрдб тЖФ рдЬреЗрдорд┐рдиреА тЖФ рдХрд░реНрд╕рд░ тЖФ рдХрд┐рд░реЛ рд╕реАрдорд▓реЗрд╕ + рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рд╕реИрдирд┐рдЯрд╛рдЗрдЬреЗрд╢рди |
| ЁЯСе **рдорд▓реНрдЯреА-рдЕрдХрд╛рдЙрдВрдЯ рд╕рдкреЛрд░реНрдЯ** | рдмреБрджреНрдзрд┐рдорд╛рди рдЪрдпрди рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛ рдПрдХрд╛рдзрд┐рдХ рдЦрд╛рддреЗ |
| ЁЯФД **рдСрдЯреЛ рдЯреЛрдХрди рд░рд┐рдлреНрд░реЗрд╢** | OAuth рдЯреЛрдХрди рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рддрд╛рдЬрд╝рд╛ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ |
| ЁЯОи **рдХрд╕реНрдЯрдо рдХреЙрдореНрдмреЛ** | 6 рд░рдгрдиреАрддрд┐рдпрд╛рдБ: рдкрд╣рд▓реЗ рднрд░реЗрдВ, рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди, рдкреА2рд╕реА, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ, рдХрдо рд╕реЗ рдХрдо рдЙрдкрдпреЛрдЧ, рд▓рд╛рдЧрдд-рдЕрдиреБрдХреВрд▓рд┐рдд |
| ЁЯзй **рдХрд╕реНрдЯрдо рдореЙрдбрд▓** | рдХрд┐рд╕реА рднреА рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рдХреЛрдИ рднреА рдореЙрдбрд▓ рдЖрдИрдбреА рдЬреЛрдбрд╝реЗрдВ |
| ЁЯМР **рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд░рд╛рдЙрдЯрд░** | `provider/*` рдкреИрдЯрд░реНрди рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рдкреНрд░рджрд╛рддрд╛ рддрдХ рд░реВрдЯ рдХрд░реЗрдВ |
| ЁЯза **рд╕реЛрдЪ рдмрдЬрдЯ** | рддрд░реНрдХ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рдереНрд░реВ, рдСрдЯреЛ, рдХрд╕реНрдЯрдо рдФрд░ рдЕрдиреБрдХреВрд▓реА рдореЛрдб |
| ЁЯФА **Model Aliases** | Auto-forward deprecated model IDs to current replacements (built-in + custom) |
| тЪб **Background Degradation** | Auto-route background tasks (titles, summaries) to cheaper models |
| ЁЯТм **рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдЗрдВрдЬреЗрдХреНрд╢рди** | рдЧреНрд▓реЛрдмрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ |
| ЁЯУД **рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдкреАрдЖрдИ** | рдХреЛрдбреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдУрдкрдирдПрдЖрдИ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдПрдкреАрдЖрдИ (`/v1/responses`) рд╕рдорд░реНрдерди |
### ЁЯО╡ рдорд▓реНрдЯреА-рдореЙрдбрд▓ рдПрдкреАрдЖрдИ
| рдлрд╝реАрдЪрд░ | рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ |
| ---------------------------- | ------------------------------------------------- |
| ЁЯЦ╝я╕П **рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг** | `/v1/images/generations` - 4 рдкреНрд░рджрд╛рддрд╛, 9+ рдореЙрдбрд▓ |
| ЁЯУР **рдПрдВрдмреЗрдбрд┐рдВрдЧ** | `/v1/embeddings` тАФ 6 рдкреНрд░рджрд╛рддрд╛, 9+ рдореЙрдбрд▓ |
| ЁЯОд **рдСрдбрд┐рдпреЛ рдЯреНрд░рд╛рдВрд╕реНрдХреНрд░рд┐рдкреНрд╢рди** | `/v1/audio/transcriptions` - рдХрд╛рдирд╛рдлреВрд╕реА-рд╕рдВрдЧрдд |
| ЁЯФК **рдЯреЗрдХреНрд╕реНрдЯ-рдЯреВ-рд╕реНрдкреАрдЪ** | `/v1/audio/speech` - рдмрд╣реБ-рдкреНрд░рджрд╛рддрд╛ рдСрдбрд┐рдпреЛ рд╕рдВрд╢реНрд▓реЗрд╖рдг |
| ЁЯЫбя╕П **рд╕рдВрдпрдо** | `/v1/moderations` тАФ рд╕рд╛рдордЧреНрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рдВрдЪ |
| ЁЯФА **рдкреБрдирд░реНрд░реИрдВрдХрд┐рдВрдЧ** | `/v1/rerank` тАФ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдкреБрдирд░реНрд░реИрдВрдХрд┐рдВрдЧ |
### ЁЯЫбя╕П рд▓рдЪреАрд▓рд╛рдкрди рдФрд░ рд╕реБрд░рдХреНрд╖рд╛
| рдлрд╝реАрдЪрд░ | рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ |
| ------------------------------------- | ---------------------------------------------------------------------------- |
| ЁЯФМ **рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░** | рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдереНрд░реЗрд╢реЛрд▓реНрдб рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐-рдкреНрд░рджрд╛рддрд╛ рд╕реНрд╡рддрдГ рдЦреЛрд▓реЗрдВ/рдмрдВрдж рдХрд░реЗрдВ |
| ЁЯЫбя╕П **рдПрдВрдЯреА-рдердВрдбрд░рд┐рдВрдЧ рдЭреБрдВрдб** | рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореНрдпреВрдЯреЗрдХреНрд╕ + рд╕реЗрдорд╛рдлреЛрд░ рджрд░-рд╕реАрдорд╛ |
| ЁЯза **рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдХреИрд╢** | рджреЛ-рд╕реНрддрд░реАрдп рдХреИрд╢ (рд╣рд╕реНрддрд╛рдХреНрд╖рд░ + рд╕рд┐рдореЗрдВрдЯрд┐рдХ) рд▓рд╛рдЧрдд рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ |
| тЪб **рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз** | рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП 5s рдбрд┐рдбрдЕрдк рд╡рд┐рдВрдбреЛ |
| ЁЯФТ **рдЯреАрдПрд▓рдПрд╕ рдлрд╝рд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рд╕реНрдкреВрдлрд╝рд┐рдВрдЧ** | Wreq-js рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреАрдПрд▓рдПрд╕-рдЖрдзрд╛рд░рд┐рдд рдмреЙрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░реЗрдВ |
| ЁЯМР **рдЖрдИрдкреА рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ** | рдПрдкреАрдЖрдИ рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рд╕реВрдЪреА/рдЕрд╡рд░реБрджреНрдз рд╕реВрдЪреА |
| ЁЯУК **рд╕рдВрдкрд╛рджрди рдпреЛрдЧреНрдп рджрд░ рд╕реАрдорд╛рдПрдБ** | рд╕рд┐рд╕реНрдЯрдо рд╕реНрддрд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЖрд░рдкреАрдПрдо, рдиреНрдпреВрдирддрдо рдЕрдВрддрд░ рдФрд░ рдЕрдзрд┐рдХрддрдо рд╕рдорд╡рд░реНрддреА |
| ЁЯТ╛ **Rate Limit Persistence** | Learned limits survive restarts via SQLite with 60s debounce + 24h staleness |
| ЁЯФД **Token Refresh Resilience** | Per-provider circuit breaker (5 failsтЖТ30min) + 30s timeout per attempt |
| ЁЯЫб **рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╕реБрд░рдХреНрд╖рд╛** | `/models` рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдСрдереЗрдВрдЯрд┐рдХ рдЧреЗрдЯрд┐рдВрдЧ + рдкреНрд░рджрд╛рддрд╛ рдЕрд╡рд░реЛрдзрди |
| ЁЯФТ **рдкреНрд░реЙрдХреНрд╕реА рджреГрд╢реНрдпрддрд╛** | рд░рдВрдЧ-рдХреЛрдбрд┐рдд рдмреИрдЬ: ЁЯЯв рд╡реИрд╢реНрд╡рд┐рдХ, ЁЯЯб рдкреНрд░рджрд╛рддрд╛, ЁЯФ╡ рдЖрдИрдкреА рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐-рдХрдиреЗрдХреНрд╢рди |
| ЁЯМР **3-рд╕реНрддрд░реАрдп рдкреНрд░реЙрдХреНрд╕реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди** | рд╡реИрд╢реНрд╡рд┐рдХ, рдкреНрд░рддрд┐-рдкреНрд░рджрд╛рддрд╛, рдпрд╛ рдкреНрд░рддрд┐-рдХрдиреЗрдХреНрд╢рди рд╕реНрддрд░ рдкрд░ рдкреНрд░реЙрдХреНрд╕реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ |
### ЁЯУК рдЕрд╡рд▓реЛрдХрдирд╢реАрд▓рддрд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
| рдлрд╝реАрдЪрд░ | рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ |
| ------------------------------- | ------------------------------------------------------------------------------ |
| ЁЯУЭ **рд▓реЙрдЧрд┐рдВрдЧ рдХрд╛ рдЕрдиреБрд░реЛрдз** | рдкреВрд░реНрдг рдЕрдиреБрд░реЛрдз/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдбрд┐рдмрдЧ рдореЛрдб |
| ЁЯТ╛ **SQLite рдкреНрд░реЙрдХреНрд╕реА рд▓реЙрдЧреНрд╕** | рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рд▓реЙрдЧ рд╕рд░реНрд╡рд░ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рд╕реЗ рдмрдЪреЗ рд░рд╣рддреЗ рд╣реИрдВ |
| ЁЯУК **рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдбреИрд╢рдмреЛрд░реНрдб** | рд░рд┐рдЪрд╛рд░реНрдЬ-рд╕рдВрдЪрд╛рд▓рд┐рдд: рд╕реНрдЯреЗрдЯ рдХрд╛рд░реНрдб, рдореЙрдбрд▓ рдЙрдкрдпреЛрдЧ рдЪрд╛рд░реНрдЯ, рдкреНрд░рджрд╛рддрд╛ рддрд╛рд▓рд┐рдХрд╛ |
| ЁЯУИ **рдкреНрд░рдЧрддрд┐ рдЯреНрд░реИрдХрд┐рдВрдЧ** | рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдСрдкреНрдЯ-рдЗрди рдПрд╕рдПрд╕рдИ рдкреНрд░рдЧрддрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо |
| ЁЯзк **рдПрд▓рдПрд▓рдПрдо рдореВрд▓реНрдпрд╛рдВрдХрди** | 4 рдореИрдЪ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЧреЛрд▓реНрдбрди рд╕реЗрдЯ рдкрд░реАрдХреНрд╖рдг |
| ЁЯФН **рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз** | p50/p95/p99 рд╡рд┐рд▓рдВрдмрддрд╛ рдПрдХрддреНрд░реАрдХрд░рдг + рдПрдХреНрд╕-рдЕрдиреБрд░реЛрдз-рдЖрдИрдбреА рдЯреНрд░реЗрд╕рд┐рдВрдЧ |
| ЁЯУЛ **рд▓реЙрдЧреНрд╕ рдбреИрд╢рдмреЛрд░реНрдб** | рдПрдХреАрдХреГрдд 4-рдЯреИрдм рдкреГрд╖реНрда: рдЕрдиреБрд░реЛрдз рд▓реЙрдЧ, рдкреНрд░реЙрдХреНрд╕реА рд▓реЙрдЧ, рдСрдбрд┐рдЯ рд▓реЙрдЧ, рдХрдВрд╕реЛрд▓ |
| ЁЯЦея╕П **рдХрдВрд╕реЛрд▓ рд▓реЙрдЧ рд╡реНрдпреВрдЕрд░** | рд▓реЗрд╡рд▓ рдлрд╝рд┐рд▓реНрдЯрд░, рдЦреЛрдЬ, рдСрдЯреЛ-рд╕реНрдХреНрд░реЙрд▓ рдХреЗ рд╕рд╛рде рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдЯрд░реНрдорд┐рдирд▓-рд╢реИрд▓реА рд╡реНрдпреВрдЕрд░ |
| ЁЯУС **рдлрд╝рд╛рдЗрд▓-рдЖрдзрд╛рд░рд┐рдд рд▓реЙрдЧрд┐рдВрдЧ** | рдХрдВрд╕реЛрд▓ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рд░реЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рднреА рдЖрдЙрдЯрдкреБрдЯ рдХреЛ JSON рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИ |
| ЁЯПе **рд╕реНрд╡рд╛рд╕реНрдереНрдп рдбреИрд╢рдмреЛрд░реНрдб** | рд╕рд┐рд╕реНрдЯрдо рдЕрдкрдЯрд╛рдЗрдо, рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ рд╕реНрдерд┐рддрд┐, рд▓реЙрдХрдЖрдЙрдЯ, рдХреИрд╢ рдЖрдБрдХрдбрд╝реЗ |
| ЁЯТ░ **рд▓рд╛рдЧрдд рдЯреНрд░реИрдХрд┐рдВрдЧ** | рдмрдЬрдЯ рдкреНрд░рдмрдВрдзрди + рдкреНрд░рддрд┐-рдореЙрдбрд▓ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рдг рд╡рд┐рдиреНрдпрд╛рд╕ |
### тШБя╕П рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдФрд░ рд╕рд┐рдВрдХ
| рдлрд╝реАрдЪрд░ | рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ |
| ---------------------------- | ---------------------------------------------------------------------------- | ----------------------------- |
| ЁЯТ╛ **рдХреНрд▓рд╛рдЙрдб рд╕рд┐рдВрдХ** | рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╡рд░реНрдХрд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕рд┐рдВрдХ рдХрд░реЗрдВ |
| ЁЯМР **рдХрд╣реАрдВ рднреА рддреИрдирд╛рдд рдХрд░реЗрдВ** | рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ, рд╡реАрдкреАрдПрд╕, рдбреЙрдХрд░, рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╡рд░реНрдХрд░реНрд╕ |
| ЁЯФС **рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рдмрдВрдзрди** | рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛ рдПрдкреАрдЖрдИ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ, рдШреБрдорд╛рдПрдБ рдФрд░ рд╕реНрдХреЛрдк рдХрд░реЗрдВ |
| ЁЯзЩ **рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рд╡рд┐рдЬрд╝рд╛рд░реНрдб** | рдкрд╣рд▓реА рдмрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП 4-рдЪрд░рдгреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╕реЗрдЯрдЕрдк |
| ЁЯФз **рд╕реАрдПрд▓рдЖрдИ рдЯреВрд▓реНрд╕ рдбреИрд╢рдмреЛрд░реНрдб** | рдХреНрд▓рд╛рдЙрдб, рдХреЛрдбреЗрдХреНрд╕, рдХреНрд▓рд╛рдЗрди, рдУрдкрдирдХреНрд▓реЙ, рдХрд┐рд▓реЛ, рдПрдВрдЯреАрдЧреНрд░реЗрд╡рд┐рдЯреА | рдХреЛ рдПрдХ-рдХреНрд▓рд┐рдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ |
| ЁЯФД **рдбреАрдмреА рдмреИрдХрдЕрдк** | рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмреИрдХрдЕрдк, рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛, рдирд┐рд░реНрдпрд╛рдд рдФрд░ рдЖрдпрд╛рдд |
| ЁЯМР **рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг** | рдиреЗрдХреНрд╕реНрдЯ-рдЗрдВрдЯрд▓ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг i18n - рдЕрдВрдЧреНрд░реЗрдЬреА + рдкреБрд░реНрддрдЧрд╛рд▓реА (рдмреНрд░рд╛рдЬреАрд▓) рд╕рдорд░реНрдерди |
| ЁЯМН **рднрд╛рд╖рд╛ рдЪрдпрдирдХрд░реНрддрд╛** | рд░реАрдпрд▓-рдЯрд╛рдЗрдо рднрд╛рд╖рд╛ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░ рдореЗрдВ рдЧреНрд▓реЛрдм рдЖрдЗрдХрди (ЁЯЗ║ЁЯЗ╕/ЁЯЗзЁЯЗ╖) |
| ЁЯУВ **рдХрд╕реНрдЯрдо рдбреЗрдЯрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛** | `DATA_DIR` env var рдбрд┐рдлрд╝реЙрд▓реНрдЯ `~/.omniroute` рд╕рдВрдЧреНрд░рд╣рдг рдкрде рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП |
<summary><b>ЁЯУЦ рд╕реБрд╡рд┐рдзрд╛ рд╡рд┐рд╡рд░рдг</b></summary>
### ЁЯОп рд╕реНрдорд╛рд░реНрдЯ 4-рдЯрд┐рдпрд░ рдлрд╝реЙрд▓рдмреИрдХ
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлрд╝реЙрд▓рдмреИрдХ рдХреЗ рд╕рд╛рде рдХреЙрдореНрдмреЛ рдмрдирд╛рдПрдВ:
### ЁЯУК рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдХреЛрдЯрд╛ рдЯреНрд░реИрдХрд┐рдВрдЧ
- рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛ рдЯреЛрдХрди рдЦрдкрдд
- рдЙрд▓рдЯреА рдЧрд┐рдирддреА рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ (5 рдШрдВрдЯреЗ, рджреИрдирд┐рдХ, рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ)
- рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП рд╕реНрддрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧрдд рдЕрдиреБрдорд╛рди
- рдорд╛рд╕рд┐рдХ рдЦрд░реНрдЪ рд░рд┐рдкреЛрд░реНрдЯ
### ЁЯФД рдкреНрд░рд╛рд░реВрдк рдЕрдиреБрд╡рд╛рдж
рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рдмреАрдЪ рдирд┐рд░реНрдмрд╛рдз рдЕрдиреБрд╡рд╛рдж:
- **рдУрдкрдирдПрдЖрдИ** тЖФ **рдХреНрд▓рд╛рдЙрдб** тЖФ **рдорд┐рдереБрди** тЖФ **рдУрдкрдирдПрдЖрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ**
- рдЖрдкрдХрд╛ рд╕реАрдПрд▓рдЖрдИ рдЙрдкрдХрд░рдг рдУрдкрдирдПрдЖрдИ рдкреНрд░рд╛рд░реВрдк рднреЗрдЬрддрд╛ рд╣реИ тЖТ рдУрдордиреАрд░реВрдЯ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ тЖТ рдкреНрд░рджрд╛рддрд╛ рдореВрд▓ рдкреНрд░рд╛рд░реВрдк рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ
- рдХрд╕реНрдЯрдо рдУрдкрдирдПрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
- **рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪреНрдЫрддрд╛** - рд╕рдЦреНрдд рдУрдкрдирдПрдЖрдИ рдПрд╕рдбреАрдХреЗ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рдорд╛рдирдХ рдлрд╝реАрд▓реНрдб рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ
- **рднреВрдорд┐рдХрд╛ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг** - `developer` тЖТ рдЧреИрд░-OpenAI рдХреЗ рд▓рд┐рдП `system`; `system` тЖТ GLM/ERNIE рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП `user`
- **рдЯреИрдЧ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ** - `<think>` рдмреНрд▓реЙрдХ тЖТ рд╕реЛрдЪ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП `reasoning_content`
- **рд╕рдВрд░рдЪрд┐рдд рдЖрдЙрдЯрдкреБрдЯ** тАФ `json_schema` тЖТ рдорд┐рдереБрди рд░рд╛рд╢рд┐ рдХрд╛ `responseMimeType`/`responseSchema`
### ЁЯСе рдорд▓реНрдЯреА-рдЕрдХрд╛рдЙрдВрдЯ рд╕рдкреЛрд░реНрдЯ
- рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛ рдПрдХрд╛рдзрд┐рдХ рдЦрд╛рддреЗ рдЬреЛрдбрд╝реЗрдВ
- рдСрдЯреЛ рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди рдпрд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛-рдЖрдзрд╛рд░рд┐рдд рд░реВрдЯрд┐рдВрдЧ
- рдХреЛрдЯрд╛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдЕрдЧрд▓реЗ рдЦрд╛рддреЗ рдореЗрдВ рдлрд╝реЙрд▓рдмреИрдХ
### ЁЯФД рдСрдЯреЛ рдЯреЛрдХрди рд░рд┐рдлреНрд░реЗрд╢
- OAuth рдЯреЛрдХрди рд╕рдорд╛рдкреНрддрд┐ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рддрд╛рдЬрд╝рд╛ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ
- рдХрд┐рд╕реА рдореИрдиреНрдпреБрдЕрд▓ рдкреБрди: рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
- рд╕рднреА рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдирд┐рд░реНрдмрд╛рдз рдЕрдиреБрднрд╡
### ЁЯОи рдХрд╕реНрдЯрдо рдХреЙрдореНрдмреЛ
- рдЕрд╕реАрдорд┐рдд рдореЙрдбрд▓ рд╕рдВрдпреЛрдЬрди рдмрдирд╛рдПрдВ
- 6 рд░рдгрдиреАрддрд┐рдпрд╛рдБ: рдкрд╣рд▓реЗ рднрд░реЗрдВ, рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди, рджреЛ-рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╢рдХреНрддрд┐, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ, рдХрдо рд╕реЗ рдХрдо рдЙрдкрдпреЛрдЧ, рд▓рд╛рдЧрдд-рдЕрдиреБрдХреВрд▓рд┐рдд
- рдХреНрд▓рд╛рдЙрдб рд╕рд┐рдВрдХ рдХреЗ рд╕рд╛рде рд╕рднреА рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдкрд░ рдХреЙрдореНрдмреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ
### ЁЯПе рд╕реНрд╡рд╛рд╕реНрдереНрдп рдбреИрд╢рдмреЛрд░реНрдб
- рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд┐рддрд┐ (рдЕрдкрдЯрд╛рдЗрдо, рд╕рдВрд╕реНрдХрд░рдг, рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ)
- рдкреНрд░рддрд┐ рдкреНрд░рджрд╛рддрд╛ рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ рдХреА рд╕реНрдерд┐рддрд┐ (рдмрдВрдж/рдЦреБрд▓рд╛/рдЖрдзрд╛ рдЦреБрд▓рд╛)
- рджрд░ рд╕реАрдорд╛ рд╕реНрдерд┐рддрд┐ рдФрд░ рд╕рдХреНрд░рд┐рдп рддрд╛рд▓рд╛рдмрдВрджреА
- рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреИрд╢ рдЖрдБрдХрдбрд╝реЗ
- рд╡рд┐рд▓рдВрдмрддрд╛ рдЯреЗрд▓реАрдореЗрдЯреНрд░реА (p50/p95/p99) + рд╢реАрдШреНрд░ рдХреИрд╢
- рдПрдХ рдХреНрд▓рд┐рдХ рд╕реЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╕реНрдерд┐рддрд┐ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ
### ЁЯФз рдЕрдиреБрд╡рд╛рджрдХ рдЦреЗрд▓ рдХрд╛ рдореИрджрд╛рди
рдУрдордиреАрд░реВрдЯ рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдПрдкреАрдЖрдИ рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП **4 рдореЛрдб** рдХреЗ рд╕рд╛рде рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдиреБрд╡рд╛рджрдХ рдЦреЗрд▓ рдХрд╛ рдореИрджрд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИ:
| рдореЛрдб | рд╡рд┐рд╡рд░рдг |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **ЁЯТ╗рдЦреЗрд▓ рдХрд╛ рдореИрджрд╛рди** | рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рд╛рд░реВрдк рдЕрдиреБрд╡рд╛рдж - рдХрд┐рд╕реА рднреА рдПрдкреАрдЖрдИ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдХреЛ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ рдФрд░ рддреБрд░рдВрдд рджреЗрдЦреЗрдВ рдХрд┐ рдУрдореНрдиреАрд░реВрдЯ рдкреНрд░рджрд╛рддрд╛ рдкреНрд░рд╛рд░реВрдкреЛрдВ (рдУрдкрдирдПрдЖрдИ тЖФ рдХреНрд▓рд╛рдЙрдб тЖФ рдЬреЗрдорд┐рдиреА тЖФ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдПрдкреАрдЖрдИ) рдХреЗ рдмреАрдЪ рдЗрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдФрд░ рдкреНрд░рд╛рд░реВрдк рдСрдЯреЛ-рдбрд┐рдЯреЗрдХреНрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИред |
| **ЁЯТм рдЪреИрдЯ рдкрд░реАрдХреНрд╖рдХ** | рдУрдореНрдирд┐рд░реВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪреИрдЯ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ рдФрд░ рдкреВрд░реА рд░рд╛рдЙрдВрдб-рдЯреНрд░рд┐рдк рджреЗрдЦреЗрдВ: рдЖрдкрдХрд╛ рдЗрдирдкреБрдЯ, рдЕрдиреБрд╡рд╛рджрд┐рдд рдЕрдиреБрд░реЛрдз, рдкреНрд░рджрд╛рддрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдФрд░ рдЕрдиреБрд╡рд╛рджрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд╛рдкрд╕ред рдХреЙрдореНрдмреЛ рд░реВрдЯрд┐рдВрдЧ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдореВрд▓реНрдпред |
| **ЁЯзк рдЯреЗрд╕реНрдЯ рдмреЗрдВрдЪ** | рдмреИрдЪ рдкрд░реАрдХреНрд╖рдг рдореЛрдб - рд╡рд┐рднрд┐рдиреНрди рдЗрдирдкреБрдЯ рдФрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдХрдИ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ, рдЙрди рд╕рднреА рдХреЛ рдПрдХ рд╕рд╛рде рдЪрд▓рд╛рдПрдВ, рдФрд░ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдФрд░ рдореЙрдбрд▓реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред |
| **ЁЯУ▒рд▓рд╛рдЗрд╡ рдореЙрдирд┐рдЯрд░** | рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдЕрдиреБрд░реЛрдз рдХреА рдирд┐рдЧрд░рд╛рдиреА - рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдУрдореНрдиреАрд░реВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╡рд╛рд╣рд┐рдд рд╣реЛрддреЗ рд╣реБрдП рджреЗрдЦреЗрдВ, рдкреНрд░рд╛рд░реВрдк рдЕрдиреБрд╡рд╛рдж рдХреЛ рд▓рд╛рдЗрд╡ рд╣реЛрддреЗ рд╣реБрдП рджреЗрдЦреЗрдВ, рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рддреБрд░рдВрдд рдкрд╣рдЪрд╛рди рдХрд░реЗрдВред |
**рдкрд╣реБрдБрдЪ:** рдбреИрд╢рдмреЛрд░реНрдб тЖТ рдЕрдиреБрд╡рд╛рджрдХ (рд╕рд╛рдЗрдбрдмрд╛рд░)
### ЁЯТ╛ рдХреНрд▓рд╛рдЙрдб рд╕рд┐рдВрдХ
- рд╕рднреА рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдореЗрдВ рд╕рд┐рдВрдХ рдкреНрд░рджрд╛рддрд╛, рдХреЙрдореНрдмреЛ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕
- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреГрд╖реНрдарднреВрдорд┐ рд╕рд┐рдВрдХ
- рд╕реБрд░рдХреНрд╖рд┐рдд рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рднрдВрдбрд╛рд░рдг
## ЁЯзк рдореВрд▓реНрдпрд╛рдВрдХрди
рдУрдордиреАрд░реВрдЯ рдореЗрдВ рдЧреЛрд▓реНрдбрди рд╕реЗрдЯ рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рдПрд▓рдПрд▓рдПрдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдореВрд▓реНрдпрд╛рдВрдХрди рдврд╛рдВрдЪрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ **рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ тЖТ рдЗрд╡реЗрд▓реНрд╕** рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдВред
### рдмрд┐рд▓реНрдЯ-рдЗрди рдЧреЛрд▓реНрдбрди рд╕реЗрдЯ
рдкреНрд░реА-рд▓реЛрдбреЗрдб "рдУрдореНрдиреАрд░реВрдЯ рдЧреЛрд▓реНрдбрди рд╕реЗрдЯ" рдореЗрдВ 10 рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдирдорд╕реНрддреЗ, рдЧрдгрд┐рдд, рднреВрдЧреЛрд▓, рдХреЛрдб рдЬрдирд░реЗрд╢рди
- JSON рдкреНрд░рд╛рд░реВрдк рдЕрдиреБрдкрд╛рд▓рди, рдЕрдиреБрд╡рд╛рдж, рдорд╛рд░реНрдХрдбрд╛рдЙрди
- рд╕реБрд░рдХреНрд╖рд╛ рдЗрдирдХрд╛рд░ (рд╣рд╛рдирд┐рдХрд╛рд░рдХ рд╕рд╛рдордЧреНрд░реА), рдЧрд┐рдирддреА, рдмреВрд▓рд┐рдпрди рддрд░реНрдХ
### рдореВрд▓реНрдпрд╛рдВрдХрди рд░рдгрдиреАрддрд┐рдпрд╛рдБ
| рд░рдгрдиреАрддрд┐ | рд╡рд┐рд╡рд░рдг | рдЙрджрд╛рд╣рд░рдг |
| ---------- | ------------------------------------------------- | -------------------------------- |
| `exact` | рдЖрдЙрдЯрдкреБрдЯ рдмрд┐рд▓реНрдХреБрд▓ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП | `"4"` |
| `contains` | рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ (рдХреЗрд╕-рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП | `"Paris"` |
| `regex` | рдЖрдЙрдЯрдкреБрдЯ рд░реЗрдЧреЗрдХреНрд╕ рдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП | `"1.*2.*3"` |
| `custom` | рдХрд╕реНрдЯрдо рдЬреЗрдПрд╕ рдлрд╝рдВрдХреНрд╢рди рд╕рд╣реА/рдЧрд▓рдд рд▓реМрдЯрд╛рддрд╛ рд╣реИ | `(output) => output.length > 10` |
---
## ЁЯУЦ рд╕реЗрдЯрдЕрдк рдЧрд╛рдЗрдб
<summary><b>ЁЯТ│ рд╕рджрд╕реНрдпрддрд╛ рдкреНрд░рджрд╛рддрд╛</b></summary>
### рдХреНрд▓рд╛рдЙрдб рдХреЛрдб (рдкреНрд░реЛ/рдореИрдХреНрд╕)
**рдкреНрд░реЛ рдЯрд┐рдк:** рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдУрдкрд╕ рдФрд░ рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рд╕реЙрдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдУрдордиреАрд░реВрдЯ рдкреНрд░рддрд┐ рдореЙрдбрд▓ рдХреЛрдЯрд╛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИ!
### рдУрдкрдирдПрдЖрдИ рдХреЛрдбреЗрдХреНрд╕ (рдкреНрд▓рд╕/рдкреНрд░реЛ)
### рдЬреЗрдорд┐рдиреА рд╕реАрдПрд▓рдЖрдИ (рдореБрдлрд╝реНрдд 180K/рдорд╛рд╣!)
**рд╕рд░реНрд╡реЛрддреНрддрдо рдореВрд▓реНрдп:** рд╡рд┐рд╢рд╛рд▓ рдирд┐рдГрд╢реБрд▓реНрдХ рд╕реНрддрд░! рд╕рд╢реБрд▓реНрдХ рд╕реНрддрд░реЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
### рдЧрд┐рдЯрд╣рдм рдХреЛрдкрд╛рдпрд▓рдЯ
<details>
<summary><b>ЁЯФС API рдХреБрдВрдЬреА рдкреНрд░рджрд╛рддрд╛</b></summary>
### рдПрдирд╡реАрдбрд┐рдпрд╛ рдПрдирдЖрдИрдПрдо (рдореБрдлрд╝реНрдд 1000 рдХреНрд░реЗрдбрд┐рдЯ!)
1. рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ: [build.nvidia.com](https://build.nvidia.com)
2. рдирд┐рдГрд╢реБрд▓реНрдХ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (1000 рдЕрдиреБрдорд╛рди рдХреНрд░реЗрдбрд┐рдЯ рд╢рд╛рдорд┐рд▓)
3. рдбреИрд╢рдмреЛрд░реНрдб тЖТ рдкреНрд░рджрд╛рддрд╛ рдЬреЛрдбрд╝реЗрдВ тЖТ рдПрдирд╡реАрдбрд┐рдпрд╛ рдПрдирдЖрдИрдПрдо:
- рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА: `nvapi-your-key`
**рдореЙрдбрд▓:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct`, рдФрд░ 50+ рдЕрдзрд┐рдХ
**рдкреНрд░реЛ рдЯрд┐рдк:** рдУрдкрдирдПрдЖрдИ-рд╕рдВрдЧрдд рдПрдкреАрдЖрдИ - рдУрдордиреАрд░реВрдЯ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдЕрдиреБрд╡рд╛рдж рдХреЗ рд╕рд╛рде рд╕рд╣рдЬрддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!
### рдбреАрдкрд╕реАрдХ
1. рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ: [platform.deepseek.com](https://platform.deepseek.com)
2. рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
3. рдбреИрд╢рдмреЛрд░реНрдб тЖТ рдкреНрд░рджрд╛рддрд╛ рдЬреЛрдбрд╝реЗрдВ тЖТ рдбреАрдкрд╕реАрдХ
**рдореЙрдбрд▓:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
### рдЧреНрд░реЛрдХ (рдирд┐рдГрд╢реБрд▓реНрдХ рдЯрд┐рдпрд░ рдЙрдкрд▓рдмреНрдз!)
1. рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ: [console.groq.com](https://console.groq.com)
2. рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдлреНрд░реА рдЯрд┐рдпрд░ рд╢рд╛рдорд┐рд▓)
3. рдбреИрд╢рдмреЛрд░реНрдб тЖТ рдкреНрд░рджрд╛рддрд╛ рдЬреЛрдбрд╝реЗрдВ тЖТ рдЧреНрд░реЛрдХ
**рдореЙрдбрд▓:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
**рдкреНрд░реЛ рдЯрд┐рдк:** рдЕрд▓реНрдЯреНрд░рд╛-рдлрд╛рд╕реНрдЯ рдЕрдиреБрдорд╛рди - рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо!
### рдУрдкрдирд░рд╛рдЙрдЯрд░ (100+ рдореЙрдбрд▓)
1. рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ: [openrouter.ai](https://openrouter.ai)
2. рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
3. рдбреИрд╢рдмреЛрд░реНрдб тЖТ рдкреНрд░рджрд╛рддрд╛ рдЬреЛрдбрд╝реЗрдВ тЖТ рдУрдкрдирд░рд╛рдЙрдЯрд░
**рдореЙрдбрд▓:** рдПрдХ рд╣реА рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдкреНрд░рдореБрдЦ рдкреНрд░рджрд╛рддрд╛рдУрдВ рд╕реЗ 100+ рдореЙрдбрд▓ рддрдХ рдкрд╣реБрдВрдЪреЗрдВред
<summary><b>ЁЯТ░ рд╕рд╕реНрддреЗ рдкреНрд░рджрд╛рддрд╛ (рдмреИрдХрдЕрдк)</b></summary>
### GLM-4.7 (рджреИрдирд┐рдХ рд░реАрд╕реЗрдЯ, $0.6/1 рдорд┐рд▓рд┐рдпрди)
1. рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ: [Zhipu AI](https://open.bigmodel.cn/)
2. рдХреЛрдбрд┐рдВрдЧ рдпреЛрдЬрдирд╛ рд╕реЗ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
3. рдбреИрд╢рдмреЛрд░реНрдб тЖТ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдЬреЛрдбрд╝реЗрдВ:
- рдкреНрд░рджрд╛рддрд╛: `glm`
- рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА: `your-key`
**рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:** `glm/glm-4.7`
**рдкреНрд░реЛ рдЯрд┐рдк:** рдХреЛрдбрд┐рдВрдЧ рдкреНрд▓рд╛рди 1/7 рд▓рд╛рдЧрдд рдкрд░ 3├Ч рдХреЛрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ! рдкреНрд░рддрд┐рджрд┐рди рд╕реБрдмрд╣ 10:00 рдмрдЬреЗ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВред
### рдорд┐рдиреАрдореИрдХреНрд╕ рдПрдо2.1 (5 рдШрдВрдЯреЗ рд░реАрд╕реЗрдЯ, $0.20/1 рдорд┐рд▓рд┐рдпрди)
1. рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ: [MiniMax](https://www.minimax.io/)
2. рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
3. рдбреИрд╢рдмреЛрд░реНрдб тЖТ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдЬреЛрдбрд╝реЗрдВ
**рдЙрдкрдпреЛрдЧ:** `minimax/MiniMax-M2.1`
**рдкреНрд░реЛ рдЯрд┐рдк:** рд▓рдВрдмреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рд╡рд┐рдХрд▓реНрдк (1M рдЯреЛрдХрди)!
### рдХрд┐рдореА K2 ($9/рдорд╛рд╣ рдлреНрд▓реИрдЯ)
1. рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ: [Moonshot AI](https://platform.moonshot.ai/)
2. рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
3. рдбреИрд╢рдмреЛрд░реНрдб тЖТ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдЬреЛрдбрд╝реЗрдВ
**рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:** `kimi/kimi-latest`
**рдкреНрд░реЛ рдЯрд┐рдк:** 10рдПрдо рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд $9/рдорд╛рд╣ = $0.90/1рдПрдо рдкреНрд░рднрд╛рд╡реА рд▓рд╛рдЧрдд!
<summary><b>ЁЯЖУ рдореБрдлрд╝реНрдд рдкреНрд░рджрд╛рддрд╛ (рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдмреИрдХрдЕрдк)</b></summary>
### рдЖрдИрдлреНрд▓реЛ (8 рдореБрдлрд╝реНрдд рдореЙрдбрд▓)
### рдХреНрд╡реЗрди (3 рдореБрдлрд╝реНрдд рдореЙрдбрд▓)
### рдХрд┐рд░реЛ (рдХреНрд▓рд╛рдЙрдб рдлреНрд░реА)
<summary><b>ЁЯОи рдХреЙрдореНрдмреЛ рдмрдирд╛рдПрдВ</b></summary>
### рдЙрджрд╛рд╣рд░рдг 1: рд╕рджрд╕реНрдпрддрд╛ рдЕрдзрд┐рдХрддрдо рдХрд░реЗрдВ тЖТ рд╕рд╕реНрддрд╛ рдмреИрдХрдЕрдк
### рдЙрджрд╛рд╣рд░рдг 2: рдХреЗрд╡рд▓ рдирд┐рдГрд╢реБрд▓реНрдХ (рд╢реВрдиреНрдп рд▓рд╛рдЧрдд)
```
Name: free-combo
Models:
1. gc/gemini-3-flash-preview (180K free/month)
2. if/kimi-k2-thinking (unlimited)
3. qw/qwen3-coder-plus (unlimited)
Cost: $0 forever!
```
<summary><b>ЁЯФз CLI рдПрдХреАрдХрд░рдг</b></summary>
### рдХрд░реНрд╕рд░ рдЖрдИрдбреАрдИ
### рдХреНрд▓рд╛рдЙрдб рдХреЛрдб
рдПрдХ-рдХреНрд▓рд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ **CLI рдЯреВрд▓реНрд╕** рдкреГрд╖реНрда рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдпрд╛ `~/.claude/settings.json` рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред
### рдХреЛрдбреЗрдХреНрд╕ рд╕реАрдПрд▓рдЖрдИ
### рдУрдкрдирдХреНрд▓реЙ
**рд╡рд┐рдХрд▓реНрдк 1 - рдбреИрд╢рдмреЛрд░реНрдб (рдЕрдиреБрд╢рдВрд╕рд┐рдд):**
**рд╡рд┐рдХрд▓реНрдк 2 - рдореИрдиреБрдЕрд▓:** рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ `~/.openclaw/openclaw.json`:
> **рдзреНрдпрд╛рди рджреЗрдВ:** рдУрдкрдирдХреНрд▓рд╛рд╡ рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдУрдордиреАрд░реВрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред IPv6 рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП `localhost` рдХреЗ рдмрдЬрд╛рдп `127.0.0.1` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
### рдХреНрд▓рд╛рдЗрди / рдЬрд╛рд░реА рд░рдЦреЗрдВ / рд░реВрдХреЛрдб
---
## ЁЯРЫ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг
<summary><b>рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ</b></summary>
**"рднрд╛рд╖рд╛ рдореЙрдбрд▓ рдиреЗ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛"**
- рдкреНрд░рджрд╛рддрд╛ рдХреЛрдЯрд╛ рд╕рдорд╛рдкреНрдд тЖТ рдбреИрд╢рдмреЛрд░реНрдб рдХреЛрдЯрд╛ рдЯреНрд░реИрдХрд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
- рд╕рдорд╛рдзрд╛рди: рдХреЙрдореНрдмреЛ рдлрд╝реЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдпрд╛ рд╕рд╕реНрддреЗ рд╕реНрддрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ
**рджрд░ рд╕реАрдорд┐рдд рдХрд░рдирд╛**
- рд╕рджрд╕реНрдпрддрд╛ рдХреЛрдЯрд╛ рдЦрд╝рддреНрдо тЖТ GLM/MiniMax рдкрд░ рдлрд╝реЙрд▓рдмреИрдХ
- рдХреЙрдореНрдмреЛ рдЬреЛрдбрд╝реЗрдВ: `cc/claude-opus-4-6 тЖТ glm/glm-4.7 тЖТ if/kimi-k2-thinking`
**OAuth рдЯреЛрдХрди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛**
- рдУрдореНрдирд┐рд░реВрдЯ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рддрдГ рддрд╛рдЬрд╝рд╛
- рдпрджрд┐ рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд░рд╣рддреА рд╣реИ: рдбреИрд╢рдмреЛрд░реНрдб тЖТ рдкреНрд░рджрд╛рддрд╛ тЖТ рдкреБрдирдГ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
**рдЙрдЪреНрдЪ рд▓рд╛рдЧрдд**
- рдбреИрд╢рдмреЛрд░реНрдб тЖТ рд▓рд╛рдЧрдд рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдБрдХрдбрд╝реЗ рдЬрд╛рдБрдЪреЗрдВ
- рдкреНрд░рд╛рдердорд┐рдХ рдореЙрдбрд▓ рдХреЛ рдЬреАрдПрд▓рдПрдо/рдорд┐рдиреАрдореИрдХреНрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ
- рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдлреНрд░реА рдЯрд┐рдпрд░ (рдорд┐рдереБрди рд╕реАрдПрд▓рдЖрдИ, рдЖрдИрдлреНрд▓реЛ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
**рдбреИрд╢рдмреЛрд░реНрдб рдЧрд▓рдд рдкреЛрд░реНрдЯ рдкрд░ рдЦреБрд▓рддрд╛ рд╣реИ**
- `PORT=20128` рдФрд░ `NEXT_PUBLIC_BASE_URL=http://localhost:20128` рд╕реЗрдЯ рдХрд░реЗрдВ
**рдХреНрд▓рд╛рдЙрдб рд╕рд┐рдВрдХ рддреНрд░реБрдЯрд┐рдпрд╛рдБ**
- рдЕрдкрдиреЗ рдЪрд▓ рд░рд╣реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП `BASE_URL` рдЕрдВрдХ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ
- рдЕрдкрдиреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреНрд▓рд╛рдЙрдб рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ `CLOUD_URL` рдкреЙрдЗрдВрдЯ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ
- `NEXT_PUBLIC_*` рдорд╛рдиреЛрдВ рдХреЛ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рд░рдЦреЗрдВ
**рдкрд╣рд▓рд╛ рд▓реЙрдЧрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛**
- `.env` рдореЗрдВ `INITIAL_PASSWORD` рдХреЛ рдЬрд╛рдВрдЪреЗрдВ
- рдпрджрд┐ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдлрд╝реЙрд▓рдмреИрдХ рдкрд╛рд╕рд╡рд░реНрдб `123456` рд╣реИ
**рдХреЛрдИ рдЕрдиреБрд░реЛрдз рд▓реЙрдЧ рдирд╣реАрдВ**
- `.env` рдореЗрдВ `ENABLE_REQUEST_LOGS=true` рд╕реЗрдЯ рдХрд░реЗрдВ
**рдХрдиреЗрдХреНрд╢рди рдкрд░реАрдХреНрд╖рдг OpenAI-рд╕рдВрдЧрдд рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП "рдЕрдорд╛рдиреНрдп" рджрд┐рдЦрд╛рддрд╛ рд╣реИ**
- рдХрдИ рдкреНрд░рджрд╛рддрд╛ `/models` рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ
- рдУрдордиреАрд░реВрдЯ v1.0.6+ рдореЗрдВ рдЪреИрдЯ рдкреВрд░реНрдгрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝реЙрд▓рдмреИрдХ рд╕рддреНрдпрд╛рдкрди рд╢рд╛рдорд┐рд▓ рд╣реИ
- рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдзрд╛рд░ URL рдореЗрдВ `/v1` рдкреНрд░рддреНрдпрдп рд╢рд╛рдорд┐рд▓ рд╣реЛ
---
## ЁЯЫая╕П
- **рд░рдирдЯрд╛рдЗрдо**: Node.js 18тАУ22 LTS (тЪая╕П Node.js 24+ **рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ** рд╣реИ - `better-sqlite3` рдореВрд▓ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдЕрд╕рдВрдЧрдд рд╣реИрдВ)
- **рднрд╛рд╖рд╛**: рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 5.9 - **100% рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ** `src/` рдФрд░ `open-sse/` (v1.0.6) рдореЗрдВ
- **рдлреНрд░реЗрдорд╡рд░реНрдХ**: рдиреЗрдХреНрд╕реНрдЯ.рдЬреЗрдПрд╕ 16 + рд░рд┐рдПрдХреНрдЯ 19 + рдЯреЗрд▓рд╡рд┐рдВрдб рд╕реАрдПрд╕рдПрд╕ 4
- **рдбреЗрдЯрд╛рдмреЗрд╕**: рд▓реЛрдбреАрдмреА (JSON) + SQLite (рдбреЛрдореЗрди рд╕реНрдерд┐рддрд┐ + рдкреНрд░реЙрдХреНрд╕реА рд▓реЙрдЧ)
- **рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ**: рд╕рд░реНрд╡рд░-рднреЗрдЬреЗ рдЧрдП рдЗрд╡реЗрдВрдЯ (рдПрд╕рдПрд╕рдИ)
- **рдкреНрд░рд╛рдорд╛рдгрд┐рдХ**: OAuth 2.0 (PKCE) + JWT + API рдХреБрдВрдЬрд┐рдпрд╛рдБ
- **рдкрд░реАрдХреНрд╖рдг**: Node.js рдкрд░реАрдХреНрд╖рдг рдзрд╛рд╡рдХ (368+ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг)
- **рд╕реАрдЖрдИ/рд╕реАрдбреА**: рдЧрд┐рдЯрд╣рдм рдХреНрд░рд┐рдпрд╛рдПрдБ (рдСрдЯреЛ рдПрдирдкреАрдПрдо рдкреНрд░рдХрд╛рд╢рди + рд░рд┐рд▓реАрдЬ рдкрд░ рдбреЙрдХрд░ рд╣рдм)
- **рд╡реЗрдмрд╕рд╛рдЗрдЯ**: [omniroute.online](https://omniroute.online)
- **рдкреИрдХреЗрдЬ**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
- **рдбреЙрдХрд░**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
- **рд▓рдЪреАрд▓рд╛рдкрди**: рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░, рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдмреИрдХрдСрдлрд╝, рдПрдВрдЯреА-рдердВрдбрд░рд┐рдВрдЧ рдЭреБрдВрдб, рдЯреАрдПрд▓рдПрд╕ рд╕реНрдкреВрдлрд┐рдВрдЧ
---
## ЁЯУЦ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг
| рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ | рд╡рд┐рд╡рд░рдг |
| -------------------------------------------- | ------------------------------------------- |
| [User Guide](docs/USER_GUIDE.md) | рдкреНрд░рджрд╛рддрд╛, рдХреЙрдореНрдмреЛ, рд╕реАрдПрд▓рдЖрдИ рдПрдХреАрдХрд░рдг, рддреИрдирд╛рддреА |
| [API Reference](docs/API_REFERENCE.md) | рдЙрджрд╛рд╣рд░рдг рд╕рд╣рд┐рдд рд╕рднреА рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ |
| [Troubleshooting](docs/TROUBLESHOOTING.md) | рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдБ рдПрд╡рдВ рд╕рдорд╛рдзрд╛рди |
| [Architecture](docs/ARCHITECTURE.md) | рд╕рд┐рд╕реНрдЯрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдЖрдВрддрд░рд┐рдХ |
| [Contributing](CONTRIBUTING.md) | рд╡рд┐рдХрд╛рд╕ рд╕реЗрдЯрдЕрдк рдФрд░ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ |
| [OpenAPI Spec](docs/openapi.yaml) | рдУрдкрдирдПрдкреАрдЖрдИ 3.0 рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ |
| [Security Policy](SECURITY.md) | рднреЗрджреНрдпрддрд╛ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рдерд╛рдПрдВ |
| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | рд╕рдВрдкреВрд░реНрдг рдЧрд╛рдЗрдб: VM + nginx + Cloudflare рд╕реЗрдЯрдЕрдк |
| [Features Gallery](docs/FEATURES.md) | рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рд╡рд┐рдЬреБрдЕрд▓ рдбреИрд╢рдмреЛрд░реНрдб рдЯреВрд░ |
### ЁЯУ╕ рдбреИрд╢рдмреЛрд░реНрдб рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди
<summary><b>рдбреИрд╢рдмреЛрд░реНрдб рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ</b></summary>
| рдкреЗрдЬ | рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ |
| ----------------- | ------------------------------------------------- |
| **рдкреНрд░рджрд╛рддрд╛** | ![Providers](docs/screenshots/01-providers.png) |
| **рдХреЙрдореНрдмреЛрд╕** | ![Combos](docs/screenshots/02-combos.png) |
| **рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕** | ![Analytics](docs/screenshots/03-analytics.png) |
| **рд╕реНрд╡рд╛рд╕реНрдереНрдп** | ![Health](docs/screenshots/04-health.png) |
| **рдЕрдиреБрд╡рд╛рджрдХ** | ![Translator](docs/screenshots/05-translator.png) |
| **рд╕реЗрдЯрд┐рдВрдЧреНрд╕** | ![Settings](docs/screenshots/06-settings.png) |
| **рд╕реАрдПрд▓рдЖрдИ рдЙрдкрдХрд░рдг** | ![CLI Tools](docs/screenshots/07-cli-tools.png) |
| **рдЙрдкрдпреЛрдЧ рд▓реЙрдЧ** | ![Usage](docs/screenshots/08-usage.png) |
| **рд╕рдорд╛рдкреНрддрд┐ рдмрд┐рдВрджреБ** | ![Endpoint](docs/screenshots/09-endpoint.png) |
---
## ЁЯЧ║я╕П
рдУрдореНрдирд┐рд░реВрдЯ рдиреЗ рдХрдИ рд╡рд┐рдХрд╛рд╕ рдЪрд░рдгреЛрдВ рдореЗрдВ **210+ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рд╣реИ**ред рдпрд╣рд╛рдВ рдкреНрд░рдореБрдЦ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ:
| рд╢реНрд░реЗрдгреА | рдирд┐рдпреЛрдЬрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ | рд╣рд╛рдЗрд▓рд╛рдЗрдЯреНрд╕ |
| ---------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------- |
| ЁЯОп **Endpoint-Aware Models** | Custom models declare supported endpoints + API format |
| ЁЯза **рд░реВрдЯрд┐рдВрдЧ рдФрд░ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕** | 25+ | рдиреНрдпреВрдирддрдо-рд╡рд┐рд▓рдВрдмрддрд╛ рд░реВрдЯрд┐рдВрдЧ, рдЯреИрдЧ-рдЖрдзрд╛рд░рд┐рдд рд░реВрдЯрд┐рдВрдЧ, рдХреЛрдЯрд╛ рдкреНрд░реАрдлрд╝реНрд▓рд╛рдЗрдЯ, рдкреА2рд╕реА рдЦрд╛рддрд╛ рдЪрдпрди |
| ЁЯФТ **рд╕реБрд░рдХреНрд╖рд╛ рдПрд╡рдВ рдЕрдиреБрдкрд╛рд▓рди** | 20+ | рдПрд╕рдПрд╕рдЖрд░рдПрдл рд╣рд╛рд░реНрдбрдирд┐рдВрдЧ, рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреНрд▓реЛрдХрд┐рдВрдЧ, рдкреНрд░рддрд┐ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рджрд░-рд╕реАрдорд╛, рдкреНрд░рдмрдВрдзрди рдХреБрдВрдЬреА рд╕реНрдХреЛрдкрд┐рдВрдЧ |
| ЁЯУК **рдЕрд╡рд▓реЛрдХрдирд╢реАрд▓рддрд╛** | 15+ | рдУрдкрди рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рдПрдХреАрдХрд░рдг, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЛрдЯрд╛ рдирд┐рдЧрд░рд╛рдиреА, тАЛтАЛрдкреНрд░рддрд┐ рдореЙрдбрд▓ рд▓рд╛рдЧрдд рдЯреНрд░реИрдХрд┐рдВрдЧ |
| ЁЯФД **рдкреНрд░рджрд╛рддрд╛ рдПрдХреАрдХрд░рдг** | 20+ | рдбрд╛рдпрдиреЗрдорд┐рдХ рдореЙрдбрд▓ рд░рдЬрд┐рд╕реНрдЯреНрд░реА, рдкреНрд░рджрд╛рддрд╛ рдХреВрд▓рдбрд╛рдЙрди, рдорд▓реНрдЯреА-рдЕрдХрд╛рдЙрдВрдЯ рдХреЛрдбреЗрдХреНрд╕, рдХреЛрдкрд╛рдпрд▓рдЯ рдХреЛрдЯрд╛ рдкрд╛рд░реНрд╕рд┐рдВрдЧ |
| тЪб **рдкреНрд░рджрд░реНрд╢рди** | 15+ | рджреЛрд╣рд░реА рдХреИрд╢ рдкрд░рдд, рд╢реАрдШреНрд░ рдХреИрд╢, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреИрд╢, рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреАрдкрд▓рд╛рдЗрд╡, рдмреИрдЪ рдПрдкреАрдЖрдИ |
| ЁЯМР **рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░** | 10+ | рд╡реЗрдмрд╕реЙрдХреЗрдЯ рдПрдкреАрдЖрдИ, рдХреЙрдиреНрдлрд┐рдЧ рд╣реЙрдЯ-рд░реАрд▓реЛрдб, рд╡рд┐рддрд░рд┐рдд рдХреЙрдиреНрдлрд┐рдЧ рд╕реНрдЯреЛрд░, рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдореЛрдб |
### ЁЯФЬ рдЬрд▓реНрдж рдЖ рд░рд╣рд╛ рд╣реИ
- ЁЯФЧ **рдУрдкрдирдХреЛрдб рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди** - рдУрдкрдирдХреЛрдб рдПрдЖрдИ рдХреЛрдбрд┐рдВрдЧ рдЖрдИрдбреАрдИ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдкреНрд░рджрд╛рддрд╛ рд╕рдорд░реНрдерди
- ЁЯФЧ **TRAE рдПрдХреАрдХрд░рдг** - TRAE AI рд╡рд┐рдХрд╛рд╕ рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди
- ЁЯУж **рдмреИрдЪ рдПрдкреАрдЖрдИ** - рдереЛрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдмреИрдЪ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ
- ЁЯОп **рдЯреИрдЧ-рдЖрдзрд╛рд░рд┐рдд рд░реВрдЯрд┐рдВрдЧ** - рдХрд╕реНрдЯрдо рдЯреИрдЧ рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд░реВрдЯ рдЕрдиреБрд░реЛрдз
- ЁЯТ░ **рдиреНрдпреВрдирддрдо-рд▓рд╛рдЧрдд рд░рдгрдиреАрддрд┐** тАФ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рд╕рд╕реНрддреЗ рдЙрдкрд▓рдмреНрдз рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ
> ЁЯУЭ рдкреВрд░реНрдг рдлреАрдЪрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдПрдВ [link](docs/new-features/) рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ (217 рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг)
---
## ЁЯСе рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛
[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
### рдпреЛрдЧрджрд╛рди рдХреИрд╕реЗ рдХрд░реЗрдВ
1. рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдлреЛрд░реНрдХ рдХрд░реЗрдВ
2. рдЕрдкрдиреА рдлреАрдЪрд░ рд╢рд╛рдЦрд╛ рдмрдирд╛рдПрдВ (`git checkout -b feature/amazing-feature`)
3. рдЕрдкрдиреЗ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░реЗрдВ (`git commit -m 'Add amazing feature'`)
4. рд╢рд╛рдЦрд╛ рдореЗрдВ рдкреБрд╢ рдХрд░реЗрдВ (`git push origin feature/amazing-feature`)
5. рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдЦреЛрд▓реЗрдВ
рд╡рд┐рд╕реНрддреГрдд рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП [CONTRIBUTING.md](CONTRIBUTING.md) рджреЗрдЦреЗрдВред
### рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд░рдирд╛
```bash
# Create a release тАФ npm publish happens automatically
gh release create v1.0.6 --title "v1.0.6" --generate-notes
```
---
## ЁЯУК рд╕рд┐рддрд╛рд░рд╛ рдЗрддрд┐рд╣рд╛рд╕
## Stargazers over time
## [![Stargazers over time](https://starchart.cc/diegosouzapw/OmniRoute.svg?variant=adaptive)](https://starchart.cc/diegosouzapw/OmniRoute)
## ЁЯЩП рдЖрднрд╛рд░
**[decolua](https://github.com/decolua)** рджреНрд╡рд╛рд░рд╛ **[decolua](https://github.com/decolua)** рдХреЛ рд╡рд┐рд╢реЗрд╖ рдзрдиреНрдпрд╡рд╛рдж - рдореВрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬрд┐рд╕рдиреЗ рдЗрд╕ рдлреЛрд░реНрдХ рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред рдУрдордиреАрд░реВрдЯ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ, рдорд▓реНрдЯреА-рдореЛрдбрд▓ рдПрдкреАрдЖрдИ рдФрд░ рдкреВрд░реНрдг рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдЙрд╕ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдиреАрдВрд╡ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
**[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** рдХреЛ рд╡рд┐рд╢реЗрд╖ рдзрдиреНрдпрд╡рд╛рдж - рдореВрд▓ рдЧреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд┐рд╕рдиреЗ рдЗрд╕ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреЛрд░реНрдЯ рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред
---
## ЁЯУД рд▓рд╛рдЗрд╕реЗрдВрд╕
рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕ - рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП [LICENSE](LICENSE) рджреЗрдЦреЗрдВред
---
---