From 831f361f0f38c171da983e77a0f0b79f3c16addf Mon Sep 17 00:00:00 2001 From: Apple Date: Mon, 16 Feb 2026 03:44:58 -0800 Subject: [PATCH] docs: expand lint scope batch3 (6 files) --- docs/AGENTS_SYNC_AND_DASHBOARD_REPORT.md | 9 +++----- docs/ASSETS_PROXY.md | 9 ++++---- docs/DAARWIZZ.md | 26 ++++++++++++------------ docs/DEPLOYMENT_OVERVIEW.md | 13 ++++++------ docs/STRATEGY_MODELS.md | 15 +++++++------- docs/open-core-model.md | 13 +++++++----- docs/standards/lint_scope.txt | 6 ++++++ 7 files changed, 48 insertions(+), 43 deletions(-) diff --git a/docs/AGENTS_SYNC_AND_DASHBOARD_REPORT.md b/docs/AGENTS_SYNC_AND_DASHBOARD_REPORT.md index ad766d0b..a1c33143 100644 --- a/docs/AGENTS_SYNC_AND_DASHBOARD_REPORT.md +++ b/docs/AGENTS_SYNC_AND_DASHBOARD_REPORT.md @@ -1,13 +1,13 @@ # Звіт про синхронізацію агентів та дашборд моніторингу **Дата:** 2025-11-21 -**Дашборд:** http://localhost:8889 (monitoring/local_monitor.py) +**Дашборд:** [http://localhost:8889](http://localhost:8889) (`monitoring/local_monitor.py`) ## 🔍 Знайдені інструменти пошуку ### ✅ Інструменти пошуку ВЖЕ встановлені -**1. Web Search Tool (GREENFOOD)** +#### 1. Web Search Tool (GREENFOOD) - **Файл:** `services/greenfood/crew/tools/crawl4ai_tool.py` - **Інструменти:** - `web_search_tool` - Пошук в інтернеті через Crawl4AI @@ -15,7 +15,7 @@ - **Використання:** Parser Service (Crawl4AI) на порту 9400 - **Статус:** ✅ Налаштовано для GREENFOOD агентів -**2. Parser Service (Crawl4AI)** +#### 2. Parser Service (Crawl4AI) - **Порт:** 9400 - **Endpoint:** `/crawl` - **Можливості:** @@ -238,6 +238,3 @@ async def get_tools(): **Останнє оновлення:** 2025-11-21 **Статус:** ⚠️ Потребує синхронізації та інтеграції - - - diff --git a/docs/ASSETS_PROXY.md b/docs/ASSETS_PROXY.md index 5a369ed4..f9a59886 100644 --- a/docs/ASSETS_PROXY.md +++ b/docs/ASSETS_PROXY.md @@ -2,11 +2,13 @@ ## Огляд -DAARION використовує **MinIO** (S3-compatible object storage) для зберігання assets (логотипи, банери, аватарки). Для доступу до assets без налаштування DNS для `assets.daarion.space` використовується **Asset Proxy** через `city-service`. +DAARION використовує **MinIO** (S3-compatible object storage) для зберігання assets +(логотипи, банери, аватарки). Для доступу до assets без налаштування DNS для +`assets.daarion.space` використовується **Asset Proxy** через `city-service`. ## Архітектура -``` +```text ┌─────────────┐ │ Frontend │ → /api/city/assets/proxy/microdao/logo/... └─────────────┘ @@ -62,7 +64,7 @@ import { normalizeAssetUrl } from '@/lib/utils/assetUrl'; ## Endpoint -### City Service +### City Service ENV - **Path:** `/city/assets/proxy/{path:path}` - **Method:** `GET` @@ -195,4 +197,3 @@ const normalized = normalizeAssetUrl(logoUrl); - `https://assets.daarion.space/...` → конвертується в `/api/city/assets/proxy/...` `normalizeAssetUrl` обробляє всі ці випадки автоматично. - diff --git a/docs/DAARWIZZ.md b/docs/DAARWIZZ.md index 6c237c03..30498b79 100644 --- a/docs/DAARWIZZ.md +++ b/docs/DAARWIZZ.md @@ -35,7 +35,7 @@ DAARWIZZ is an intelligent agent that: ## 📋 System Prompt DAARWIZZ's behavior is defined by its system prompt located at: -``` +```text gateway-bot/daarwizz_prompt.txt ``` @@ -52,7 +52,7 @@ gateway-bot/daarwizz_prompt.txt ### Message Flow -``` +```text User (Telegram) ↓ "Привіт! Що це за DAO?" Gateway (:9300) @@ -111,11 +111,11 @@ def _get_system_prompt(self, req: RouterRequest) -> Optional[str]: context = req.payload.get("context") or {} if "system_prompt" in context: return context["system_prompt"] - + # 2. Agent-specific fallback if req.agent == "daarwizz": return "Ти — DAARWIZZ, AI-агент DAARION.city..." - + return None ``` @@ -139,9 +139,9 @@ ENV DAARWIZZ_PROMPT_PATH=/app/gateway-bot/daarwizz_prompt.txt **User**: `Привіт! Хто ти?` -**DAARWIZZ**: -``` -Привіт! Я — DAARWIZZ, AI-агент екосистеми DAARION.city. +**DAARWIZZ**: +```text +Привіт! Я — DAARWIZZ, AI-агент екосистеми DAARION.city. Я допомагаю учасникам розібратися з: • microDAO та їх структурою @@ -157,7 +157,7 @@ ENV DAARWIZZ_PROMPT_PATH=/app/gateway-bot/daarwizz_prompt.txt **User**: `Які у мене права в цьому DAO?` **DAARWIZZ** (with RBAC context): -``` +```text У greenfood-dao ти маєш роль: member Твої права (entitlements): @@ -174,7 +174,7 @@ ENV DAARWIZZ_PROMPT_PATH=/app/gateway-bot/daarwizz_prompt.txt **User**: `Як розпочати роботу в DAO?` **DAARWIZZ**: -``` +```text Ласкаво просимо! Ось кроки для старту: 1. Ознайомся з документацією DAO (команда /docs) @@ -255,7 +255,7 @@ curl -X POST http://localhost:9300/telegram/webhook \ ### Expected Log Output -``` +```text gateway | INFO: DAARWIZZ system prompt loaded (1243 chars) gateway | INFO: Telegram message from testuser (tg:12345): Привіт! Хто ти? gateway | INFO: Sending to Router: agent=daarwizz, dao=greenfood-dao @@ -336,7 +336,7 @@ curl http://localhost:9300/health --- -**Version**: 0.2.0 -**Agent**: DAARWIZZ -**Status**: Production-ready ✅ +**Version**: 0.2.0 +**Agent**: DAARWIZZ +**Status**: Production-ready ✅ **Last Updated**: 2024-11-15 diff --git a/docs/DEPLOYMENT_OVERVIEW.md b/docs/DEPLOYMENT_OVERVIEW.md index 9015d535..02b4c709 100644 --- a/docs/DEPLOYMENT_OVERVIEW.md +++ b/docs/DEPLOYMENT_OVERVIEW.md @@ -10,7 +10,7 @@ DAARION uses a **microservices architecture** with a single **NGINX gateway** as the entry point. -``` +```text ┌─────────────────┐ │ Internet │ └────────┬────────┘ @@ -139,9 +139,9 @@ This will: ### 3. Access -- **Frontend:** http://localhost -- **API:** http://localhost/api/ -- **Health:** http://localhost/health +- **Frontend:** [http://localhost](http://localhost) +- **API:** [http://localhost/api/](http://localhost/api/) +- **Health:** [http://localhost/health](http://localhost/health) ### 4. Stop Services @@ -153,7 +153,7 @@ This will: ## 📁 Project Structure -``` +```text daarion/ ├── docker-compose.all.yml # All-in-one compose ├── Dockerfile.frontend # Frontend build @@ -210,7 +210,7 @@ docker-compose -f docker-compose.all.yml logs -f living-map-service ### Health Checks -- **Gateway:** http://localhost/health +- **Gateway:** [http://localhost/health](http://localhost/health) - **Individual services:** Health checks in docker-compose ### Metrics @@ -328,4 +328,3 @@ See [DEPLOY_ON_SERVER.md](./DEPLOY_ON_SERVER.md) for: --- **🎉 DAARION — Unified Gateway Ready!** - diff --git a/docs/STRATEGY_MODELS.md b/docs/STRATEGY_MODELS.md index 77d32f34..1bea180d 100644 --- a/docs/STRATEGY_MODELS.md +++ b/docs/STRATEGY_MODELS.md @@ -1,18 +1,18 @@ # 🎯 Стратегія вибору моделей: API vs Локальні -**Дата**: 2025-11-18 +**Дата**: 2025-11-18 **Питання**: Використовувати Dify/API чи завантажувати важкі моделі? --- ## 📊 Поточна ситуація -### Що вже є на сервері: +### Що вже є на сервері #### 1. **Локальні моделі (Ollama)** ✅ - **qwen3:8b** - вже завантажена (5.2 GB) - **Використання**: DAGI Router використовує для DAARWIZZ, Helion, GREENFOOD -- **Переваги**: +- **Переваги**: - ✅ Безкоштовно - ✅ Приватно (дані не йдуть в OpenAI) - ✅ Працює офлайн @@ -23,7 +23,7 @@ #### 2. **Dify Platform** ✅ - **Статус**: Працює, але потребує API ключі -- **OPENAI_API_BASE**: https://api.openai.com/v1 +- **OPENAI_API_BASE**: [https://api.openai.com/v1](https://api.openai.com/v1) - **API Key**: Потрібен (не знайдено в env) - **Використання**: Може використовувати GPT-4V, Claude Vision через API @@ -170,7 +170,7 @@ async def _analyze_photo_api(self, image_url: str): """Використати GPT-4V через API""" import openai openai.api_key = os.getenv("OPENAI_API_KEY") - + response = openai.ChatCompletion.create( model="gpt-4-vision-preview", messages=[{ @@ -187,7 +187,7 @@ async def _analyze_photo_api(self, image_url: str): --- ### **Сценарій 3: Немає GPU + немає бюджету** ⚠️ -**Рекомендація**: +**Рекомендація**: - ⚠️ **НЕ завантажувати важкі Vision моделі** (буде дуже повільно) - ✅ Використовувати **BLIP-2** (легший, ~1-2 GB) - АБО залишити заглушку поки не з'явиться GPU/бюджет @@ -241,5 +241,4 @@ ssh root@144.76.224.179 "docker exec docker-api-1 env | grep OPENAI_API_KEY" --- -*Створено: 2025-11-18* - +## Створено: 2025-11-18 diff --git a/docs/open-core-model.md b/docs/open-core-model.md index a86307d0..f2d66edb 100644 --- a/docs/open-core-model.md +++ b/docs/open-core-model.md @@ -315,10 +315,11 @@ These can remain private for commercial or strategic reasons: ## 💬 Community -- **GitHub**: https://github.com/daarion/dagi-stack -- **Discord**: https://discord.gg/daarion -- **Discussions**: https://github.com/daarion/dagi-stack/discussions -- **Email**: dev@daarion.city +- **GitHub**: [github.com/daarion/dagi-stack](https://github.com/daarion/dagi-stack) +- **Discord**: [discord.gg/daarion](https://discord.gg/daarion) +- **Discussions**: + [github.com/daarion/dagi-stack/discussions](https://github.com/daarion/dagi-stack/discussions) +- **Email**: [dev@daarion.city](mailto:dev@daarion.city) --- @@ -332,7 +333,9 @@ These can remain private for commercial or strategic reasons: --- -**DAGI Stack is infrastructure, not a product.** By open-sourcing the core, we enable the entire DAARION ecosystem to build on a shared foundation while maintaining flexibility for specialized/commercial use cases. +**DAGI Stack is infrastructure, not a product.** By open-sourcing the core, we enable +the entire DAARION ecosystem to build on a shared foundation while maintaining +flexibility for specialized/commercial use cases. --- diff --git a/docs/standards/lint_scope.txt b/docs/standards/lint_scope.txt index d08375eb..a66f80d3 100644 --- a/docs/standards/lint_scope.txt +++ b/docs/standards/lint_scope.txt @@ -24,6 +24,12 @@ docs/NODA1-AGENT-ARCHITECTURE.md docs/VLLM-VS-SWAPPER-ANALYSIS.md docs/api.md docs/integration-daarion.md +docs/ASSETS_PROXY.md +docs/open-core-model.md +docs/AGENTS_SYNC_AND_DASHBOARD_REPORT.md +docs/STRATEGY_MODELS.md +docs/DAARWIZZ.md +docs/DEPLOYMENT_OVERVIEW.md docs/consolidation/README.md docs/consolidation/SOURCES.md docs/runbooks/DOCS_SERVICES_AUTOMATION_RUNBOOK.md