# ================================================ # DAARION Platform - Agent Registry v1.0 # ================================================ platform: name: "MicroDAO Daarion" version: "1.0.0" default_agent: "helion" fallback_agent: "helion" # ================================================ # REGISTERED AGENTS # ================================================ agents: helion: display_name: "Helion" description: "Energy Union AI - енергетика, інфраструктура, DePIN" domain_tags: - energy - power - grid - depin - infrastructure - sensors - tariffs - dao capabilities: - chat - stt - tts - vision - image_gen - web_search - web_scrape - document entrypoint: type: "nats" subject: "agent.helion.invoke" memory_policy: qdrant_collections: read: ["helion_messages", "helion_docs", "helion_artifacts", "helion_memory_items"] write: ["helion_messages", "helion_docs", "helion_artifacts", "helion_memory_items"] neo4j_labels: ["HelionUser", "HelionTopic", "HelionProject", "HelionChannel"] neo4j_filter: "agent_id = 'helion'" redis_prefix: "helion:" data_policy: handoff_allow: ["nutra", "greenfood"] # Can share context with these agents handoff_fields: ["user_intent", "context_summary", "language"] sensitive_fields_block: ["api_keys", "internal_metrics", "wallet_addresses"] sla: priority: "high" rate_limit_rpm: 60 max_tokens_per_request: 8000 prompt_file: "/app/prompts/helion_prompt.txt" telegram_token_env: "HELION_BOT_TOKEN" active: true nutra: display_name: "Nutra" description: "AI Nutrition Agent - харчування, здоров'я, дієти" domain_tags: - nutrition - food - diet - health - wellness - recipes - allergens - nutrients - calories capabilities: - chat - vision - document entrypoint: type: "nats" subject: "agent.nutra.invoke" memory_policy: qdrant_collections: read: ["nutra_messages", "nutra_docs", "nutra_food_knowledge", "nutra_memory_items"] write: ["nutra_messages", "nutra_docs", "nutra_food_knowledge", "nutra_memory_items"] neo4j_labels: ["NutraUser", "NutraGoal", "NutraProduct", "NutraRecipe", "NutraRestriction"] neo4j_filter: "agent_id = 'nutra'" redis_prefix: "nutra:" data_policy: handoff_allow: ["helion"] handoff_fields: ["user_intent", "context_summary", "language", "dietary_preferences"] sensitive_fields_block: ["medical_history", "health_conditions"] sla: priority: "medium" rate_limit_rpm: 30 max_tokens_per_request: 4000 prompt_file: "/app/prompts/nutra_prompt.txt" telegram_token_env: "NUTRA_BOT_TOKEN" active: true greenfood: display_name: "GreenFood" description: "GreenFood DAO Agent - органічні продукти, ферми" domain_tags: - organic - farming - sustainable - local_food - farmers_market capabilities: - chat entrypoint: type: "nats" subject: "agent.greenfood.invoke" memory_policy: qdrant_collections: read: ["greenfood_messages", "greenfood_docs"] write: ["greenfood_messages", "greenfood_docs"] neo4j_labels: ["GreenFoodUser", "GreenFoodFarm", "GreenFoodProduct"] neo4j_filter: "agent_id = 'greenfood'" redis_prefix: "greenfood:" data_policy: handoff_allow: ["nutra", "helion"] handoff_fields: ["user_intent", "context_summary"] sensitive_fields_block: [] sla: priority: "low" rate_limit_rpm: 20 max_tokens_per_request: 4000 prompt_file: "/app/prompts/greenfood_prompt.txt" telegram_token_env: "GREENFOOD_BOT_TOKEN" active: true druid: display_name: "Druid" description: "Legal/Compliance Agent - юридичні питання, регуляція" domain_tags: - legal - compliance - contracts - regulations - kyc capabilities: - chat - document entrypoint: type: "nats" subject: "agent.druid.invoke" memory_policy: qdrant_collections: read: ["druid_messages", "druid_docs", "druid_legal_kb"] write: ["druid_messages", "druid_docs"] neo4j_labels: ["DruidUser", "DruidContract", "DruidRegulation"] neo4j_filter: "agent_id = 'druid'" redis_prefix: "druid:" data_policy: handoff_allow: ["helion"] handoff_fields: ["user_intent", "context_summary", "jurisdiction"] sensitive_fields_block: ["personal_id", "contracts_content"] sla: priority: "medium" rate_limit_rpm: 20 max_tokens_per_request: 8000 prompt_file: "/app/prompts/druid_prompt.txt" telegram_token_env: "DRUID_BOT_TOKEN" active: false daarwizz: display_name: "DaarWizz" description: "Operations/DevOps Agent - інфраструктура, моніторинг" domain_tags: - devops - infrastructure - monitoring - deployment - servers capabilities: - chat - web_scrape entrypoint: type: "nats" subject: "agent.daarwizz.invoke" memory_policy: qdrant_collections: read: ["daarwizz_messages", "daarwizz_docs"] write: ["daarwizz_messages", "daarwizz_docs"] neo4j_labels: ["DaarwizzServer", "DaarwizzService", "DaarwizzAlert"] neo4j_filter: "agent_id = 'daarwizz'" redis_prefix: "daarwizz:" data_policy: handoff_allow: ["helion"] handoff_fields: ["user_intent", "context_summary"] sensitive_fields_block: ["credentials", "ssh_keys", "api_secrets"] sla: priority: "high" rate_limit_rpm: 100 max_tokens_per_request: 4000 prompt_file: "/app/prompts/daarwizz_prompt.txt" telegram_token_env: "DAARWIZZ_BOT_TOKEN" active: false # ================================================ # INTENT ROUTING RULES # ================================================ routing: # Hard routes (explicit commands/channels) hard_routes: - pattern: "^/nutra" agent: "nutra" - pattern: "^/helion" agent: "helion" - pattern: "^/greenfood" agent: "greenfood" - pattern: "^/legal" agent: "druid" - pattern: "^/ops" agent: "daarwizz" # Intent-based routing (keyword matching) intent_routes: - keywords: ["їжа", "продукт", "рецепт", "дієта", "калорі", "харчування", "вітамін", "food", "recipe", "diet", "nutrition", "calorie", "vitamin", "meal"] agent: "nutra" confidence_threshold: 0.7 - keywords: ["енергія", "електрика", "сонячн", "вітер", "батаре", "тариф", "мережа", "energy", "power", "solar", "wind", "battery", "grid", "tariff", "depin"] agent: "helion" confidence_threshold: 0.7 - keywords: ["органіч", "ферма", "фермер", "городни", "sustainable", "organic", "farm"] agent: "greenfood" confidence_threshold: 0.6 - keywords: ["юрист", "договір", "контракт", "legal", "compliance", "contract", "kyc"] agent: "druid" confidence_threshold: 0.8 # Fallback behavior fallback: agent: "helion" message: "Передаю до основного асистента Helion." # ================================================ # HANDOFF CONTRACT TEMPLATE # ================================================ handoff_contract: required_fields: - user_intent - source_agent - target_agent - timestamp optional_fields: - context_summary - language - user_preferences - references - constraints - reason_for_handoff max_context_tokens: 500 strip_sensitive: true