64 lines
3.0 KiB
Markdown
64 lines
3.0 KiB
Markdown
# ONEOK Open-Source Stack (Clean Variant)
|
||
|
||
## Фактичний clean-стек (впроваджено)
|
||
|
||
Поточна платформа працює як `Python + Docker + Router ToolManager`.
|
||
Для `1OK` у clean-варіанті зафіксовано:
|
||
|
||
1. `EspoCRM + MariaDB` як окремий CRM-контур агента.
|
||
2. `oneok-crm-adapter` як інструментальний API-шар (`crm_*`), ізоляція даних від інших агентів.
|
||
3. `oneok-calc-adapter` як доменний калькулятор (`calc_window_quote`).
|
||
4. `Gotenberg + oneok-docs-adapter` для PDF (`docs_render_quote_pdf`, `docs_render_invoice_pdf`).
|
||
5. `oneok-schedule-adapter` для слотів заміру/монтажу (`Europe/Kyiv`).
|
||
6. `Qdrant` використовується через наявний router-memory контур.
|
||
|
||
## Що впроваджено в router
|
||
|
||
1. Додано спеціалізовані 1OK tools у `router`:
|
||
- `crm_search_client`, `crm_upsert_client`, `crm_upsert_site`, `crm_upsert_window_unit`
|
||
- `crm_create_quote`, `crm_update_quote`, `crm_create_job`
|
||
- `calc_window_quote`
|
||
- `docs_render_quote_pdf`, `docs_render_invoice_pdf`
|
||
- `schedule_propose_slots`, `schedule_confirm_slot`
|
||
2. Додано HTTP adapter layer у `ToolManager`.
|
||
3. Додано env endpoint-и:
|
||
- `ONEOK_CRM_BASE_URL`
|
||
- `ONEOK_CALC_BASE_URL`
|
||
- `ONEOK_DOCS_BASE_URL`
|
||
- `ONEOK_SCHEDULE_BASE_URL`
|
||
|
||
4. Додано ітеративний multi-step tool-calling у `router` (до `ROUTER_TOOL_MAX_ROUNDS`, дефолт `10`).
|
||
5. Додано auto-repair аргументів для `oneok` (наприклад, `windows -> window_units`, auto-fill `quote_payload`).
|
||
|
||
## Download links (reference)
|
||
|
||
### CRM
|
||
- https://github.com/espocrm/espocrm
|
||
- https://github.com/espocrm/espocrm-installer
|
||
- https://github.com/SuiteCRM/SuiteCRM
|
||
|
||
### Калькулятори/оцінка
|
||
- https://github.com/ath31st/window_calculator
|
||
- https://github.com/ErdincAltuntas/window-estimator
|
||
|
||
### PDF/документи
|
||
- https://github.com/gotenberg/gotenberg
|
||
- https://github.com/InvoicePlane/InvoicePlane
|
||
|
||
### Пам'ять/RAG
|
||
- https://github.com/qdrant/qdrant
|
||
|
||
## Рекомендований rollout (безпечний)
|
||
|
||
1. `Phase 1`: підняти `EspoCRM + Gotenberg + oneok-* adapters`.
|
||
2. `Phase 2`: увімкнути `router` tools для `oneok` і перевірити E2E (`crm -> calc -> quote -> pdf -> slots`).
|
||
3. `Phase 3`: стабілізувати політики Telegram/webhook та доступи whitelist.
|
||
4. `Phase 4`: за потреби замінити `oneok-schedule-adapter` на `Cal.com` без зміни tool-контрактів.
|
||
|
||
## Security baseline
|
||
|
||
1. Мінімізація PII: не зберігати зайві поля.
|
||
2. Маскування секретів у логах.
|
||
3. Service-to-service auth для adapter endpoint-ів.
|
||
4. Явна позначка `ОЦІНКА` для непідтверджених замірів.
|