Skip to content
Esta página fue generada y traducida con asistencia de IA. Si encuentra alguna imprecisión, no dude en ayudar a mejorarla. Editar en GitHub

Referencia de configuracion

Esta pagina documenta cada seccion y campo de configuracion en config.toml de PRX. Los campos marcados con un valor por defecto pueden omitirse -- PRX usara el valor por defecto.

Nivel superior (Ajustes por defecto)

Estos campos aparecen en el nivel raiz de config.toml, fuera de cualquier encabezado de seccion.

CampoTipoPor defectoDescripcion
default_providerstring"openrouter"ID o alias del proveedor (ej., "anthropic", "openai", "ollama")
default_modelstring"anthropic/claude-sonnet-4.6"Identificador del modelo enrutado a traves del proveedor seleccionado
default_temperaturefloat0.7Temperatura de muestreo (0.0--2.0). Menor = mas deterministico
api_keystring?nullClave API para el proveedor seleccionado. Sobreescrita por variables de entorno especificas del proveedor
api_urlstring?nullURL base de sobreescritura para la API del proveedor (ej., endpoint remoto de Ollama)
toml
default_provider = "anthropic"
default_model = "anthropic/claude-sonnet-4-6"
default_temperature = 0.7
api_key = "sk-ant-..."

[gateway]

Servidor gateway HTTP para endpoints de webhook, emparejamiento y la API web.

CampoTipoPor defectoDescripcion
hoststring"127.0.0.1"Direccion de enlace. Usa "0.0.0.0" para acceso publico
portu1616830Puerto de escucha
require_pairingbooltrueRequerir emparejamiento de dispositivo antes de aceptar solicitudes API
allow_public_bindboolfalsePermitir enlazar a direcciones no localhost sin tunel
pair_rate_limit_per_minuteu325Solicitudes de emparejamiento maximas por minuto por cliente
webhook_rate_limit_per_minuteu3260Solicitudes de webhook maximas por minuto por cliente
api_rate_limit_per_minuteu32120Solicitudes API maximas por minuto por token autenticado
trust_forwarded_headersboolfalseConfiar en cabeceras X-Forwarded-For / X-Real-IP (habilitar solo detras de proxy inverso)
request_timeout_secsu64300Timeout del handler HTTP en segundos
idempotency_ttl_secsu64300TTL para claves de idempotencia de webhook
toml
[gateway]
host = "127.0.0.1"
port = 16830
require_pairing = true
api_rate_limit_per_minute = 120

WARNING

Cambiar host o port requiere un reinicio completo. Estos valores se enlazan al inicio del servidor y no pueden recargarse en caliente.

[channels_config]

Configuracion de canales de nivel superior. Los canales individuales son subsecciones anidadas.

CampoTipoPor defectoDescripcion
clibooltrueHabilitar el canal CLI interactivo
message_timeout_secsu64300Timeout de procesamiento por mensaje (LLM + herramientas)

[channels_config.telegram]

CampoTipoPor defectoDescripcion
bot_tokenstring(requerido)Token del Bot API de Telegram desde @BotFather
allowed_usersstring[][]IDs o nombres de usuario de Telegram permitidos. Vacio = denegar todos
mention_onlyboolfalseEn grupos, solo responder a mensajes que mencionen al bot con @
stream_mode"off" | "partial""off"Modo streaming: off envia respuesta completa, partial edita un borrador progresivamente
draft_update_interval_msu641000Intervalo minimo entre ediciones de borrador (proteccion contra limites de velocidad)
interrupt_on_new_messageboolfalseCancelar respuesta en curso cuando el mismo usuario envia un nuevo mensaje
toml
[channels_config.telegram]
bot_token = "123456:ABC-DEF..."
allowed_users = ["alice", "bob"]
mention_only = true
stream_mode = "partial"

[channels_config.discord]

CampoTipoPor defectoDescripcion
bot_tokenstring(requerido)Token del bot de Discord desde el Developer Portal
guild_idstring?nullRestringir a un unico guild (servidor)
allowed_usersstring[][]IDs de usuario de Discord permitidos. Vacio = denegar todos
listen_to_botsboolfalseProcesar mensajes de otros bots (los propios siempre se ignoran)
mention_onlyboolfalseSolo responder a @menciones
toml
[channels_config.discord]
bot_token = "MTIz..."
guild_id = "987654321"
allowed_users = ["111222333"]
mention_only = true

[channels_config.slack]

CampoTipoPor defectoDescripcion
bot_tokenstring(requerido)Token OAuth del bot de Slack (xoxb-...)
app_tokenstring?nullToken de nivel de aplicacion para Socket Mode (xapp-...)
channel_idstring?nullRestringir a un unico canal
allowed_usersstring[][]IDs de usuario de Slack permitidos. Vacio = denegar todos
mention_onlyboolfalseSolo responder a @menciones en grupos

[channels_config.lark]

CampoTipoPor defectoDescripcion
app_idstring(requerido)App ID de Lark/Feishu
app_secretstring(requerido)App Secret de Lark/Feishu
encrypt_keystring?nullClave de cifrado de eventos
verification_tokenstring?nullToken de verificacion de eventos
allowed_usersstring[][]IDs de usuario permitidos. Vacio = denegar todos
use_feishuboolfalseUsar endpoints API de Feishu (China) en lugar de Lark (internacional)
receive_mode"websocket" | "webhook""websocket"Modo de recepcion de mensajes
portu16?nullPuerto de escucha de webhook (solo para modo webhook)
mention_onlyboolfalseSolo responder a @menciones

PRX tambien soporta estos canales adicionales (configurados bajo [channels_config.*]):

  • Matrix -- homeserver, access_token, listas de salas permitidas
  • Signal -- via API REST de signal-cli
  • WhatsApp -- Cloud API o modo Web
  • iMessage -- solo macOS, listas de contactos permitidos
  • DingTalk -- Stream Mode con client_id / client_secret
  • QQ -- SDK oficial de bot con app_id / app_secret
  • Email -- IMAP/SMTP
  • IRC -- Servidor, canal, nick
  • Mattermost -- URL + token de bot
  • Nextcloud Talk -- URL base + token de aplicacion
  • Webhook -- Webhooks entrantes genericos

[memory]

Backend de memoria para historial de conversacion, conocimiento y embeddings.

CampoTipoPor defectoDescripcion
backendstring"sqlite"Tipo de backend: "sqlite", "lucid", "postgres", "markdown", "none"
auto_savebooltrueGuardar automaticamente la entrada de conversacion del usuario en memoria
acl_enabledboolfalseHabilitar listas de control de acceso de memoria
hygiene_enabledbooltrueEjecutar archivado periodico y limpieza de retencion
archive_after_daysu327Archivar archivos diarios/de sesion mas antiguos que esto
purge_after_daysu3230Purgar archivos archivados mas antiguos que esto
conversation_retention_daysu323SQLite: eliminar filas de conversacion mas antiguas que esto
daily_retention_daysu327SQLite: eliminar filas diarias mas antiguas que esto
embedding_providerstring"none"Proveedor de embeddings: "none", "openai", "custom:<URL>"
embedding_modelstring"text-embedding-3-small"Nombre del modelo de embeddings
embedding_dimensionsusize1536Dimensiones del vector de embeddings
vector_weightf640.7Peso de similitud vectorial en busqueda hibrida (0.0--1.0)
keyword_weightf640.3Peso de busqueda por palabras clave BM25 (0.0--1.0)
min_relevance_scoref640.4Puntuacion hibrida minima para incluir memoria en contexto
embedding_cache_sizeusize10000Entradas maximas de cache de embeddings antes de eviccion LRU
snapshot_enabledboolfalseExportar memorias centrales a MEMORY_SNAPSHOT.md
snapshot_on_hygieneboolfalseEjecutar snapshot durante pasadas de higiene
auto_hydratebooltrueCargar automaticamente desde snapshot cuando falta brain.db
toml
[memory]
backend = "sqlite"
auto_save = true
embedding_provider = "openai"
embedding_model = "text-embedding-3-small"
embedding_dimensions = 1536
vector_weight = 0.7
keyword_weight = 0.3

[router]

Router heuristico de LLM para despliegues multi-modelo. Puntua modelos candidatos usando una formula ponderada que combina capacidad, calificacion Elo, costo y latencia.

CampoTipoPor defectoDescripcion
enabledboolfalseHabilitar enrutamiento heuristico
alphaf320.0Peso de puntuacion de similitud
betaf320.5Peso de puntuacion de capacidad
gammaf320.3Peso de puntuacion Elo
deltaf320.1Coeficiente de penalizacion de costo
epsilonf320.1Coeficiente de penalizacion de latencia
knn_enabledboolfalseHabilitar enrutamiento semantico KNN desde historial
knn_min_recordsusize10Registros minimos de historial antes de que KNN afecte el enrutamiento
knn_kusize7Numero de vecinos mas cercanos para votacion

[router.automix]

Politica de escalamiento adaptativo: comienza con un modelo economico, escala a premium cuando cae la confianza.

CampoTipoPor defectoDescripcion
enabledboolfalseHabilitar escalamiento Automix
confidence_thresholdf320.7Escalar cuando la confianza cae por debajo de esto (0.0--1.0)
cheap_model_tiersstring[][]Niveles de modelo considerados "economico-primero"
premium_model_idstring""Modelo usado para escalamiento
toml
[router]
enabled = true
beta = 0.5
gamma = 0.3
knn_enabled = true

[router.automix]
enabled = true
confidence_threshold = 0.7
premium_model_id = "anthropic/claude-sonnet-4-6"

[security]

Seguridad a nivel de SO: sandboxing, limites de recursos y logging de auditoria.

[security.sandbox]

CampoTipoPor defectoDescripcion
enabledbool?null (auto-detectar)Habilitar aislamiento sandbox
backendstring"auto"Backend: "auto", "landlock", "firejail", "bubblewrap", "docker", "none"
firejail_argsstring[][]Argumentos personalizados de Firejail

[security.resources]

CampoTipoPor defectoDescripcion
max_memory_mbu32512Memoria maxima por comando (MB)
max_cpu_time_secondsu6460Tiempo maximo de CPU por comando
max_subprocessesu3210Numero maximo de subprocesos
memory_monitoringbooltrueHabilitar monitoreo de uso de memoria

[security.audit]

CampoTipoPor defectoDescripcion
enabledbooltrueHabilitar logging de auditoria
log_pathstring"audit.log"Ruta del archivo de log de auditoria (relativa al directorio de config)
max_size_mbu32100Tamano maximo del log antes de rotacion
sign_eventsboolfalseFirmar eventos con HMAC para evidencia de manipulacion
toml
[security.sandbox]
backend = "landlock"

[security.resources]
max_memory_mb = 1024
max_cpu_time_seconds = 120

[security.audit]
enabled = true
sign_events = true

[observability]

Backend de metricas y trazado distribuido.

CampoTipoPor defectoDescripcion
backendstring"none"Backend: "none", "log", "prometheus", "otel"
otel_endpointstring?nullURL del endpoint OTLP (ej., "http://localhost:4318")
otel_service_namestring?nullNombre del servicio para el colector OTel (por defecto "prx")
toml
[observability]
backend = "otel"
otel_endpoint = "http://localhost:4318"
otel_service_name = "prx-production"

[mcp]

Integracion del servidor Model Context Protocol. PRX actua como cliente MCP, conectandose a servidores MCP externos para herramientas adicionales.

CampoTipoPor defectoDescripcion
enabledboolfalseHabilitar integracion de cliente MCP

[mcp.servers.<nombre>]

Cada servidor nombrado es una subseccion bajo [mcp.servers].

CampoTipoPor defectoDescripcion
enabledbooltrueInterruptor de habilitacion por servidor
transport"stdio" | "http""stdio"Tipo de transporte
commandstring?nullComando para modo stdio
argsstring[][]Argumentos del comando para modo stdio
urlstring?nullURL para transporte HTTP
envmap<string, string>{}Variables de entorno para modo stdio
startup_timeout_msu6410000Timeout de inicio
request_timeout_msu6430000Timeout por solicitud
tool_name_prefixstring"mcp"Prefijo para nombres de herramientas expuestas
allow_toolsstring[][]Lista blanca de herramientas (vacio = todas)
deny_toolsstring[][]Lista negra de herramientas
toml
[mcp]
enabled = true

[mcp.servers.filesystem]
transport = "stdio"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"]

[mcp.servers.remote-api]
transport = "http"
url = "http://localhost:8090/mcp"
request_timeout_ms = 60000

[browser]

Configuracion de la herramienta de automatizacion de navegador.

CampoTipoPor defectoDescripcion
enabledboolfalseHabilitar la herramienta browser_open
allowed_domainsstring[][]Dominios permitidos (coincidencia exacta o por subdominio)
session_namestring?nullSesion de navegador con nombre para automatizacion
toml
[browser]
enabled = true
allowed_domains = ["docs.rs", "github.com", "*.example.com"]

Configuracion de herramientas de busqueda web y fetch de URL.

CampoTipoPor defectoDescripcion
enabledboolfalseHabilitar la herramienta web_search
providerstring"duckduckgo"Proveedor de busqueda: "duckduckgo" (gratuito) o "brave" (requiere clave API)
brave_api_keystring?nullClave API de Brave Search
max_resultsusize5Resultados maximos por busqueda (1--10)
timeout_secsu6415Timeout de solicitud
fetch_enabledbooltrueHabilitar la herramienta web_fetch
fetch_max_charsusize10000Caracteres maximos devueltos por web_fetch
toml
[web_search]
enabled = true
provider = "brave"
brave_api_key = "BSA..."
max_results = 5
fetch_enabled = true

[xin]

Motor de tareas autonomas Xin (corazon/mente) -- programa y ejecuta tareas en segundo plano incluyendo evolucion, comprobaciones de aptitud y operaciones de higiene.

CampoTipoPor defectoDescripcion
enabledboolfalseHabilitar el motor de tareas Xin
interval_minutesu325Intervalo de tick en minutos (minimo 1)
max_concurrentusize4Ejecuciones concurrentes maximas de tareas por tick
max_tasksusize128Tareas totales maximas en el almacen
stale_timeout_minutesu3260Minutos antes de marcar una tarea en ejecucion como obsoleta
builtin_tasksbooltrueAuto-registrar tareas integradas del sistema
evolution_integrationboolfalsePermitir que Xin gestione la programacion de evolucion/aptitud
toml
[xin]
enabled = true
interval_minutes = 10
max_concurrent = 4
builtin_tasks = true
evolution_integration = true

[cost]

Limites de gasto y precios por modelo para seguimiento de costos.

CampoTipoPor defectoDescripcion
enabledboolfalseHabilitar seguimiento de costos
daily_limit_usdf6410.0Limite de gasto diario en USD
monthly_limit_usdf64100.0Limite de gasto mensual en USD
warn_at_percentu880Advertir cuando el gasto alcance este porcentaje del limite
allow_overrideboolfalsePermitir solicitudes que excedan el presupuesto con la opcion --override
toml
[cost]
enabled = true
daily_limit_usd = 25.0
monthly_limit_usd = 500.0
warn_at_percent = 80

[reliability]

Configuracion de cadena de reintentos y respaldo para acceso resiliente a proveedores.

CampoTipoPor defectoDescripcion
max_retriesu323Intentos maximos de reintento para fallos transitorios
fallback_providersstring[][]Lista ordenada de nombres de proveedores de respaldo
toml
[reliability]
max_retries = 3
fallback_providers = ["openai", "gemini"]

[secrets]

Almacen de credenciales cifrado usando ChaCha20-Poly1305.

CampoTipoPor defectoDescripcion
encryptbooltrueHabilitar cifrado para claves API y tokens en la configuracion

[auth]

Ajustes de importacion de credenciales externas.

CampoTipoPor defectoDescripcion
codex_auth_json_auto_importbooltrueAuto-importar credenciales OAuth de Codex CLI auth.json
codex_auth_json_pathstring"~/.codex/auth.json"Ruta al archivo auth de Codex CLI

[proxy]

Configuracion de proxy de salida HTTP/HTTPS/SOCKS5.

CampoTipoPor defectoDescripcion
enabledboolfalseHabilitar proxy
http_proxystring?nullURL del proxy HTTP
https_proxystring?nullURL del proxy HTTPS
all_proxystring?nullProxy de respaldo para todos los esquemas
no_proxystring[][]Lista de exclusion (mismo formato que NO_PROXY)
scopestring"zeroclaw"Alcance: "environment", "zeroclaw", "services"
servicesstring[][]Selectores de servicios cuando el alcance es "services"
toml
[proxy]
enabled = true
https_proxy = "socks5://127.0.0.1:1080"
no_proxy = ["localhost", "127.0.0.1", "*.internal"]
scope = "zeroclaw"

Released under the Apache-2.0 License.