Configuración
Pando busca su configuración en los siguientes ubicaciones (en orden de prioridad):
./.pando.jsono./.pando.toml(directorio local del proyecto)$XDG_CONFIG_HOME/pando/.pando.jsono$XDG_CONFIG_HOME/pando/.pando.toml$HOME/.pando.jsono$HOME/.pando.toml
Se soportan ambos formatos JSON y TOML. Pando detecta el formato automáticamente por la extensión.
Configuración básica
TOML
[data]
directory = ".pando"
[providers.anthropic]
apiKey = "tu-api-key"
disabled = false
[agents.coder]
model = "claude-3.7-sonnet"
maxTokens = 5000
[shell]
path = "/bin/bash"
args = ["-l"]
debug = false
autoCompact = trueJSON
{
"data": {
"directory": ".pando"
},
"providers": {
"anthropic": {
"apiKey": "tu-api-key",
"disabled": false
}
},
"agents": {
"coder": {
"model": "claude-3.7-sonnet",
"maxTokens": 5000
}
},
"shell": {
"path": "/bin/bash",
"args": ["-l"]
},
"debug": false,
"autoCompact": true
}Variables de entorno
| Variable de entorno | Propósito |
|---|---|
ANTHROPIC_API_KEY | Para modelos Claude de Anthropic |
OPENAI_API_KEY | Para modelos OpenAI |
GEMINI_API_KEY | Para Google Gemini |
GITHUB_TOKEN | Para Github Copilot |
GROQ_API_KEY | Para modelos Groq |
AWS_ACCESS_KEY_ID | Para AWS Bedrock (Claude) |
AWS_SECRET_ACCESS_KEY | Para AWS Bedrock (Claude) |
AWS_REGION | Para AWS Bedrock (Claude) |
AZURE_OPENAI_ENDPOINT | Para modelos Azure OpenAI |
AZURE_OPENAI_API_KEY | Para Azure OpenAI |
AZURE_OPENAI_API_VERSION | Para Azure OpenAI |
VERTEXAI_PROJECT | Para Google Cloud VertexAI (Gemini) |
VERTEXAI_LOCATION | Para Google Cloud VertexAI (Gemini) |
LOCAL_ENDPOINT | Para modelos auto-alojados |
PANDO_DEV_DEBUG | Activa modo debug de desarrollo (true) |
SHELL | Shell por defecto (si no se especifica en la configuración) |
Proveedores de IA
Pando soporta los siguientes proveedores de IA:
- Anthropic (Claude 3.5 Sonnet, Claude 3.7 Sonnet, etc.)
- OpenAI (GPT-4o, GPT-4 Turbo, etc.)
- Google Gemini (Gemini 1.5 Pro, Gemini 2.0, etc.)
- AWS Bedrock (Claude en AWS)
- Groq (Llama, Mixtral, etc.)
- Azure OpenAI
- GitHub Copilot
- OpenRouter (acceso a múltiples modelos)
- Modelos locales (via endpoint personalizado)
Configuración avanzada
A continuación se recogen las opciones avanzadas que reconoce Pando, con ejemplos en TOML y JSON. No todas son obligatorias; Pando usará valores por defecto cuando falten.
Ejemplo completo (TOML)
[data]
directory = ".pando" # Directorio donde Pando guarda datos (historial, comandos, etc.)
[providers]
[providers.anthropic]
apiKey = "tu-api-key"
disabled = false
[providers.openai]
apiKey = "tu-openai-key"
model = "gpt-4o"
disabled = false
[providers.gemini]
apiKey = "tu-gemini-key"
disabled = true
[agents]
[agents.coder]
model = "claude-3.7-sonnet"
maxTokens = 5000
temperature = 0.2
[agents.chat]
model = "gpt-4o"
maxTokens = 3000
temperature = 0.7
[shell]
path = "/bin/bash"
args = ["-l"]
debug = false # Activa logs detallados
autoCompact = true # Compacta automáticamente historiales largos
[acp]
enabled = true
max_sessions = 10
idle_timeout = "30m"
log_level = "info" # info|debug|warn|error
auto_permission = false # true para entornos CI o de confianza
[mcpServers]
[mcpServers.mi-servidor]
command = "mi-mcp-server"
args = ["--flag"]
env = { MI_VAR = "valor" }
[hooks]
# Ruta a hooks en Lua u otros scripts para personalizar comportamientos
path = ".pando/hooks"
[storage]
type = "sqlite" # sqlite|filesystem|custom
path = ".pando/pando.db"
[ui]
theme = "dark" # ui theme para web-ui si aplica
editor = "nvim" # editor externo por defecto
[telemetry]
enabled = false
endpoint = "https://telemetry.example.com/collect"
[logging]
level = "info"
file = ".pando/pando.log"Ejemplo completo (JSON)
{
"data": { "directory": ".pando" },
"providers": {
"anthropic": { "apiKey": "tu-api-key", "disabled": false },
"openai": { "apiKey": "tu-openai-key", "model": "gpt-4o", "disabled": false }
},
"agents": {
"coder": { "model": "claude-3.7-sonnet", "maxTokens": 5000, "temperature": 0.2 },
"chat": { "model": "gpt-4o", "maxTokens": 3000, "temperature": 0.7 }
},
"shell": { "path": "/bin/bash", "args": ["-l"] },
"debug": false,
"autoCompact": true,
"acp": { "enabled": true, "max_sessions": 10, "idle_timeout": "30m", "log_level": "info", "auto_permission": false },
"mcpServers": { "mi-servidor": { "command": "mi-mcp-server", "args": ["--flag"], "env": { "MI_VAR": "valor" } } },
"hooks": { "path": ".pando/hooks" },
"storage": { "type": "sqlite", "path": ".pando/pando.db" },
"ui": { "theme": "dark", "editor": "nvim" },
"telemetry": { "enabled": false, "endpoint": "https://telemetry.example.com/collect" },
"logging": { "level": "info", "file": ".pando/pando.log" }
}Descripción de las opciones principales
- data.directory: Directorio base para datos de Pando (comandos, historial, caches).
- providers.
: Configuración por proveedor (apiKey, model, disabled, endpoint personalizado). - agents.
: Configuración por agente/rol (model, maxTokens, temperature, systemPrompt opcional). - shell.path / shell.args: Shell por defecto y argumentos al lanzarlo.
- debug: Activa salida de depuración.
- autoCompact: Habilita compactación automática del historial para ahorrar tokens.
- acp.*: Opciones del Agent Client Protocol (activar, sesiones máximas, timeouts, permisos automáticos).
- mcpServers.*: Define servidores MCP externos que Pando puede consumir (command, args, env).
- hooks.path: Ruta para hooks personalizados (Lua, scripts) que Pando ejecuta en eventos.
- storage.type/path: Tipo y ruta de almacenamiento (SQLite recomendado para persistencia).
- ui.theme/editor: Preferencias para UI/web-ui y editor externo.
- telemetry.*: Configuración para telemetría (desactivada por defecto).
- logging.*: Nivel y archivo de logs.
Opciones de Seguridad y Comodidad Premium
Pando incorpora varias características de última generación destinadas a simplificar tu configuración y proteger tus claves:
- Cifrado Local de Parámetros (AGE): Puedes cifrar cualquier cadena de texto sensible (como claves API de proveedores o datos de conexión a bases de datos) en tu archivo
.pando.tomlmediantepando encrypt. Esto mantiene a salvo tus credenciales, permitiéndote subir tus archivos de configuración a repositorios públicos de Git sin riesgos. - Selector Visual de Modelos en la TUI: Al utilizar el panel interactivo de configuración (
Ctrl+gen la terminal), dispondrás de un selector visual de modelos con autocompletado en tiempo real, evitando errores tipográficos al introducir los nombres. - HTTPS Seguro Local Automático: Pando genera y gestiona automáticamente certificados SSL locales en el arranque para garantizar que todas las conexiones de red del Web-UI y la aplicación de escritorio se realicen bajo el protocolo HTTPS cifrado.
- Control de Snapshots (Instantáneas): Decide si deseas que Pando cree instantáneas automáticas de tus sesiones de trabajo. Puedes desactivarlas en el archivo
.pando.tomlpara reducir el uso de espacio en disco en proyectos con bases de código masivas.
Esta configuración flexible permite adaptar Pando a una amplia variedad de entornos y casos de uso, desde desarrollo local hasta integración en pipelines CI/CD o entornos de producción.
Configuración a través de asistente TUI
Una de las formas más sencillas de configurar Pando es a través de su asistente TUI interactivo, que se lanza automáticamente si no se encuentra un archivo de configuración. Se abrirá el panel de configuración, generará el fichero de configuración por defecto y podrás añadir los proveedores de IA que quieras usar, así como personalizar otras opciones. El asistente TUI es ideal para usuarios nuevos o para quienes prefieren una configuración guiada paso a paso.
La configuración de proveedores y tools también se guarda en tu perfil de usuario, lo que permite mantener tus claves API y preferencias incluso si mueves tu proyecto a otro directorio, cuando arrancas Pando sobre una nueva carpeta, el asistente autocompleta con los proveedores y herramientas que ya tienes configurados en tu perfil, para que puedas empezar a usarlos sin necesidad de configurar todo desde cero.