Files
microdao-daarion/docs/runbooks/ONEOK_OPENSOURCE_STACK.md

64 lines
3.0 KiB
Markdown
Raw Permalink 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.
# 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. Явна позначка `ОЦІНКА` для непідтверджених замірів.