docs: expand lint scope batch3 (6 files)
This commit is contained in:
@@ -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
|
||||
**Статус:** ⚠️ Потребує синхронізації та інтеграції
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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` обробляє всі ці випадки автоматично.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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!**
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user