Files
agents_and_robots/agents/asistente-2/config.yaml
T
egutierrez f8fa7e7c7b feat: agregar tool imdb_search para buscar películas en IMDb
Implementa una nueva tool que permite buscar películas y series en IMDb
usando la API de OMDb. Retorna hasta 5 resultados con título, año, tipo,
poster URL e IMDb ID.

Cambios:
- tools/imdb/imdb.go: tool imdb_search con integración a OMDb API
- internal/config/schema.go: IMDbToolCfg con api_key, api_key_env y timeout
- agents/runtime.go: registro de tool en buildToolRegistry
- agents/asistente-2/config.yaml: habilitación de tool imdb
- .env.example: OMDB_API_KEY para configuración

La tool soporta parámetros:
- query (requerido): título de película/serie a buscar
- year (opcional): año para filtrar resultados

Configuración via api_key directa o variable de entorno OMDB_API_KEY.
API key gratuita disponible en http://www.omdbapi.com/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-08 23:04:05 +00:00

300 lines
6.6 KiB
YAML

# ============================================
# 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: claude-code
model: ""
api_key_env: ""
base_url: ""
max_tokens: 4096
temperature: 0.7
claude_code:
binary: "claude"
timeout: 3m
disable_tools: true # no ejecuta herramientas internas de claude
allowed_tools: []
disallowed_tools: []
working_dir: "/tmp/claude-agents/asistente-2"
permission_mode: "bypassPermissions"
model: "sonnet"
fallback_model: ""
session_id: ""
add_dirs: []
# Fallback desactivado — solo claude-code
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: []
memory:
enabled: true
knowledge:
enabled: true
imdb:
enabled: true
api_key: ""
api_key_env: "OMDB_API_KEY"
timeout: 10s
# ============================================
# MEMORIA — ventana de conversación + hechos
# ============================================
memory:
enabled: true
window_size: 30
# ============================================
# 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_ASISTENTE_2
device_id: "IVECMVQWNZ"
encryption:
enabled: true
store_path: "./agents/asistente-2/data/crypto/"
pickle_key_env: PICKLE_KEY_ASISTENTE_2
trust_mode: tofu
recovery_key_env: SSSS_RECOVERY_KEY_ASISTENTE_2
rooms:
listen: []
respond: []
admin: []
filters:
command_prefix: "!"
mention_respond: true
dm_respond: true
ignore_bots: true
ignore_users: []
unauthorized_response: silent # silent | explicit
min_power_level: 0
threads:
enabled: true # responder en threads cuando el mensaje viene de un thread
auto_thread: false # true para crear thread automático por cada conversación nueva
# ============================================
# 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:
audit:
enabled: false
log_file: "./agents/asistente-2/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: "./agents/asistente-2/data/asistente-2.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: "./agents/asistente-2/data/asistente-2.db"
cache:
enabled: true
backend: memory
ttl: 5m
max_entries: 200
history:
backend: sqlite
path: "./agents/asistente-2/data/history.db"
retention: 168h # 7 días