# ============================================ # IDENTIDAD # ============================================ agent: id: asistente-2 name: "Asistente 2" version: "1.0.0" enabled: true description: "Asistente con herramientas. Puede responder preguntas y consultar la hora actual." tags: [assistant, llm, tools] # ============================================ # PERSONALIDAD Y COMPORTAMIENTO # ============================================ personality: tone: friendly verbosity: concise language: es languages_supported: [es, en] emoji_style: minimal prefix: "🛠️" error_style: helpful templates: greeting: "Hola, soy asistente-2. ¿En qué puedo ayudarte?" unknown_command: "No entiendo ese comando. Escríbeme directamente lo que necesitas." permission_denied: "No tengo permiso para hacer eso." error: "Algo salió mal: {{.Error}}" success: "{{.Summary}}" busy: "Procesando tu solicitud anterior, dame un momento..." behavior: proactive: false ask_confirmation: false show_reasoning: false thread_replies: true typing_indicator: true acknowledge_receipt: false # ============================================ # LLM — CONEXIÓN Y RAZONAMIENTO # ============================================ llm: primary: provider: openai model: gpt-4o api_key_env: OPENAI_API_KEY base_url: "" max_tokens: 4096 temperature: 0.7 fallback: provider: "" model: "" api_key_env: "" base_url: "" max_tokens: 0 temperature: 0 reasoning: system_prompt_file: "prompts/system.md" context_window: 16384 memory_messages: 30 tool_use: enabled: true # herramientas HABILITADAS max_iterations: 5 parallel_calls: false rate_limit: requests_per_minute: 60 tokens_per_minute: 200000 concurrent_requests: 5 # ============================================ # TOOLS — current_time habilitada # ============================================ tools: ssh: enabled: false allowed_targets: [] forbidden_commands: [] timeout: 0s max_concurrent: 0 require_confirmation: [] http: enabled: false allowed_domains: [] timeout: 0s max_retries: 0 scripts: enabled: false scripts_dir: "" allowed: [] timeout: 0s sandbox: false file_ops: enabled: false allowed_paths: [] read_only: true mcp: enabled: false servers: [] expose: port: 0 tools: [] # ============================================ # MATRIX — CONEXIÓN Y ROOMS # ============================================ matrix: homeserver: "https://matrix-af2f3d.organic-machine.com" user_id: "@asistente-2:matrix-af2f3d.organic-machine.com" access_token_env: MATRIX_TOKEN_ASISTENTE2 device_id: "YBFNMNMJIC" encryption: enabled: true store_path: "./data/crypto/" trust_mode: tofu rooms: listen: [] respond: [] admin: [] filters: command_prefix: "!" mention_respond: true dm_respond: true ignore_bots: true ignore_users: [] min_power_level: 0 # ============================================ # COMUNICACIÓN INTER-AGENTES # ============================================ agents: peers: - id: assistant-bot capabilities: [general, llm] room: "" delegation: enabled: false can_delegate_to: [] can_receive_from: [assistant-bot] max_delegation_depth: 1 timeout: 30s protocol: format: json channel: matrix heartbeat_interval: 60s # ============================================ # SSH — no aplica para este bot # ============================================ ssh: defaults: user: "" port: 22 key_file_env: "" known_hosts: "" keepalive_interval: 0s timeout: 0s targets: {} # ============================================ # PERMISOS Y SEGURIDAD # ============================================ security: roles: admin: users: ["@admin:matrix-af2f3d.organic-machine.com"] actions: ["*"] user: users: ["*"] actions: ["ask", "help", "summarize"] audit: enabled: false log_file: "./data/audit.log" log_to_room: "" include: [] secrets: provider: env # ============================================ # SCHEDULING — sin tareas automáticas # ============================================ schedules: [] # ============================================ # OBSERVABILIDAD # ============================================ observability: logging: level: info format: json output: stdout file: "./data/asistente2.log" metrics: enabled: false port: 9092 path: /metrics export: prometheus health: enabled: true port: 8082 path: /healthz tracing: enabled: false provider: "" endpoint: "" # ============================================ # RESILIENCIA # ============================================ resilience: circuit_breaker: failure_threshold: 5 timeout: 30s half_open_max: 2 retry: max_attempts: 2 backoff: exponential initial_delay: 1s max_delay: 10s shutdown: timeout: 10s drain_messages: true save_state: false state_file: "" queue: enabled: true max_size: 100 priority_users: ["@admin:matrix-af2f3d.organic-machine.com"] # ============================================ # ALMACENAMIENTO Y ESTADO # ============================================ storage: state: backend: sqlite path: "./data/asistente2.db" cache: enabled: true backend: memory ttl: 5m max_entries: 200 history: backend: sqlite path: "./data/history.db" retention: 168h # 7 días