Files
agents_and_robots/agents/_specials/father-bot/config.yaml
T
egutierrez be88c6ce7e feat: father-bot — agente del sistema que crea otros agentes via Matrix
Primer agente privilegiado en agents/_specials/. Usa provider claude-code
con acceso completo al repositorio para ejecutar el pipeline de creacion
de agentes de forma autonoma (scaffold, build, register, verify, restart).

Archivos:
- agent.go: reglas puras (DM/mention → LLM)
- config.yaml: claude-code provider, bypassPermissions, E2EE, audit
- prompts/system.md: guia completa de creacion con decision tree,
  convencion de IDs, validaciones y seccion anti-injection

Config: claude-code con working_dir al repo, allowed_tools restringido,
model sonnet, timeout 10m, add_dirs con templates y referencias.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 22:05:23 +00:00

232 lines
5.8 KiB
YAML

# ============================================
# FATHER BOT — Agente privilegiado del sistema
# ============================================
# Crea otros agentes y robots via Matrix usando claude-code.
# Ubicado en _specials/ por su rol de sistema. ACL admin-only.
agent:
id: father-bot
name: "Father Bot"
version: "1.0.0"
enabled: true
description: "Agente del sistema que crea otros agentes y robots via Matrix. Acceso completo al repositorio."
tags: [system, privileged, creator]
# ============================================
# PERSONALIDAD Y COMPORTAMIENTO
# ============================================
personality:
tone: technical
verbosity: concise
language: es
languages_supported: [es, en]
emoji_style: minimal
prefix: ""
error_style: detailed
role: "Arquitecto de agentes — crea, configura y despliega nuevos bots Matrix"
backstory: "Soy el agente padre del sistema. Conozco la arquitectura completa del proyecto y puedo crear nuevos agentes o robots bajo demanda."
expertise: [go, matrix, agent-architecture, devops, shell-scripting]
limitations: ["No modifico agentes existentes sin confirmacion explicita", "No elimino agentes"]
communication:
formality: semiformal
humor: none
personality: pragmatic
response_style: structured
quirks: []
avoid_topics: []
catchphrases: []
custom_directives:
- "Siempre confirma el tipo (agent/robot) y el nombre antes de crear"
- "Reporta cada paso del pipeline con resultado (exito/fallo)"
- "Si algo falla, muestra el error y sugiere recovery"
templates:
greeting: "Soy Father Bot. Puedo crear agentes y robots para este sistema. Describeme lo que necesitas."
unknown_command: "Comando desconocido. Usa !help o describeme que agente necesitas crear."
permission_denied: "Solo administradores pueden interactuar conmigo."
error: "Error en la operacion: {{.Error}}"
success: "{{.Summary}}"
busy: "Estoy creando un agente, espera a que termine..."
behavior:
proactive: false
ask_confirmation: true
show_reasoning: true
thread_replies: true
typing_indicator: true
acknowledge_receipt: true
# ============================================
# LLM — claude-code provider
# ============================================
llm:
primary:
provider: claude-code
model: ""
api_key_env: ""
base_url: ""
max_tokens: 16384
temperature: 0.3
claude_code:
binary: "claude"
timeout: 10m
disable_tools: false
allowed_tools: [Bash, Read, Edit, Write, Glob, Grep]
disallowed_tools: []
working_dir: "/home/ubuntu/CodeProyects/agents_and_robots"
permission_mode: "bypassPermissions"
model: "sonnet"
fallback_model: "haiku"
session_id: ""
add_dirs:
- ".claude/rules"
- "agents/_template"
- "agents/_template_robot"
- "agents/assistant-bot"
- "agents/asistente-2"
- "internal/config"
- "dev-scripts/agent"
fallback:
provider: ""
model: ""
api_key_env: ""
reasoning:
system_prompt_file: "prompts/system.md"
context_window: 16384
memory_messages: 30
tool_use:
enabled: false
max_iterations: 5
parallel_calls: false
rate_limit:
requests_per_minute: 20
tokens_per_minute: 200000
concurrent_requests: 2
# ============================================
# TOOLS — deshabilitadas (claude-code maneja todo)
# ============================================
tools:
ssh:
enabled: false
http:
enabled: false
scripts:
enabled: false
file_ops:
enabled: false
matrix_send:
allowed_rooms: []
mcp:
enabled: false
memory:
enabled: false
knowledge:
enabled: false
shared_knowledge:
enabled: false
skills:
allowed_interpreters: []
# ============================================
# SKILLS — deshabilitadas
# ============================================
skills:
enabled: false
# ============================================
# MEMORIA — habilitada para contexto de conversacion
# ============================================
memory:
enabled: true
window_size: 30
db_path: ""
# ============================================
# MATRIX
# ============================================
matrix:
homeserver: "${MATRIX_HOMESERVER}"
user_id: "@father-bot:${MATRIX_SERVER_NAME}"
access_token_env: MATRIX_TOKEN_FATHER_BOT
device_id: "ZMLLZOHAXM"
encryption:
enabled: true
store_path: "./agents/_specials/father-bot/data/crypto/"
pickle_key_env: PICKLE_KEY_FATHER_BOT
trust_mode: tofu
recovery_key_env: SSSS_RECOVERY_KEY_FATHER_BOT
rooms:
listen: []
respond: []
admin: []
filters:
command_prefix: "!"
mention_respond: true
dm_respond: true
ignore_bots: true
ignore_users: []
unauthorized_response: explicit
min_power_level: 0
threads:
enabled: true
auto_thread: false
# ============================================
# SSH INVENTORY — disponible para el subprocess claude-code
# ============================================
ssh:
defaults:
user: "root"
port: 22
key_file_env: SSH_KEY_FILE
known_hosts: "~/.ssh/known_hosts"
keepalive_interval: 30s
timeout: 60s
targets: {}
# ============================================
# SEGURIDAD
# ============================================
security:
audit:
enabled: true
log_file: ""
log_to_room: ""
include: [command, llm_request, llm_response]
secrets:
provider: env
sanitize:
enabled: true
mode: warn
min_severity: medium
disabled_patterns: []
tool_rate_limit:
enabled: false
# ============================================
# SCHEDULING
# ============================================
schedules: []
# ============================================
# STORAGE
# ============================================
storage:
base_path: ""