oh-my-cpa
Consola auto-alojada para CLIProxyAPI con gestión de claves, observabilidad de uso y costes de modelos IA. Arquitectura monolítica Go+React embebido, SQLite local y cifrado AES-GCM.
Ficha actualizada 22 sept 2026, 14:56 · upstream 22 sept 2026, 14:45 · release sin release detectada
Qué es oh-my-cpa
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Oh My CPA es una consola de control plane y observabilidad para CLIProxyAPI (CPA), diseñada para gestionar proveedores de IA, claves de cliente, telemetría de streaming y snapshots de costes de modelos. Funciona como un único binario Go con frontend React embebido y almacenamiento SQLite local, eliminando la necesidad de servidores externos o dependencias CDN.
La plataforma ofrece gestión completa de credenciales OAuth y claves API, con cifrado AES-GCM en reposo y auditoría de operaciones sensibles mediante logs append-only. Incluye dashboard de observabilidad con heatmaps de tokens, paneles de uso por modelo, logs de streaming y editor de configuración dual (formas estructuradas + YAML Monaco). La sincronización automática de catálogos de precios desde models.dev permite overrides manuales para costes personalizados.
La arquitectura soporta despliegue air-gapped gracias al frontend embebido, aunque el packaging Docker está en progreso. Requiere instancia única por directorio de datos debido a SQLite WAL y una cola de uso destructiva que solo admite un collector activo.
- Gestión centralizada de claves API para múltiples proveedores de IA (OpenAI, Claude, Gemini, etc.) con asignación de alias y prioridad.
- Monitorización de costes y volumen de tokens en tiempo real con snapshots inmutables que previenen deriva histórica al actualizar tarifas.
- Auditoría de operaciones sensibles como descargas de archivos auth o exportación de logs mediante registros append-only.
- Despliegue en entornos air-gapped sin dependencias CDN externas gracias al frontend embebido en el binario Go.
- Sincronización automática de catálogos de precios desde models.dev con capacidad de overrides manuales por modelo.
- Arquitectura monolítica (Go + React embebido) sin dependencias externas en tiempo de ejecución ni servidores de base de datos.
- Almacenamiento SQLite WAL para persistencia local, evitando replicación y soportando despliegues simples.
- Gestión completa de credenciales OAuth con cifrado AES-GCM en reposo y auditoría de operaciones sensibles.
- Dashboard de observabilidad con telemetría en tiempo real, heatmaps de tokens y logs de streaming con backoff automático.
- Editor de configuración dual (formas estructuradas + YAML Monaco) con preservación de comentarios y validación.
- Requiere instancia única de CPA por directorio de datos debido a SQLite WAL, sin soporte para replicación o montajes NFS/CIFS.
- No tiene Dockerfile ni compose oficial aún (en progreso), recomendado compilar binario Go standalone hasta su maduración.
- Cola de uso de CPA es destructiva; solo un collector puede leerla a la vez, requiriendo OMCPA_USAGE_INGEST_MODE=off si hay otros consumidores.
- Requiere clave maestra OMCPA_MASTER_KEY (32 bytes hex) para descifrar credenciales almacenadas, obligando a backup seguro.
- Soporte limitado a Go 1.24+ y Node.js 22+ para desarrollo/build, con pinning en toolchain de compilación.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Compilar binario Go standalone o usar templates compose.preview (full/omc). Asegurar OMCPA_MASTER_KEY con 32 bytes hex. Servir bajo HTTPS y configurar reverse proxy con headers confiables. Montar /data localmente, no NFS/CIFS. Usar OMCPA_USAGE_INGEST_MODE=off si otro servicio consume telemetría CPA.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.