Temas y colores de la terminal
zerocode incluye un conjunto de temas de color con nombre, permite que cada agente tenga su propio tema en los paneles Code y Chat, y adapta su salida de color a lo que el terminal puede renderizar.
Todas las configuraciones de tema residen en la configuración propia de zerocode, independientemente del daemon al que zerocode se conecte.
Elegir un tema
Abre el panel Config, cambia a la sección zerocode y selecciona la pestaña Theme. Navega con ↑/k y ↓/j; presiona Enter para aplicar. La elección surte efecto de inmediato y se guarda de forma persistente en la configuración de zerocode. La fila resaltada muestra una vista previa de la paleta del tema en línea, una franja de bloques de color para sus roles canvas, title, heading, body, warn y tool, de modo que puedas ver los colores antes de aplicar.
Temas disponibles
Un tema se crea directamente en zerocode porque no tiene entrada en el registro:
terminal: hereda los colores de tu propio terminal. Cada rol se deja con el valor predeterminado del terminal y la aplicación omite pintar un fondo, por lo que una paleta de shell personalizada se muestra sin alteraciones.
Las paletas de colores reales se generan en tiempo de compilación a partir del registro de temas del dashboard (web/src/contexts/themes.json), la única fuente de verdad que leen zerocode, el dashboard de React y estos docs. La lista siguiente se produce mediante cargo xtask mdbook themes y se incluye en tiempo de compilación. Nunca se confirma:
Oscuro: operator_dark, ayu_dark, catppuccin_mocha, cobalt2, code_red, default_dark, icy_blue, dracula, everforest_dark, flexoki_dark, gruvbox_dark, hacker_green, hazard, high_contrast_dark, kanagawa_dragon, kanagawa_wave, material_dark, monokai, night_owl, nord_dark, oled_black, one_dark, rose_pine, rose_pine_moon, solarized_dark, tokyo_night
Claro: operator_light, catppuccin_latte, default_light, everforest_light, flexoki_light, gruvbox_light, high_contrast_white, kanagawa_lotus, material_light, nord_light, one_light, rose_pine_dawn, solarized_light, tokyo_night_day
El tema predeterminado es terminal en macOS e icy_blue en todas las demás plataformas.
Si
[theme].name(o una anulación por agente más abajo) nombra un tema que esta compilación no tiene, un error tipográfico, o una configuración escrita por una compilación más reciente, zerocode recurre al tematerminalen lugar de negarse a iniciar.
Temas por agente (paneles de Código y Chat)
Un tema puede seguir al agente. Cuando el panel Code o Chat está enfocado en un agente que tiene una anulación, el tema de ese agente reemplaza al tema base mientras se muestra el panel; los demás paneles conservan el tema base. Esto facilita identificar de un vistazo con qué agente está trabajando.
Configura las anulaciones bajo [theme.agent_override.<alias>]:
Anulaciones de configuración desde la interfaz de usuario
En la sección zerocode del panel Config, abra la pestaña Agent Themes. Esta lista los agentes habilitados del daemon con la anulación actual de cada agente (o — si no hay ninguna). El pie de página muestra las teclas.
Entersobre un agente abre la lista de Theme en modo de asignación (tituladaTheme → <agent>); elija un tema y se asignará a ese agente.dborra la anulación del agente resaltado.
Las asignaciones y eliminaciones se aplican en vivo: el panel Code/Chat se vuelve a tematizar en el siguiente fotograma sin reiniciar zerocode, y se persisten en la configuración de zerocode. Una anulación que nombre un tema desconocido recurre al tema terminal, igual que la configuración global.
Profundidad de color del terminal
zerocode detecta cuánto color puede renderizar tu terminal y adapta su salida una sola vez, en el primer renderizado:
- Truecolor (24 bits) es el valor predeterminado para prácticamente todos los terminales. zerocode emite color de 24 bits, que los terminales modernos, y los multiplexores de terminal configurados para ello, renderizan directamente.
- xterm-256 se usa para Terminal.app de macOS, que carece de color de 24 bits (detectado mediante
TERM_PROGRAM=Apple_Terminal). iTerm2, kitty, WezTerm, Ghostty y otros terminales con truecolor no se ven afectados. - ANSI-16 se usa solo para una terminal con verdaderamente pocos colores:
TERMsin definir, odumb,ansi, o cualquier valor*-16color. Los colores con tema se convierten al más cercano de los 16 colores ANSI.
Cuando está activa una profundidad inferior a truecolor, todos los colores del tema (incluidas las muestras de vista previa) se ajustan al valor renderizable más cercano.
Forzando una profundidad
Establece ZEROCODE_COLOR para anular la detección:
| Valor | Profundidad |
|---|---|
truecolor, 24bit, 24 | Color verdadero de 24 bits (truecolor) |
256 | xterm-256 |
16, ansi | 16 colores ANSI |
sh
ZEROCODE_COLOR=256 zerocode
Cualquier valor no reconocido se ignora y se ejecuta la detección normal.
tmux: los colores se ven mal o deslavados
Si ejecutas zerocode dentro de tmux, comúnmente a través de SSH a una Raspberry Pi u otro host remoto, y la paleta se renderiza plana o casi monocromática, la causa es casi siempre que tmux no anuncia soporte de truecolor (RGB) para el terminal exterior. zerocode emite color de 24 bits, pero tmux solo lo reenvía a tu terminal cuando sabe que el terminal soporta RGB.
Indica a tmux que el cliente admite RGB añadiendo esto al archivo ~/.tmux.conf de la máquina remota:
set -as terminal-features ",*:RGB"
Luego reinicia el servidor de tmux para que el cambio surta efecto:
sh
tmux kill-server
Vuelva a adjuntar la sesión, y la salida truecolor de zerocode se renderizará correctamente.
Como alternativa que no requiere ningún cambio en tmux, fuerce una profundidad menor que no dependa del passthrough de truecolor:
sh
ZEROCODE_COLOR=256 zerocode