Configuración
Ajustes de VS Code
Configura Cortex en los Ajustes de VS Code (busca “Cortex”). Los ajustes viven bajo el espacio de nombres cortex.* — no son un config.json del proyecto.
| Ajuste | Por defecto | Descripción |
|---|---|---|
cortex.opencodeBinary | "opencode" | Ruta al binario de la CLI de OpenCode |
cortex.opencodePort | 4096 | Puerto preferido para opencode serve; si otro workspace lo usa, Cortex elige el siguiente libre |
cortex.agent | "build" | Agente primario de OpenCode por defecto (p. ej. build, plan) |
cortex.providerID | "opencode" | Espejo offline deprecado — el modelo por defecto es `model` en opencode.json |
cortex.modelID | "big-pickle" | Espejo offline deprecado — preferir config OpenCode / picker del chat |
cortex.modelMode | "auto" | Selección de modelo: auto / turbo / manual |
cortex.routing.useAllConnectedProviders | false | Si es true, Auto/Turbo puede usar cualquier proveedor conectado; si es false, solo el del modelo por defecto de OpenCode |
cortex.models.optimizeFor | "balance" | Enrutado Auto coste vs calidad: cost / balance / intelligence |
cortex.models.zenBillingEnabled | false | Desbloquea modelos Zen de pago en el selector (off por defecto — sin cargos sorpresa) |
cortex.models.byokEnabled | false | Desbloquea modelos BYOK (OpenAI, Anthropic, etc.) |
cortex.context.topK | 8 | Número de chunks de contexto local inyectados por prompt |
cortex.context.maxChars | 16000 | Máximo de caracteres de contexto recuperado por prompt |
cortex.context.embedWeight | 0.45 | Peso (0–1) de similitud embeddings vs coincidencia léxica al rankear contexto |
cortex.context.embeddings | "hash" | Modo de retrieval: hash = Rendimiento (rápido, offline); minilm = Calidad (MiniLM semántico). Calidad descarga un runtime nativo una vez en ~/.cache/cortex-minilm (no va en el VSIX); el envío se bloquea hasta estar listo (suele ser ≤~30s en el primer índice); los vectores viven en .cortex/index; arranques siguientes solo calientan el modelo; los edits re-embeben solo archivos cambiados. Onboarding/chat muestran aptitud de hardware (Calidad suma ~150 MB; concurrencia limitada en PCs justos) |
cortex.context.chunkMode | "symbols" | Modo de partición del índice: symbols (LSP) o lines |
cortex.context.include | [] | Globs de inclusión opcionales (relativos al workspace). Vacío = todos los indexables |
cortex.context.exclude | [] | Globs de exclusión extra además de gitignore |
cortex.context.extensionPriority | {".ts":1,".tsx":1,".js":0.8,".jsx":0.8,".py":0.9} | Multiplicadores de score por extensión para el ranking de retrieval (mayor = preferido) |
cortex.autocomplete.enabled | true | Autocompletado ghost vía un agente OpenCode rápido sin tools |
cortex.autocomplete.debounceMs | 350 | Debounce (ms) antes de pedir una sugerencia de autocompletado tras pausar la escritura |
cortex.locale | "en" | Idioma de la UI de Cortex (independiente del idioma de VS Code) |
cortex.chat.pinEditorTab | true | Fija la pestaña de chat de Cortex y la mantiene en primer lugar de su grupo |
cortex.chat.maxOpenTabs | 5 | Máx. pestañas de chat abiertas y restauradas al arrancar (0 = ilimitado) |
cortex.chat.maxHistorySessions | 100 | Máx. chats en Historial (más recientes primero; 0 = todos) |
cortex.ui.showHeaderVersion | true | Mostrar la versión (tenue) junto al título Cortex (apágalo en demos) |
cortex.ui.showReasoningSummaries | true | Mostrar bloques de thinking / resumen de reasoning en el timeline del chat |
cortex.ui.shellToolPartsExpanded | true | Expandir por defecto los bloques de salida shell/bash en el timeline |
cortex.ui.editToolPartsExpanded | true | Expandir por defecto las cards de edit/write/patch en el timeline |
cortex.permissions.autoAccept | false | Aceptar automáticamente los prompts de permiso de OpenCode con un allow puntual |
cortex.appearance.uiFont | "" | Familia CSS opcional para la UI del chat; vacío usa la fuente de UI de VS Code |
cortex.appearance.codeFont | "" | Familia CSS opcional para monoespaciado / código en el chat; vacío usa la fuente del editor |
cortex.notifications.agent | false | Mostrar una notificación de VS Code cuando el agente termina un turno |
cortex.notifications.permissions | false | Mostrar una notificación de VS Code cuando aparece un prompt de permiso |
cortex.notifications.errors | true | Mostrar una notificación de VS Code ante errores de chat |
cortex.sounds.agent | "none" | Sonido cuando el agente termina un turno (none o un preset Web Audio) |
cortex.sounds.permissions | "none" | Sonido cuando aparece un prompt de permiso |
cortex.sounds.errors | "none" | Sonido ante errores de chat |
cortex.theme.id | "follow" | Tema de color del chat: follow (tui.json de OpenCode), cortex, o un id de tema Desktop de OpenCode (catálogo GitHub + caché) |
cortex.theme.mode | "system" | Variante clara/oscura de los temas OpenCode; system sigue el color theme de VS Code |
cortex.theme.remoteRef | "dev" | Git ref en anomalyco/opencode para listar los temas Desktop oficiales |
cortex.policy.t0MaxChars | 2000 | Máximo de caracteres del Tier T0 (seguridad inmutable / neverDo / hooks) |
cortex.policy.t1MaxChars | 12000 | Máximo de caracteres del Tier T1 (reglas always-apply, AGENTS.md, user rules) |
cortex.policy.t2MaxChars | 8000 | Máximo de caracteres del Tier T2 (reglas por glob, skills, catálogo requestable) |
cortex.policy.includeCursorRules | true | Cargar .cursor/rules en el Policy Brain |
cortex.policy.includeCortexRules | true | Cargar .cortex/rules en el Policy Brain |
cortex.skills.autoInvoke | true | Autoinyectar cuerpos SKILL.md coincidentes con el turn |
cortex.skills.topK | 2 | Máx. skills inyectadas por completo por turn cuando auto-invoke está activo |
cortex.hooks.enabled | true | Ejecutar .cortex/hooks.json y el changelog gate integrado |
cortex.hooks.strict | false | Si es true, un hook prePrompt fallido deniega el turn |
Atajos de teclado
Atajos de VS Code (no OpenCode Desktop). Personalízalos en Atajos de teclado:
| Atajo | Acción |
|---|---|
Ctrl/Cmd+Alt+C | Abrir chat (panel de editor a la derecha) |
Ctrl+Alt+I / Cmd+Alt+Shift+I | Inline Edit |
Ctrl/Cmd+Alt+\ | Disparar autocompletado ghost |
Ctrl/Cmd+Alt+T | Enviar selección del terminal al chat |
Paleta de comandos
Todos los comandos de Cortex están en la Paleta de comandos de VS Code (Ctrl/Cmd+Shift+P). Busca “Cortex”:
| Comando | Descripción |
|---|---|
Cortex: Open Session | Abrir el panel de chat (grupo de editor derecho) |
Cortex: New Session | Iniciar una nueva sesión de chat |
Cortex: Stop Generation | Abortar el turno actual del agente |
Cortex: Send Terminal Selection to Session | Enviar el texto seleccionado del terminal al chat |
Cortex: Reindex Workspace | Reconstruir el índice local del codebase |
Cortex: Trigger Inline Completion | Pedir ahora una sugerencia ghost-text |
Cortex: Inline Edit (Ctrl+Alt+I) | Edición inline de la selección / archivo actual |
Cortex: Connect | Abrir Providers para conectar cuentas OpenCode |
Cortex: Connect / Models | Abrir Models (modelo por defecto, visibilidad, favoritos) |
Cortex: Remember preference | Guardar una preferencia en la memoria del Policy Brain |
Cortex: Open rules / memory | Abrir reglas y archivos de memoria |
Cortex: Edit user rules | Editar reglas de usuario |
Cortex: Show Policy Inspector | Inspeccionar los tiers activos del Policy Brain en este turno |
Cortex: Run Diagnostics | Ejecutar diagnósticos de conectividad y setup |
Cortex: Show Log | Abrir el canal de salida de Cortex |
Cortex: Dump last retrieval | Escribir el dump del último retrieval de contexto para diagnóstico |
Cortex: Report Issue / Feedback | Abrir el flujo de feedback / reporte de issues |
Modelos vía OpenCode
Cortex usa OpenCode como proveedor agentico. Eliges entre los modelos disponibles en tu suscripción de OpenCode (Zen free, Zen de pago u OpenCode Go). La facturación de OpenCode se gestiona fuera de Cortex y no tiene relación con la licencia de Cortex.
- Servers — En Settings → Servers gestiona la conexión OpenCode local y servidores HTTP remotos (health, alta/edición/borrado, default/activo) — misma idea que OpenCode Desktop.
- Providers — Abre Providers (Cortex: Connect) para conectar Zen, Go, Anthropic, Copilot, endpoints custom OpenAI-compatible y más — estilo catálogo como OpenCode Desktop. El auth sigue en el auth.json local de OpenCode.
- OpenCode Go — Tras suscribirte a Go en opencode.ai, Cortex lo detecta al arrancar / Recheck y cambia (reutiliza tu API key). También puedes Activar OpenCode Go en Models.
- Zen de pago / BYOK — Zen free sigue desbloqueado. Zen de pago y BYOK requieren opt-in en Models (o cortex.models.zenBillingEnabled / cortex.models.byokEnabled).
- Selector de modelo — Elige cualquier modelo disponible en tus proveedores OpenCode conectados. Auto/Turbo respetan cortex.models.optimizeFor (cost / balance / intelligence). Si el catálogo lo expone, elige una variante (Default / Low / Medium / High).
- Temas — Los temas del chat siguen OpenCode Desktop: catálogo oficial de GitHub (caché), temas custom en ~/.config/opencode/themes, o follow tui.json. Configura cortex.theme.id / mode / remoteRef o elige tema en Models.
- Notificaciones y sonidos — Notificaciones opcionales de VS Code y presets Web Audio cuando el agente termina, aparece un permiso o hay un error (cortex.notifications.* / cortex.sounds.*). permissions.autoAccept replica el auto-accept de Desktop.
- Composer + — El menú + del composer (paridad OpenCode Desktop): imágenes y archivos (Ctrl/Cmd+U), Commands (/), Context (@), Shell (!). Los adjuntos se filtran por las modalidades de entrada del modelo activo.
- Valores por defecto — El modelo por defecto vive en opencode.json (`model`). cortex.modelMode (Auto/Turbo/Manual) en VS Code; visibilidad/favoritos en Models
- Sin carpeta abierta — Puedes chatear en una ventana vacía; Cortex usa tu directorio home como cwd de OpenCode. Abre una carpeta de proyecto para indexar el código y los planes del proyecto.
Las keys viven en el almacén local de OpenCode (~/.local/share/opencode/auth.json; en Windows: %USERPROFILE%\.local\share\opencode\auth.json). Cortex lee y escribe ahí — no duplica credenciales. OpenCode también puede usar ~/.config/opencode/opencode.json para permisos de agente; eso es aparte de los ajustes de Cortex en VS Code.
Fuentes de contexto
Cortex recoge contexto automáticamente de:
- Policy Brain (T0–T2) — reglas en capas: user rules, AGENTS.md, .cursor/rules, .cortex/rules, skills, neverDo — también Paleta: Remember preference, Open rules / memory, Edit user rules, Show Policy Inspector
- Archivo activo — el archivo que estás editando (se adjunta en cada turno)
- Selección — texto resaltado
- Búsqueda léxica — coincidencias por palabras clave en el proyecto
- Embeddings — Rendimiento (hash) por defecto; Calidad (MiniLM) desde la barra del chat — el envío se desbloquea cuando el modelo local está listo (sin fallback silencioso a Rendimiento mientras carga)
- Memory — facts, preferencias y neverDo en .cortex/memory.json
- @ mentions — archivos, carpetas, terminales y agentes desde el chat (también vía composer + → Context)
- Hooks — .cortex/hooks.json prePrompt/postTurn y changelog gate integrado