Manual de referencia de configuración de Pi Agent

La siguiente es una tabla de referencia rápida de los elementos de configuración de settings.json de Pi Agent.

Esta tabla incluye los elementos de configuración más comunes; algunas claves avanzadas específicas de JSON (como tuiMode, la serie fullscreen, terminal.hyperlinks, markdown.mermaid, etc.) no se enumeran individualmente.


Ubicación del archivo de configuración

La configuración se divide en dos niveles: global y de proyecto. La configuración de proyecto solo se carga después de obtener la confianza del proyecto.

Ruta del archivoAlcanceDescripción
~/.pi/agent/settings.jsonGlobal (todos los proyectos)Configuración general que aplica a todos los proyectos
.pi/settings.jsonNivel de proyectoSe carga solo después de que el proyecto obtenga confianza y sobrescribe las claves con el mismo nombre en la configuración global.

Modelo e inferencia

La configuración de esta sección determina el proveedor, el modelo y la intensidad de inferencia utilizados por defecto.

Elemento de configuraciónTipo¿Requerido?Valor predeterminadoDescripción
defaultProviderstringOpcionalNinguno (se establece la primera vez mediante /login o /model)Proveedor predeterminado, como "anthropic", "openai"
defaultModelstringOpcionalNinguno (se establece la primera vez mediante /login o /model)ID del modelo predeterminado, como "claude-sonnet-4-20250514"
defaultThinkingLevelstringOpcionalNinguno (no se indica en la documentación)Nivel de inferencia predeterminado: off/minimal/low/medium/high/xhigh/max
modelThinkingLevelsobjectOpcionalNingunoEstablece el nivel de inferencia de inicio para cada modelo según "provider/modelId"
hideThinkingBlockbooleanOpcionalfalseOcultar el proceso de razonamiento
showCacheMissNoticesbooleanOpcionalfalseMostrar aviso de fallo de caché
thinkingBudgetsobjectOpcionalNinguno (presupuesto personalizado no habilitado)Presupuesto de tokens personalizado para cada nivel
warnings.anthropicExtraUsagebooleanOpcionaltrueAvisar cuando la suscripción de Anthropic pueda generar uso adicional de pago

UI y visualización

La configuración de esta sección controla la apariencia de la interfaz, el editor externo y la densidad de visualización.

Elemento de configuraciónTipo¿Requerido?Valor predeterminadoDescripción
themestringOpcional"dark"Nombre del tema
externalEditorstringOpcionalToma $VISUAL y $EDITOR en ese orden; de lo contrario, usa Notepad en Windows y nano en otros sistemas.Comando del editor externo (la configuración explícita tiene prioridad sobre las variables de entorno)
quietStartupbooleanOpcionalfalseOcultar el encabezado de inicio
defaultProjectTruststringOpcional"ask"Comportamiento predeterminado de confianza del proyecto: "ask" (preguntar), "always" (confiar automáticamente), "never" (rechazar automáticamente); solo aplica en la configuración global.
collapseChangelogbooleanOpcionalfalseContraer el registro de cambios
enableInstallTelemetrybooleanOpcionaltrueEstadísticas de instalación anónimas
enableAnalyticsbooleanOpcionalfalseAnálisis de comportamiento del usuario (requiere activación explícita)
doubleEscapeActionstringOpcional"tree"Acción activada al pulsar Escape dos veces; por defecto abre el explorador del árbol de sesiones
treeFilterModestringOpcional"default"Modo de filtrado predeterminado de /tree: default/no-tools/user-only/labeled-only/all
editorPaddingXnumberOpcional0Relleno horizontal del editor (0-3)
outputPadnumberOpcional1Relleno de los mensajes (0 o 1)
autocompleteMaxVisiblenumberOpcional5Número máximo de elementos de autocompletado (3-20)

Red

La configuración de esta sección se utiliza para el acceso mediante proxy en entornos de red restringidos.

Elemento de configuraciónTipo¿Requerido?Valor predeterminadoDescripción
httpProxystringOpcionalNinguno (no se usa proxy)Proxy HTTP (solo global)

httpProxySolo aplica en la configuración global; no tiene efecto si se escribe en la configuración de nivel de proyecto.

Cuando necesite un proxy, escríbalo en~/.pi/agent/settings.json。


Compresión

La configuración de esta sección controla la activación de la compresión automática del contexto y la política de retención.

Elemento de configuraciónTipo¿Requerido?Valor predeterminadoDescripción
compaction.enabledbooleanOpcionaltrueCompresión automática
compaction.reserveTokensnumberOpcional16384Tokens reservados para la respuesta del LLM
compaction.keepRecentTokensnumberOpcional20000Tokens recientes conservados

Resumen de ramas

La configuración de esta sección controla si se genera un resumen de las ramas abandonadas al saltar entre árboles de sesión.

Elemento de configuraciónTipo¿Requerido?Valor predeterminadoDescripción
branchSummary.reserveTokensnumberOpcional16384Tokens reservados para el resumen
branchSummary.skipPromptbooleanOpcionalfalseOmitir el aviso de resumen

Reintentos

La configuración de esta sección controla el comportamiento de reintento automático tras fallos de solicitud.

Elemento de configuraciónTipo¿Requerido?Valor predeterminadoDescripción
retry.enabledbooleanOpcionaltrueReintento automático
retry.maxRetriesnumberOpcional3Número máximo de reintentos
retry.baseDelayMsnumberOpcional2000Retardo base (ms)
retry.provider.timeoutMsnumberOpcionalPredeterminado del SDKTiempo de espera de solicitud
retry.provider.maxRetriesnumberOpcional0Número de reintentos a nivel de proveedor
retry.provider.maxRetryDelayMsnumberOpcional60000Retardo máximo de reintento

Mensajería

La configuración de esta sección determina cómo se insertan los mensajes de orientación y seguimiento, así como el protocolo de transporte utilizado.

Elemento de configuraciónTipo¿Requerido?Valor predeterminadoDescripción
steeringModestringOpcional"one-at-a-time"Política de mensajes de orientación: "all" (todos los mensajes de orientación se insertan de inmediato) o "one-at-a-time" (se insertan uno a uno)
followUpModestringOpcional"one-at-a-time"Política de mensajes de seguimiento
transportstringOpcional"auto"Protocolo de transporte: sse / websocket / websocket-cached / auto
httpIdleTimeoutMsnumberOpcional300000Tiempo de espera de inactividad HTTP
websocketConnectTimeoutMsnumberOpcional15000Tiempo de espera de conexión WebSocket

Terminal e imágenes

La configuración de esta sección controla el tamaño de visualización y el comportamiento de envío de las imágenes en la terminal.

Elemento de configuraciónTipo¿Requerido?Valor predeterminadoDescripción
terminal.showImagesbooleanOpcionaltrueMostrar imágenes en la terminal
terminal.imageWidthCellsnumberOpcional60Ancho de la imagen (celdas)
terminal.clearOnShrinkbooleanOpcionalfalseLimpiar líneas vacías cuando el contenido se contrae
images.autoResizebooleanOpcionaltrueEscalado automático de imágenes
images.blockImagesbooleanOpcionalfalseBloquear el envío de imágenes al LLM

Shell

La configuración de esta sección se utiliza para personalizar el shell y el envoltorio de npm al ejecutar comandos.

Elemento de configuraciónTipo¿Requerido?Valor predeterminadoDescripción
shellPathstringOpcionalNinguno (se usa el shell predeterminado del sistema)Ruta personalizada del shell
shellCommandPrefixstringOpcionalNinguno (sin prefijo)Prefijo de comando
npmCommandstring[]OpcionalNinguno (se llama directamente a npm)Envoltorio de comandos npm

Herramientas integradas

La configuración de esta sección controla el conjunto de herramientas integradas habilitadas por defecto al iniciar.

Elemento de configuraciónTipo¿Requerido?Valor predeterminadoDescripción
defaultToolsstring[]OpcionalNinguno (se usa el conjunto de herramientas integrado predeterminado)Herramientas integradas habilitadas inicialmente, valores opcionales read/bash/powershell/edit/write/grep/find/ls, donde powershell solo está disponible en Windows

Esta configuración solo afecta a las herramientas integradas; las herramientas personalizadas registradas por extensiones y SDK no se ven afectadas.

La matriz defaultTools a nivel de proyecto reemplaza por completo a la matriz global.


Bucle del modelo y recursos

Esta sección configura el alcance del bucle de modelos de Ctrl+P, así como las rutas de carga de recursos como extensiones y Skills.

Elemento de configuraciónTipo¿Es obligatorio?Valor predeterminadoDescripción
enabledModelsstring[]OpcionalNinguno (todos los modelos disponibles)Modelos disponibles en Ctrl+P
packagesarray (mixto de cadenas u objetos)Opcional[]Origen del paquete; en forma de cadena carga todos los recursos, en forma de objeto filtra mediante campos como {source, skills, extensions}
extensionsstring[]Opcional[]Ruta de extensiones
skillsstring[]Opcional[]Ruta de Skills
promptsstring[]Opcional[]Ruta de plantillas
themesstring[]Opcional[]Ruta de temas
enableSkillCommandsbooleanOpcionaltrueRegistrar el comando /skill:name
sessionDirstringOpcionalNinguno (usar ~/.pi/agent/sessions/)Directorio de almacenamiento de sesiones
Otras extensiones