Skip to content

Configuracion

AgentCrew se configura a traves de variables de entorno (definidas en tu archivo .env) y ajustes de la aplicacion (gestionados desde la interfaz). Esta pagina documenta todas las opciones disponibles.

Variables de Entorno

Estas variables se definen en el archivo .env en la raiz de tu instalacion de AgentCrew. Se leen cuando el stack de Docker Compose se inicia.

Variable Requerida Valor por Defecto Descripcion
NATS_AUTH_TOKEN Si Ninguno Token de autenticacion para la mensajeria NATS entre el servidor API y los contenedores de agentes. Debe ser una cadena aleatoria y segura.
API_PORT No 3000 Puerto para acceso directo a la API (por ejemplo, scripts o automatizacion). El frontend redirige las llamadas API automaticamente a traves de nginx, por lo que este puerto no es necesario para el uso normal.
FRONTEND_PORT No 8080 Puerto en el que se sirve el frontend. Cambialo si el puerto 8080 ya esta en uso.
SCHEDULE_TIMEOUT No 1h Tiempo maximo de espera para la respuesta de una tarea programada antes de marcar la ejecucion como timeout. Acepta cadenas de duracion de Go (por ejemplo, 30m, 2h).
SCHEDULER_MAX_CONCURRENT No 10 Numero maximo de tareas programadas que pueden ejecutarse simultaneamente. Las tareas excedentes se difieren al siguiente tick del programador.
WEBHOOK_MAX_CONCURRENT No 20 Numero maximo global de ejecuciones de webhooks que pueden ejecutarse simultaneamente. Las activaciones excedentes se encolan. Tambien se puede sobreescribir por webhook.
AUTH_PROVIDER No local Modo de autenticacion. local habilita autenticacion por email/contrasena con tokens JWT. noop desactiva la autenticacion completamente (usuario unico, sin login). Ver Autenticacion.
JWT_SECRET Si* Ninguno Clave secreta para firmar tokens JWT. Debe tener al menos 32 caracteres. Requerida cuando AUTH_PROVIDER=local. Se genera automaticamente con el instalador.
SETTINGS_ENCRYPTION_KEY Si* Ninguno Clave para cifrar datos sensibles en reposo (claves API, tokens de invitacion) usando AES-256-GCM. Requerida cuando AUTH_PROVIDER=local. Se genera automaticamente con el instalador.
MULTI_TENANT No false Cuando es false, solo puede existir una organizacion. Cuando es true, multiples organizaciones pueden registrarse independientemente. Ver Autenticacion.
JWT_ACCESS_EXPIRATION No 24h Tiempo de vida de los tokens de acceso JWT. Acepta cadenas de duracion de Go (por ejemplo, 1h, 30m).
JWT_REFRESH_EXPIRATION No 7d Tiempo de vida de los tokens de refresco JWT. Acepta cadenas de duracion de Go (por ejemplo, 7d, 30d).
* JWT_SECRET y SETTINGS_ENCRYPTION_KEY son requeridas solo cuando se usa AUTH_PROVIDER=local. No son necesarias con AUTH_PROVIDER=noop.

Ejemplo de archivo .env

# Required
NATS_AUTH_TOKEN=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6

# Authentication (required for AUTH_PROVIDER=local)
AUTH_PROVIDER=local
JWT_SECRET=your-secure-random-string-at-least-32-characters
SETTINGS_ENCRYPTION_KEY=your-secure-random-encryption-key
MULTI_TENANT=false

# Optional overrides
API_PORT=3000
FRONTEND_PORT=8080

# Optional: JWT token lifetimes
# JWT_ACCESS_EXPIRATION=24h
# JWT_REFRESH_EXPIRATION=7d

# Scheduler settings
SCHEDULE_TIMEOUT=1h
SCHEDULER_MAX_CONCURRENT=10

# Webhook settings
WEBHOOK_MAX_CONCURRENT=20

Ajustes de la Aplicacion

Estos ajustes se configuran a traves de la pagina de Configuracion en la interfaz de AgentCrew (haz clic en el icono de engranaje en la barra lateral). Se almacenan en la base de datos de la aplicacion y pueden cambiarse en cualquier momento sin reiniciar.

Ajuste Descripcion
ANTHROPIC_API_KEY Tu clave API de Anthropic de console.anthropic.com. Utilizada por equipos Claude Code (requerida a menos que uses un token OAuth) y por equipos OpenCode cuando ejecutan modelos de Anthropic.
CLAUDE_CODE_OAUTH_TOKEN Metodo de autenticacion alternativo: un token OAuth para Claude Code. Usalo si prefieres OAuth en lugar de autenticacion por clave API. Solo uno de los dos es requerido.
OPENAI_API_KEY Tu clave API de OpenAI. Requerida para equipos OpenCode que usen modelos de OpenAI. Tambien la utiliza Claude Code si esta configurada.
GOOGLE_GENERATIVE_AI_API_KEY Tu clave API de Google AI. Requerida para equipos OpenCode que usen modelos de Google (Gemini, etc.).
Nota: Solo necesitas credenciales para los proveedores que uses. Los equipos Claude Code requieren ANTHROPIC_API_KEY o CLAUDE_CODE_OAUTH_TOKEN. Los equipos OpenCode requieren al menos una clave de proveedor de modelos (ANTHROPIC_API_KEY, OPENAI_API_KEY o GOOGLE_GENERATIVE_AI_API_KEY). Consulta Proveedores para mas detalles.

Ruta del Espacio de Trabajo

Al crear un equipo, puedes especificar una ruta de espacio de trabajo, un directorio en tu maquina host que se montara en el contenedor del agente en /workspace. Esto da a los agentes acceso de lectura y escritura a los archivos de tu proyecto.

  • La ruta debe ser una ruta absoluta en el host (por ejemplo, /home/user/projects/my-app).
  • El directorio debe existir antes de crear el equipo.
  • Los agentes pueden leer, crear, editar y eliminar archivos dentro del espacio de trabajo.
  • Si no se especifica una ruta de espacio de trabajo, los agentes trabajan con un directorio /workspace vacio respaldado por un volumen Docker.
# Host machine                    # Inside agent container
/home/user/projects/my-app  →    /workspace

Almacenamiento Persistente

AgentCrew usa una base de datos SQLite para almacenar equipos, agentes, habilidades, historial de chat y ajustes de la aplicacion. El archivo de base de datos se persiste en un volumen Docker llamado agentcrew_db.

  • El volumen se crea automaticamente en la primera ejecucion.
  • Los datos sobreviven a ciclos de docker compose down y docker compose up.
  • Para reiniciar completamente, elimina el volumen: docker volume rm agentcrew_db.
Consejo: Haz una copia de seguridad de tu base de datos copiandola desde el volumen. Usa docker cp o monta el volumen en un contenedor temporal para acceder al archivo SQLite.

Imágenes de Agente Personalizadas

AgentCrew te permite usar imágenes Docker personalizadas para tus agentes. Esto es útil cuando tus agentes necesitan herramientas adicionales, bibliotecas o dependencias del sistema más allá de lo que ofrecen las imágenes por defecto.

Importante: Tu imagen personalizada debe estar basada en las imágenes oficiales de agentes de AgentCrew, ya que contienen el binario sidecar y las herramientas CLI necesarias.

Dockerfile Base para Agente Claude Code

FROM ghcr.io/helmcode/agent_crew_agent:latest

# Add your custom dependencies here
# Example: Install Python packages
RUN pip install pandas numpy

# Example: Install system tools
RUN apt-get update && apt-get install -y --no-install-recommends \
    postgresql-client \
    redis-tools \
    && rm -rf /var/lib/apt/lists/*

# Example: Install user-level tools (use gosu to run as agentcrew)
# RUN gosu agentcrew npx playwright install chromium

Dockerfile Base para Agente OpenCode

FROM ghcr.io/helmcode/agent_crew_opencode_agent:latest

# Add your custom dependencies here
RUN apt-get update && apt-get install -y --no-install-recommends \
    your-tools-here \
    && rm -rf /var/lib/apt/lists/*
Nota: No necesitas gestionar directivas USER en tu Dockerfile. Los contenedores de AgentCrew siempre arrancan como root y el script de entrypoint reduce los privilegios automaticamente para coincidir con el propietario del workspace. Usa gosu agentcrew cuando necesites instalar herramientas a nivel de usuario (por ejemplo, binarios de navegador) durante el build.

Cómo Construir y Usar

Construye tu imagen personalizada:

docker build -t myregistry/my-custom-agent:latest .

Luego, en la interfaz de AgentCrew, establece Custom Agent Image en myregistry/my-custom-agent:latest al crear o editar un equipo.

Advertencia: Usar una imagen que no contenga el binario sidecar de AgentCrew y la CLI del agente causara fallos en el despliegue.

Siguientes Pasos

  • Autenticacion: Gestion de usuarios, organizaciones, invitaciones y control de acceso basado en roles.
  • Habilidades: Extiende las capacidades de los agentes con habilidades instalables desde GitHub.
  • Arquitectura: Entiende como interactuan los componentes y por donde fluyen los datos.