Utilidad no oficial para la bandeja de Windows y CLI que mantiene saludable la aplicación de escritorio OpenAI Codex: repara inicios fallidos, elimina restos colgados y mantiene de forma segura la base de datos local de registros SQLite. Totalmente local, sin telemetría.
Note
La arquitectura legible por máquina, los puntos de entrada CLI y las reglas de seguridad están indexadas para agentes de IA en llms.txt.
Las notas de auditoría local como BEFUNDE.md y los archivos de estado temporales TASKPLAN*.md se mantienen intencionalmente fuera de Git y no forman parte del contrato público de lanzamiento.
Important
Esta es una herramienta comunitaria independiente. No ha sido creada por OpenAI, ni está afiliada, respaldada ni patrocinada por OpenAI. "OpenAI" y "Codex" son marcas comerciales de OpenAI y se utilizan aquí únicamente para describir la compatibilidad.
- 1. Por qué y planteamiento del problema
- 2. Arquitectura y flujo del sistema
- 3. Secuencia completa del ciclo de vida
- 4. Capacidades clave e invariantes de seguridad
- 5. Perfiles destinatarios y detectabilidad
- 6. Matriz comparativa y alternativas
- 7. Herramientas hermanas y ecosistema asociado
- 8. Características
- 9. Captura de pantalla
- 10. Requisitos
- 11. Instalación y ejecución
- 12. Uso de la CLI
- 13. Configuración
- 14. Modelo de seguridad e invariantes
- 15. Materiales de Microsoft Store
- 16. Licencias de terceros y transparencia
- 17. Desarrollo y licencia
- 18. Aviso legal (§ 521 BGB) y exención de responsabilidad
En Windows, al cerrar la ventana de escritorio de Codex puede quedar rezagado un proceso principal colgado. Ese proceso residual puede retener el bloqueo singleton de la aplicación, haciendo que el siguiente inicio aparentemente no haga nada. CareCenter elimina ese primer obstáculo de forma segura: solo interviene ante procesos fantasma inactivos, archivos de bloqueo huérfanos y rutas de mantenimiento solicitadas explícitamente.
flowchart TD
subgraph UI["Interfaces de usuario y CLI"]
TRAY["Bandeja del sistema PySide6\n(start.bat / debug.bat)"]
WIN["Ventana de estado de bandeja\n(Progreso en vivo y controles)"]
CLI["Enrutador de comandos CLI\n(codex-logwartung)"]
end
subgraph DAEMON["Motor de vigilancia y programador"]
WATCH["Vigilante en segundo plano\n(Bucle de evaluación de 60s)"]
SCHED["Motor en modo bucle\n(Intervalos de 2h a 24h)"]
TH_HYG["Higiene de buzón de hilos\n(Marcar leído / Archivar)"]
CFG_AUD["Auditoría de configuración\n(MCP / Plugins / Hilos vacíos)"]
end
subgraph GUARDS["Inspección de procesos y protecciones"]
SCAN["Escáner de árbol de procesos\n(Codex.exe y ChatGPT.exe)"]
GHOST["Segador de fantasmas fail-closed\n(Restos de escritorio inactivos)"]
MCP_REAP["Segador de MCP en runtime\n(Árboles de lanzadores duplicados)"]
ORPHAN["Segador de huérfanos en runtime\n(Padre muerto + 30m de gracia)"]
SAFE_START["Coordinador Safe Start\n(Mitigación de ráfagas y tormentas)"]
end
subgraph STORAGE["Almacén de registros e hilos SQLite"]
DB["Base de datos de estado Codex\n(state_5.sqlite)"]
BAK["Copia de seguridad pre-mutación\n(Instantánea DB + WAL + SHM)"]
CHECK["Verificación de integridad\n(PRAGMA integrity_check)"]
VAC["Optimización de base de datos\n(Punto de control WAL y VACUUM)"]
end
subgraph STORE_OS["Puente de Windows OS y Microsoft Store"]
APPX["Resolutor AppX de Microsoft Store\n(Reinicio y PDP de reinstalación)"]
PROV["Procedencia de compilación y manifiesto\n(AppxManifest.xml y store_assets/)"]
end
TRAY --> WATCH
TRAY --> WIN
CLI --> SCHED
WATCH --> SCAN
SCAN -->|Bloqueador detectado| GHOST
SCAN -->|Generación de lanzador duplicada| MCP_REAP
SCAN -->|Padre muerto + inactividad| ORPHAN
SCHED -->|Disparador Fast / Safe| DB
DB --> BAK --> CHECK --> VAC
DAEMON --> TH_HYG
DAEMON --> CFG_AUD
TRAY --> SAFE_START
CLI --> APPX
+==================================================================================================+
| CARECENTER FOR CODEX — TOPOLOGÍA DE CUATRO VISTAS |
+==================================================================================================+
| |
| [VISTA 1: CAPA DE USUARIO, BANDEJA, CLI Y PRESENTACIÓN] |
| • Bandeja del sistema PySide6 (start.bat / debug.bat) con workers QThread asíncronos reactivos |
| • Interfaz multilingüe (ES / EN / DE): Catálogo Tier-2 completo con 322 claves traducidas |
| • Ventana de estado en vivo con progreso en tiempo real, registros y controles de cancelación |
| • Enrutador CLI sin privilegios (`codex-logwartung status`, `doctor`, `run-safe`, `run-fast`) |
| • Suite de iconos multirresolución: ICO Windows 7 capas (16px..256px), master 1024px, PWA/Store|
| |
+--------------------------------------------------------------------------------------------------+
| |
| [VISTA 2: CAPA DE VIGILANTE, PROGRAMADOR Y ORQUESTACIÓN] |
| • Vigilante en segundo plano: bucle no bloqueante de 60s para detectar restos y huérfanos |
| • Programador en bucle: intervalos configurables (2h..24h) con fallback automático Fast/Safe |
| • Higiene de buzón de hilos: marcado/archivo por antigüedad; gracia de 300s para hilos vacíos |
| • Auditor de configuración: evaluación de 3 estados (off/notify/auto) para MCPs y plugins |
| • Coordinador Safe Start: pausa automatizaciones, amortigua tormentas y escalona reinicios (60s)|
| • Puente Zombie Killer Tray: integración de subprocesos para monitoreo de demonios, PID y logs |
| |
+--------------------------------------------------------------------------------------------------+
| |
| [VISTA 3: CAPA DE PROTECCIONES DE SEGURIDAD Y AISLAMIENTO DE PROCESOS] |
| • Escáner de procesos: detección precisa de árboles Store para `Codex.exe` y `ChatGPT.exe` |
| • Segador de fantasmas fail-closed: resuelve bloqueos singleton sin tocar trabajo activo |
| • Segador de MCP en runtime: descarta árboles de lanzadores obsoletos y preserva la cohorte viva|
| • Segador de procesos huérfanos: exige padre muerto, gracia de 30m y doble muestreo de CPU |
| • Inmunidad de sesión CLI (INV-SESSIM-04): CLI de Node y ejecuciones `codex exec` protegidas |
| • Límite sin privilegios (INV-NOELEV-02): modo usuario estándar (RunAsInvoker), sin avisos UAC |
| |
+--------------------------------------------------------------------------------------------------+
| |
| [VISTA 4: CAPA DE ALMACENAMIENTO E INTEGRIDAD] |
| • Base de datos de estado SQLite: `state_5.sqlite` con historial de conversaciones y ejecución |
| • Instantáneas pre-mutación (INV-ATOMIC-05): respaldo atómico de ficheros de diario DB+WAL+SHM |
| • Puerta criptográfica (INV-CRYPTO-06): validación obligatoria con `PRAGMA integrity_check` |
| • Optimización de base de datos: punto de control WAL limpio y compactación VACUUM |
| • Sincronización de estado JSON: gestión transaccional de identificadores no leídos en estado |
| |
+==================================================================================================+
| [PERÍMETRO DE SEGURIDAD LOCAL Y GOBERNANZA] |
| • INV-LOCAL-01: 100% Zero-Egress ejecución local • INV-SLA-10: 487+ tests verdes y 48h SLA|
| • Acompañante de texto SBOM Nivel 1 (2026-10-08) • Aviso legal § 521 BGB |
+==================================================================================================+
sequenceDiagram
autonumber
actor User as Usuario / Programador / CLI
participant Tray as Bandeja CareCenter / Motor
participant Scanner as Escáner de árbol de procesos
participant Guard as Guardián de seguridad y actividad
participant Codex as Codex Desktop (App de Store)
participant DB as Almacén SQLite (state_5.sqlite)
participant SafeStart as Puente Safe Start
User->>Tray: Iniciar mantenimiento (Fast / Safe / Bucle programado)
Tray->>Scanner: Inspeccionar árbol de procesos y handles activos
Scanner-->>Tray: Entrega árboles en ejecución (Codex / CLI / MCP)
alt Modo Safe: fase de espera
Tray->>Guard: Verificar inactividad de CPU en el árbol de procesos
Guard-->>Tray: Proceso ocupado (esperar o cancelar por usuario)
Note over Tray,Guard: El modo Safe espera hasta que todo el árbol esté inactivo
end
Tray->>SafeStart: Pausar automatizaciones activas de Codex (protección contra tormentas)
Tray->>Codex: Solicitar cierre limpio (hasta 3 reintentos)
Codex-->>Tray: Cierre confirmado (todas las ventanas y app-server cerrados)
rect rgb(240, 248, 255)
Note over Tray,DB: Transacción de mantenimiento aislada
Tray->>DB: Crear copia de respaldo instantánea (incluyendo WAL y SHM)
Tray->>DB: Ejecutar PRAGMA integrity_check en la copia de respaldo
DB-->>Tray: Integridad verificada (OK)
Tray->>DB: Ejecutar punto de control WAL y optimización VACUUM
DB-->>Tray: Base de datos comprimida y optimizada
end
rect rgb(255, 250, 240)
Note over Tray,Codex: Higiene de buzón de hilos y auditoría de configuración
Tray->>DB: Aplicar reglas basadas en antigüedad (marcar leído / archivar)
Tray->>DB: Limpiar hilos vacíos (mínimo 300s de gracia de inicialización)
Tray->>DB: Limpiar entradas MCP duplicadas y plugins incompatibles
end
Tray->>Codex: Reiniciar sesión limpia verificada de Codex
Codex-->>Tray: Ventana principal de Codex confirmada como activa
Tray->>SafeStart: Reactivación escalonada de automatizaciones pausadas (ventanas de 60s)
Tray-->>User: Ciclo de mantenimiento completado (progreso y registro actualizados)
| Invariante / Capacidad clave | Garantía arquitectónica | Mecanismo de aplicación | Límite de seguridad |
|---|---|---|---|
| 1. INV-LOCAL-01 (100% Local-First) | Sin telemetría externa, sin cargas en segundo plano, sin dependencia de la nube | Operación completamente local; todas las rutas residen en el sistema de archivos local | Tráfico de red saliente estrictamente bloqueado; verificación manual (--live-pages) aislada |
| 2. INV-NOELEV-02 (Modo usuario sin privilegios) | La operación estándar no requiere privilegios de administrador | Permisos de usuario no elevados para vigilante, bandeja y mantenimiento de base de datos | Reparaciones administrativas (reinicio AppX de Store) requieren confirmación explícita |
| 3. INV-ISOLAT-03 (Protección de procesos fail-closed) | Los procesos activos y el trabajo productivo nunca se interrumpen | Medición de delta de CPU en varias etapas y verificación de PID padre | Cualquier actividad de CPU detectada aborta inmediatamente los intentos de terminación |
| 4. INV-SESSIM-04 (Inmunidad de sesión CLI) | La CLI de Codex basada en Node y las ejecuciones codex exec están protegidas |
Filtro explícito de CLI y verificación de marcas de tiempo de despliegue | La ejecución activa de CLI bloquea globalmente las escrituras en el almacén de hilos |
| 5. INV-ATOMIC-05 (Instantánea de BD previa a mutación) | La base de datos SQLite nunca se modifica sin un respaldo verificado | Instantánea completa del archivo de base de datos junto con diarios WAL y SHM | Cualquier fallo de respaldo detiene inmediatamente el mantenimiento antes de VACUUM |
| 6. INV-CRYPTO-06 (Verificación criptográfica de integridad) | La corrupción de la base de datos se detecta antes de las operaciones de escritura | Ejecución de PRAGMA integrity_check directamente sobre la copia de respaldo |
Las comprobaciones de integridad fallidas bloquean todas las escrituras posteriores |
| 7. INV-GRACE-07 (Períodos de gracia obligatorios) | Los procesos nuevos y los hilos vacíos reciben tiempo garantizado para inicializarse | Gracia fija de 30 minutos para huérfanos; mínimo de 300s para hilos vacíos | Las fases de inicialización temprana nunca se malinterpretan como restos colgados |
| 8. INV-STAGGER-08 (Reactivación escalonada) | La recuperación del sistema no satura Codex con inicios simultáneos de automatizaciones | Retraso configurable (predeterminado: 60s) mediante el coordinador Safe Start | Previene exceder límites de tasa de API y picos locales de carga de CPU |
| 9. INV-NONDEST-09 (Corrección de AppX no destructiva) | La reparación de paquetes de Microsoft Store protege los datos personales del usuario | Escalación acotada: limpieza sin admin -> sugerencia con admin -> página de reinstalación | Los reinicios destructivos automáticos o la eliminación de paquetes están prohibidos |
| 10. INV-SLA-10 (Paridad estricta de verificación) | Suite de pruebas 100% verde, linters limpios y contratos de metadatos sincrónicos | Matriz de CI automatizada, suite pytest (487+ superadas | 100% verde), Ruff y compileall |
CareCenter for Codex está diseñado para cuatro grupos principales de usuarios en el ecosistema de desarrollo de escritorio de Windows:
| Perfil destinatario / Persona | Perfil e intención | Problema principal | Solución CareCenter y flujos |
|---|---|---|---|
| 1. Desarrolladores individuales e ingenieros de IA | Usuarios avanzados que realizan ciclos iterativos de desarrollo con OpenAI Codex Desktop en Windows 10/11. Equipos multilingües (alemán, inglés, español). | La aplicación no inicia silenciosamente tras cerrar la ventana debido a bloqueos singleton o procesos fantasma colgados. | Reparación en bandeja con 1 clic, limpieza automática de procesos fantasma (Codex.exe / ChatGPT.exe), interfaz multilingüe Tier-2 y reinicio seguro sin perder contexto. |
| 2. Integradores de DevOps y herramientas | Ingenieros que automatizan entornos de desarrollo, ejecutores de CI y scripts de mantenimiento de estaciones de trabajo. | La finalización manual interrumpe sesiones activas de CLI; los avisos de UAC bloquean tareas automatizadas en segundo plano. | CLI en modo usuario sin privilegios (codex-logwartung), protección fail-closed de CLI (INV-SESSIM-04) y bucle de demonio consistente. |
| 3. Defensores de privacidad y Local-First | Desarrolladores conscientes de la seguridad que exigen control total de sus datos y límites estrictos de ejecución local. | Limpiadores de terceros con telemetría, controladores invasivos y dependencias opacas en la nube. | Arquitectura estricta Zero-Egress (INV-LOCAL-01), sin tráfico de red, con VACUUM y puntos de control WAL de SQLite transparentes. |
| 4. Soporte de TI y administradores de sistemas | Profesionales de TI que administran estaciones de trabajo de desarrollo con aplicaciones de Microsoft Store en Windows. | Estados de paquetes AppX dañados, saturación del almacén de hilos (state_5.sqlite) y procesos huérfanos en segundo plano. |
Escalación acotada de reparación de Store, instantáneas de base de datos pre-mutación (INV-ATOMIC-05) y comprobantes de inicio auditables. |
- Español:
reparación openai codex windows,codex desktop no inicia,limpiar bloqueo singleton codex,terminar procesos colgados codex,mantenimiento sqlite codex vacuum,utilidad bandeja pyside6,guardián procesos segundo plano codex,utilidad local sin telemetría - Inglés:
openai codex repair windows,codex desktop failed to start,codex singleton lock cleanup,kill hung codex process,codex sqlite vacuum maintenance,pyside6 tray developer tools,codex desktop background reaper,local-first zero-telemetry tray - Alemán:
OpenAI Codex Reparatur Windows,Codex Desktop startet nicht,Codex Singleton Lock bereinigen,hängende Codex Prozesse beenden,Codex SQLite Datenbank Wartung,PySide6 System Tray Werkzeug,Codex Hintergrundprozess Wächter,Lokal-Erstmals Desktop Werkzeug
La siguiente matriz compara CareCenter for Codex con otros enfoques operativos en 10 dimensiones arquitectónicas y funcionales:
| Función y dimensión | CareCenter for Codex | Administrador de tareas de Windows | Scripts ad-hoc (Batch/PS) | Limpiadores genéricos (CCleaner) | Reinstalación de Codex |
|---|---|---|---|---|---|
| 1. 100% Local-First y Zero-Egress | Garantía total (INV-LOCAL-01, sin telemetría) |
Herramienta offline, sin red | Dependiente del script, casi siempre local | ❌ Telemetría y nube integradas | Requiere descarga desde la nube |
2. Sin privilegios (RunAsInvoker) |
Espacio de usuario puro (INV-NOELEV-02, sin UAC) |
❌ Requiere privilegios de administrador/UAC | ❌ Requiere permisos de admin o Store | ||
| 3. Limpieza de procesos fantasma inactivos | Selectiva y protegida (INV-ISOLAT-03) |
❌ Terminación manual indiscriminada | ❌ taskkill /F a ciegas interrumpe trabajo |
❌ Ignora estados de bloqueo | ❌ El proceso debe cerrarse primero |
| 4. Inmunidad de sesión CLI y de agentes | Garantizada (INV-SESSIM-04, CLI protegida) |
❌ Cierra procesos secundarios a ciegas | ❌ Cierra todos los procesos del mismo nombre | ❌ No distingue árboles de CLI/Node | ❌ Interrumpe todas las tareas activas |
| 5. Mantenimiento atómico de base de datos SQLite | Copia completa + integridad WAL (INV-ATOMIC-05) |
❌ Sin relación con bases de datos | ❌ Scripting complejo y propenso a errores | ❌ Borrado ciego de archivos (pérdida de datos) | ❌ Sobrescribe o borra la BD de estado |
| 6. Comprobación criptográfica de integridad | PRAGMA integrity_check (INV-CRYPTO-06) |
❌ Ninguna | ❌ Ninguna | ❌ Ninguna | ❌ Ninguna |
| 7. Fallback Safe Start y control de inicio | Integrado (safe-start-for-codex) |
❌ Ninguno | ❌ Ninguno | ❌ Ninguno | ❌ Ninguno |
| 8. Interfaz asíncrona de bandeja en PySide6 | Arquitectura QThread reactiva | Vista básica del Administrador de tareas | ❌ Solo consola / headless | Interfaz pesada propietaria | Interfaz de Microsoft Store |
| 9. Ruta de reparación AppX de MS Store | Escalación acotada y diagnóstico | Solo finalizar / restablecer | Comandos manuales de PowerShell AppX | ❌ No compatible | Reinstalación completa desde Store |
| 10. SLA de seguridad y pruebas de contrato | SLA de 48h y suite pytest 487+ (100% verde) | No aplicable | ❌ Sin arnés de pruebas | ❌ Código cerrado propietario | Binario de código cerrado |
| Herramienta hermana | Organización | Rol y función | Integración con CareCenter |
|---|---|---|---|
| safe-start-for-codex | dev-bricks | Control de inicio, mitigación de ráfagas y pausa selectiva de automatizaciones | Dependencia central; coordina tormentas de inicio y reactivación escalonada |
| MethodenAnalyser | dev-bricks | Análisis estático AST, extracción de clases/métodos y complejidad de código | Verifica salud de código, alcance de refactorizaciones y estructura modular |
| companion-for-agy | ellmos-ai | Puente ConPTY de Windows, demonio pseudoterminal y supervisión de sesiones | Comparte invariantes de aislamiento y protege tareas en segundo plano de agentes |
| lock-master | dev-bricks | Mecanismos de bloqueo multiagente, cachés de bloqueo y reserva de archivos | Garantiza acceso sin colisiones entre agentes autónomos concurrentes |
| bach | ellmos-ai | Orquestador de arquitectura mental y motor de descomposición de tareas | Coordina flujos de trabajo multiagente complejos y tareas de flotas |
| usmc | ellmos-ai | Mando y control unificado de misiones y panel de operaciones | Agrega estados de sistema, métricas operativas y alertas |
| clutch | ellmos-ai | Gestor de hooks de herramientas, hooks de Git y control semántico de ejecución | Administra hooks de desarrollo y verificaciones de gobernanza pre-commit |
| open-compute | ellmos-ai | Agente autónomo de uso de computadora y ejecutor multiplataforma de SO | Se apoya en entornos de procesos limpios asegurados por CareCenter |
| system-auditor | ellmos-ai | Motor de diagnóstico multihost y comprobador de estado de hosts | Monitorea entornos globales del sistema, higiene de archivos y procesos |
| CloudLockFixer | file-bricks | Desbloqueador de sincronización en la nube y gestor de copias en conflicto | Resuelve bloqueos de sincronización en la nube sin pérdida de datos |
| SoftwareCenter | file-bricks | Catálogo central de software PySide6 y administración de escritorio | Organiza e inicia utilidades de escritorio, incluyendo CareCenter y Safe Start |
| DokuZen | doc-bricks | Procesamiento documental, OCR, redacción automática e higiene de PDFs | Complementa flujos locales con seguridad documental sobria y sin red |
Estas son utilidades independientes; CareCenter permanece enfocado en el mantenimiento de la aplicación de escritorio de Codex.
- COMA permite coordinar tareas de agentes mediante archivos locales, inicio de procesos y consulta de estado.
- agent-ops-stack es una plantilla de obtención basada en manifiestos Git para módulos CLI locales de agentes; su configuración se describe en las instrucciones de cada módulo.
- Vigilante en segundo plano: comprueba cada 60 segundos si existen bloqueadores de inicio antiguos, huérfanos desprendidos en runtime o generaciones duplicadas de procesos MCP en tiempo de ejecución. La limpieza de huérfanos exige un padre muerto, un período de gracia fijo de 30 minutos y dos muestras de CPU. Se reconocen nodos MCP permitidos y servidores de lenguaje habituales. Las ejecuciones desprendidas de
codex execpermanecen protegidas mientras su tiempo de CPU siga aumentando, su despliegue de sesión tenga menos de dos minutos o su archivo de salida--output-last-messageaún esté pendiente. Cada terminación exitosa cierra el árbol de procesos completo (taskkill /T) y registra el subproceso, la última identidad conocida del padre y el criterio enapp.log. Un padre vivo indica una cohorte activa y nunca se finaliza. - Selector de idioma en bandeja y localización Tier-2 al español: En la sección de configuración se puede alternar entre español, inglés y alemán. El catálogo en español Tier-2 (
es) cubre las 322 claves de interfaz con una cadena de reserva de 4 etapas (idioma activo -> en -> de -> clave). La preferencia se guarda enconfig.jsony la interfaz de la bandeja se actualiza de inmediato sin reiniciar. La paridad de traducción se mantiene verificada mediante la CLImanage_translations.py. - Suite de iconos y recursos multirresolución: Icono auténtico de Windows de 7 capas ICO (16x16 hasta 256x256 @ 32bpp RGBA), master PNG de 1024x1024, suite móvil PWA (
icon-192.png,icon-512.png, iconos enmascarables) y mosaicos de Microsoft Store, cargados limpiamente mediante el componenteapp_icon_loader.pycon fallback seguro para entornos headless. - Puente para demonio Zombie Killer Tray: Integrado con
zombie-killer-traypara la supervisión demonizada de procesos en segundo plano, protección contra PIDs no positivos y registro de eventos sin requerir permisos de administrador. - Control de automatizaciones desde la bandeja: apagar todas las automatizaciones de Codex activas, reactivar únicamente las desactivadas por CCC o encenderlas de inmediato o de manera escalonada. El intervalo es configurable mediante
automation_stagger_delay_seconds(predeterminado: 60 segundos). - Higiene del buzón de hilos: marcar todos como leídos, marcar hilos no leídos con más de X días de antigüedad y archivar hilos automáticamente tras un período configurable por separado. La autocorrección de hilos vacíos espera al menos 300 segundos para que las nuevas sesiones CLI/escritorio puedan completar su primera escritura. Las mutaciones se bloquean si hay actividad de la app de escritorio o de la CLI npm de Codex, se vuelven a comprobar antes del respaldo/traslado y solo se aplican con copias de seguridad, escritura atómica de estado y archivado transaccional.
- La limpieza de auditoría ofrece tres modos independientes
off/notify/autopara entradas duplicadas de configuración MCP, plugins inutilizables en Windows e hilos vacíos. La auditoría manual ejecuta adicionalmente el segador conservador de MCP en runtime, incluso si el renderizador de escritorio está en ejecución; las modificaciones de configuración e hilos se posponen hasta que Codex se cierre por completo. - Modo en bucle: selección entre 2, 3, 5, 7, 10, 12 o 24 horas. Cada ciclo periódico se inicia con mantenimiento rápido (Fast) y reintenta los cierres fallidos de Codex hasta 3 veces por defecto. Si el cierre sigue fallando, el modo Safe pasa a ser un intento de recuperación extendido y el contador del bucle vuelve a empezar; si Safe concluye con éxito antes de agotarse ese tiempo, el contador se reinicia a partir del éxito verificado con reinicio de Codex. Si el contador vence mientras Safe continúa esperando, Safe se detiene y comienza el siguiente ciclo Fast programado. Las automatizaciones se pausan únicamente tras un mantenimiento exitoso y solo se reanudan en ventanas escalonadas de 60 segundos.
- Inicios directos desde la bandeja: "Iniciar Codex seguro" ejecuta Safe Start for Codex en su propia bandeja y adopta su
config.json; si falta dicha configuración, CareCenter aplica un intervalo de 1 minuto para ese inicio. Si Safe Start ya está en ejecución, no se genera un segundo proceso. "Iniciar Codex" arranca Codex normalmente sin el control de Safe Start; si Safe Start está activo, CareCenter solo reanuda las automatizaciones pausadas por él y no abre otra ventana de Codex. - Acción de un solo clic "Reparar Codex": inicia una escalación acotada que se detiene tan pronto como Codex vuelve a iniciar. En primer lugar, se ejecuta una reparación sin privilegios de administrador; el reinicio con administrador, la reinstalación desde Store o el reinicio del equipo solo se sugieren en caso estrictamente necesario.
- Compatibilidad moderna con procesos de Microsoft Store: Reconoce tanto árboles Electron clásicos con
Codex.execomo árboles modernos de Store denominadosChatGPT.exejunto a su servidor de aplicaciones integrado, sin confundir CareCenter con la propia aplicación Codex. - Dos modalidades de mantenimiento:
- Safe espera a que todo el árbol de procesos de Codex esté inactivo, permite cancelarse en cualquier momento durante la espera, cierra Codex limpiamente, ejecuta el mantenimiento y lo reinicia después.
- Fast cierra Codex de inmediato y arranca el mantenimiento a continuación.
- Herramientas de Store: reparan rutas de actualización atascadas en Microsoft Store y abren la página oficial de la tienda para una reinstalación limpia en caso necesario.
- Mantenimiento conservador de bases de datos: copia de respaldo completa con WAL/SHM, comprobación de integridad en el respaldo, punto de control WAL,
PRAGMA optimize,VACUUMy retención acotada de copias de seguridad. - Ventana de estado con barra de progreso, tooltip dinámico en la bandeja y registros de auditoría persistentes.
- Safe Start for Codex se distribuye como dependencia integrada y puede instalarse o actualizarse desde la ventana de CareCenter, desde la bandeja o mediante la CLI. CareCenter lo utiliza para absorber ráfagas de lanzamiento, tormentas de inicio y avisos de recuperación.
La ventana de estado de la bandeja muestra el estado operativo actual, contador de restos eliminados, progreso, controles de mantenimiento con cancelación en modo Safe, modo bucle, acciones de Store, acciones de Safe Start, control de automatizaciones y ajustes de configuración.
Para regenerar la captura de pantalla directamente desde la ventana PySide6 real:
$env:PYTHONPATH="src"
python -m codex_logdatenbank_wartung.cli store-screenshot- Windows 10 o Windows 11
- Python 3.12+ al ejecutar desde el código fuente
- PySide6 para la interfaz de bandeja
Las versiones compiladas en archivo EXE independiente no requieren una instalación separada de Python.
Desde el código fuente:
$env:PYTHONPATH="$PWD\src"
pip install -r requirements.txt
python -m codex_logdatenbank_wartung.cli status
python -m codex_logdatenbank_wartung.cli trayPara el inicio habitual de la bandeja desde el repositorio se utiliza start.bat. Este script inicia la aplicación sin ventana mediante pythonw.exe y registra posibles errores de inicio en %LOCALAPPDATA%\CareCenterForCodex\logs\app.log. Para tareas de diagnóstico con consola visible está disponible debug.bat.
Compilar un ejecutable EXE independiente:
build_exe.batPara una compilación controlada fuera de producción, redefina ambas rutas locales de salida:
$env:CARECENTER_DIST_DIR = "C:\_Local_DEV\codex_build\artifacts\carecenter"
$env:CARECENTER_BUILD_ROOT = "C:\_Local_DEV\codex_build\work\carecenter"
build_exe.batEl proceso de compilación rechaza cambios rastreados que no hayan sido confirmados en Git. Integra en el binario EXE la versión del proyecto, el commit de Git y la fecha de compilación en UTC, generando a su lado CareCenterForCodex.provenance.json con el tamaño y la suma SHA-256 del artefacto. Los comandos status, doctor y el registro de arranque de la bandeja informan de la identidad integrada en la compilación.
Por defecto, la compilación utiliza la fuente pública de Safe Start en GitHub fijada a un commit exacto en pyproject.toml. De esta manera se preserva la reproducibilidad sin incrustar inadvertidamente un directorio de trabajo local con modificaciones no comprometidas. Para utilizar intencionadamente una copia local de Safe Start:
$env:CARECENTER_SAFE_START_SOURCE = "C:\ruta\a\REL-PUB_safe-start-for-codex"
build_exe.batEl mismo patrón se aplica a la integración opcional de zombie-killer-tray (limpieza conservadora de procesos huérfanos MCP y servidores de lenguaje, ejecutado como subproceso propio mediante zombie-killer-watch): fijada a un commit exacto por defecto, anulable para un clon local mediante $env:CARECENTER_ZOMBIE_KILLER_SOURCE.
python -m codex_logdatenbank_wartung.cli doctor
python -m codex_logdatenbank_wartung.cli repair --dry-run
python -m codex_logdatenbank_wartung.cli repair --execute
python -m codex_logdatenbank_wartung.cli dry-run
python -m codex_logdatenbank_wartung.cli maintain --execute
python -m codex_logdatenbank_wartung.cli auto-maintain --mode safe --execute
python -m codex_logdatenbank_wartung.cli fast-loop-cycle --execute
python -m codex_logdatenbank_wartung.cli mark-runs-read --dry-run
python -m codex_logdatenbank_wartung.cli mark-runs-read --older-than-days 2
python -m codex_logdatenbank_wartung.cli mark-runs-read --older-than-days 2 --archive-older-than-days 10
python -m codex_logdatenbank_wartung.cli startup-receipt C:\ruta\rollout.jsonl --boot-file GPT=C:\ruta\GPT.md --format json
python -m codex_logdatenbank_wartung.cli store-repair --level repair --execute
python -m codex_logdatenbank_wartung.cli store-materials
python -m codex_logdatenbank_wartung.cli safe-start-report
python -m codex_logdatenbank_wartung.cli safe-start-install
python -m codex_logdatenbank_wartung.cli zombie-killer-report
python -m codex_logdatenbank_wartung.cli zombie-killer-install
python -m codex_logdatenbank_wartung.cli zombie-killer-watch
python -m codex_logdatenbank_wartung.cli zombie-killer-stop
python -m codex_logdatenbank_wartung.cli schedule install --interval-minutes 180La CLI lee language desde config.json para la emisión de informes en tiempo de ejecución. La forma recomendada para cambiar de idioma de manera persistente es el menú de configuración en la bandeja.
startup-receipt lee exclusivamente hasta el primer límite de asistente del archivo de despliegue especificado de forma explícita. La salida incluye metadatos, recuentos de caracteres/bytes y sumas SHA-256, sin exponer contenido de prompts. Las fuentes externas --boot-file ETIQUETA=RUTA se presentan únicamente como instantáneas con injection_claim=false, nunca como prueba demostrada de inyección en Codex.
En los ajustes de la bandeja, el valor 0 desactiva una regla de antigüedad. Configure auto_mark_threads_read_days y auto_archive_threads_days con valores independientes (por ejemplo, 2 y 10). CareCenter aplica estas reglas durante las comprobaciones del vigilante en segundo plano en cuanto Codex está completamente cerrado.
La configuración, registros y copias de seguridad residen por defecto fuera de carpetas sincronizadas en la nube:
config: %LOCALAPPDATA%\CareCenterForCodex\config.json
logs: %LOCALAPPDATA%\CareCenterForCodex\logs\
backups: %LOCALAPPDATA%\CareCenterForCodex\backups\
database: %USERPROFILE%\.codex\logs_2.sqlite
Las rutas de Codex se detectan automáticamente a partir de %LOCALAPPDATA%, %APPDATA% y CODEX_HOME. Las nuevas instalaciones ubican los datos de CareCenter bajo %LOCALAPPDATA%\CareCenterForCodex de manera predeterminada. Las instalaciones locales existentes bajo C:\_Local_DEV\codex-maintenance\ se reutilizan automáticamente como fallback heredado. Es posible anular cada una de las rutas dentro de config.json.
La detección de candidatos MCP en tiempo de ejecución está activa por defecto a través de reap_runtime_mcp_duplicates. Sus valores predeterminados conservadores establecen una antigüedad mínima configurable de 3600 segundos (una hora) para la raíz de cada candidato, un intervalo de cohorte de lanzamiento de 90 segundos, una ventana de lanzador de 30 segundos, al menos dos firmas MCP distintas repetidas y un segundo de muestreo de actividad de CPU. La eliminación requiere adicionalmente que el proceso padre esté inactivo; una cohorte viva del servidor de aplicaciones de Store nunca es terminada. Todos los umbrales pueden ajustarse en config.json.
La limpieza de huérfanos en runtime conserva el prefijo de compatibilidad reap_companion_orphans. companion_orphan_min_age_seconds tiene un umbral mínimo estricto de seguridad de 1800 segundos; el muestreo de CPU es de 5 segundos por defecto y la ventana de frescura de despliegue de sesión es de 120 segundos. El intervalo entre las dos mediciones de CPU no puede reducirse por debajo de 2 segundos, y la ventana de despliegue no puede acortarse por debajo de 120 segundos.
audit_empty_thread_min_age_seconds está configurado por defecto en 300 segundos. Los valores inferiores se ajustan a esa gracia conservadora de inicialización; los valores superiores la extienden.
Para utilizar una raíz de datos diferente (útil en pruebas o instalaciones alternativas), defina la variable CCC_DATA_ROOT antes de arrancar:
$env:CCC_DATA_ROOT = "D:\mi-mantenimiento-codex"
python -m codex_logdatenbank_wartung.cli trayAl configurarse, config.json, logs\ y backups\ se ubican bajo esa ruta en lugar del directorio predeterminado %LOCALAPPDATA%\CareCenterForCodex\.
- La ejecución normal de CareCenter y los comandos CLI predeterminados operan exclusivamente de forma local (
local-only/normal runtime): no transmiten telemetría, no suben datos, no realizan llamadas a APIs externas ni utilizan sincronización en la nube. - El mantenimiento conservador se bloquea mientras Codex permanezca en ejecución.
- El mantenimiento programado nunca cierra Codex.
- El automantenimiento en modo Safe cierra Codex únicamente después de comprobar que todo el árbol de procesos está inactivo.
- La cancelación en modo Safe solo interrumpe el período de espera previo al cierre de Codex; las operaciones activas sobre la base de datos nunca se interrumpen forzosamente.
- El vigilante elimina procesos fantasma inactivos sin renderizador únicamente tras superar el umbral de antigüedad configurado.
- La detección de duplicados MCP en runtime conserva siempre la cohorte de lanzamiento más reciente e ignora árboles de candidatos cuyos contadores de CPU sigan avanzando; un proceso padre vivo constituye un criterio absoluto de no terminación.
- La limpieza de huérfanos en runtime exige que el padre esté muerto, así como evidencias de antigüedad e inactividad de CPU. Un proceso
codex execdesprendido queda adicionalmente excluido mientras presente actividad de CPU, un despliegue reciente o una señal de salida pendiente; si carece de contrato--output-last-message, se excluye preventivamente de forma fail-closed. Los nodos MCP inactivos con padre muerto y los servidores de lenguaje comunes permanecen como objetivos de limpieza, registrando la última identidad conocida del padre en el log de auditoría. - El servidor de aplicaciones de escritorio de Codex, los procesos secundarios no relacionados, el trabajo activo en la CLI de Codex y el uso activo del escritorio quedan totalmente excluidos de las terminaciones de procesos. El detector de solo lectura trata la actividad de la aplicación de escritorio y de la CLI de npm como bloqueador de mutaciones del almacén de hilos.
- Las rutas de acción destructivas como el restablecimiento de la Store, la reparación con privilegios de administrador, la reinstalación y el reinicio del sistema son únicamente sugerencias o acciones voluntarias del usuario, nunca sorpresas automáticas.
- El Contrato de intercambio de salud de CareCenter v1 define una instantánea de solo lectura con privacidad minimizada para BACH/OCEAN. No habilita transporte en tiempo de ejecución, comandos entrantes, telemetría ni facultades de mantenimiento remoto.
El proyecto incluye la base necesaria para la publicación y empaquetado en Microsoft Store:
store_package.jsonSTORE_LISTING.mdPRIVACY_POLICY.mdSUPPORT.mddocs/privacy.mddocs/support.mdAppxManifest.xmlcon cuatro fuentes canónicas de logotipos de paquete bajostore_assets/
Páginas públicas de la Store:
- Privacidad:
https://dev-bricks.github.io/CareCenter-for-Codex/privacy - Soporte:
https://dev-bricks.github.io/CareCenter-for-Codex/support
Validación con la herramienta integrada:
python -m codex_logdatenbank_wartung.cli store-materials
python -m codex_logdatenbank_wartung.cli store-materials --live-pages
python -m codex_logdatenbank_wartung.cli store-materials --exe-path C:\_Local_DEV\codex-maintenance\binEl comando ejecutado sin --live-pages realiza una verificación puramente local de los materiales y no contacta con ninguna URL. --live-pages es una verificación previa manual de lanzamiento totalmente independiente: únicamente esta ruta opt-in consulta ambas URLs de la Store configuradas a través de HTTPS y reporta páginas inaccesibles en forma de advertencia. No forma parte de la bandeja, del vigilante, del mantenimiento ni del tiempo de ejecución CLI normal, ni constituye telemetría. Sin el argumento --exe-path, la verificación intenta localizar automáticamente el archivo ejecutable compilado desde build_exe.bat (DIST_DIR). Con --exe-path, es posible suministrar tanto el archivo .exe específico como el directorio de compilación.
La verificación previa local analiza AppxManifest.xml, coteja la identidad del paquete, el editor, la versión, el ejecutable y el nombre para mostrar con store_package.json, y vincula las referencias preparadas en icons/ con las fuentes de store_assets/ del compilador central. Cualquier logotipo ausente o que escape del directorio de origen provoca un fallo de validación.
Las URLs de privacidad y soporte están preparadas para GitHub Pages. store-materials también genera una compilación estática temporal de Pages y valida privacy/index.html, support/index.html, index.html y el marcador de compilación. El artefacto puede compilarse de forma explícita mediante:
python scripts\build_store_pages.py --output _siteEl flujo de trabajo activo .github/workflows/pages.yml publica las rutas /privacy/ y /support/ a través de GitHub Pages.
CareCenter for Codex mantiene una transparencia total de licencias y una estricta conformidad de distribución:
- Aplicación principal: Licenciada bajo la permisiva Licencia MIT.
- Subsistema de GUI: Desarrollado con PySide6 (
>=6.7), vinculado dinámicamente en estricto cumplimiento de la Licencia Pública General Reducida de GNU v3 (LGPL-3.0-only). No se modifica ni redistribuye código fuente de Qt6/PySide6 de forma propietaria. Los usuarios conservan la libertad de revincular o sustituir las bibliotecas de tiempo de ejecución de PySide6 instaladas. - Motor de configuración: Basado en tomlkit bajo la Licencia MIT.
- Herramientas de compilación e integración: Integración con Safe Start (
safe-start-for-codex, MIT), integración con zombie-killer-tray (zombie-killer-tray, MIT), empaquetado con PyInstaller (GPLv2 con excepción de PyInstaller) y Hatchling (MIT). - Documento de auditoría e invariantes: Se mantiene una auditoría exhaustiva de todas las dependencias de tiempo de ejecución, desarrollo y biblioteca estándar, junto a las 10 Invariantes de Seguridad y Gobernanza, en THIRD_PARTY_LICENSES.md (versión 2026-10-08). El inventario complementario canónico en texto plano SBOM Nivel 1 se documenta en THIRD_PARTY_LICENSES.txt (versión 2026-10-08).
$env:PYTHONPATH="src"
python -m pytest
python -m ruff check src tests
python -m compileall src testsLa suite de pruebas cubre la seguridad del mantenimiento, la escalación de reparaciones, la integración con Safe Start, la supervisión de Zombie Killer Tray, el control de automatizaciones, la validación de materiales de Store, la carga de configuración, la paridad de traducción Tier-2 en español, la carga de recursos multirresolución y la persistencia del idioma en la bandeja (487+ pruebas superadas | 100% verde).
CareCenter for Codex se distribuye bajo la Licencia MIT. PySide6 se utiliza bajo la licencia LGPL; el inventario de dependencias directas y su alcance de auditoría se encuentran detallados en THIRD_PARTY_LICENSES.txt.
Este software y los arneses de automatización asociados se proporcionan de forma gratuita sin contraprestación comercial. De conformidad con la legislación civil alemana (§ 521 BGB - Gefälligkeitsrecht), la responsabilidad del autor y de los colaboradores queda estrictamente limitada al dolo (Vorsatz) y a la negligencia grave (grobe Fahrlässigkeit). El software se suministra "tal cual" ("as is"), sin garantías de ninguna clase, expresas o implícitas.
Las notificaciones de vulnerabilidades de seguridad se coordinan con arreglo a SECURITY.md, con un tiempo de acuse de recibo garantizado de 48 horas y un compromiso de triaje máximo de 5 días hábiles.
