ChofyAI Studio es una aplicación de escritorio local para macOS Apple Silicon orientada a centralizar la instalación, arranque y organización de herramientas creativas de IA.
Su objetivo no es ser un launcher genérico para cualquier repositorio, sino un orquestador controlado para un conjunto concreto de herramientas:
- voz: TTS y clonación de voz
- ASR: transcripción local
- video/cara: utilidades de face swap y procesamiento facial
- música: herramientas musicales locales
- gestión: rutas, logs, scripts, settings y empaquetado macOS
- Shell de escritorio con Tauri 2 + Rust + React/TypeScript
- Lectura de manifests YAML desde
apps/ - Guardado de
studio_homeenstorage/state/settings.jsondurante desarrollo - Guardado de
studio_homeen el directorio de datos de la app cuando está empaquetada - Detección de instalación por archivos/carpetas declarados en
installed_if - Botones desde la UI para:
- Instalar — con salida en tiempo real (streaming stdout)
- Actualizar — re-ejecuta el script de instalación sobre una herramienta ya instalada
- Iniciar — registra PID en
ProcessRegistry - Detener — envía SIGTERM al proceso activo
- Reiniciar — stop + start en secuencia
- Abrir carpeta / Abrir log
- Cola de instalaciones: encola múltiples herramientas e instala una a una
- Health check visual: punto verde pulsante cuando la herramienta responde en su puerto TCP
- Scripts reales de instalación para:
- Qwen3-TTS, whisper.cpp, FaceFusion, AceForge
- Preparación de empaquetado macOS (
.app/.dmg) con Tauri
- ComfyUI: declarada en manifest, sin script de instalación aún
- Settings avanzados:
models_dir,outputs_dir,cache_dir - Firma y notarización Apple: necesario para distribución pública
Ver hoja de ruta completa en ROADMAP.md
- Desktop shell: Tauri 2
- Core: Rust
- UI: React + TypeScript + Vite
- Integración de herramientas: scripts Bash + Python + binarios externos
- Configuración de herramientas: manifests YAML
| Herramienta | Categoría | Puerto | Estado | Script |
|---|---|---|---|---|
| Qwen3-TTS | voz / TTS | 7860 | ✅ Operativa | install-qwen3-tts.sh |
| whisper.cpp | ASR | 8178 | ✅ Operativa | install-whispercpp.sh |
| FaceFusion | video / cara | — | ✅ Operativa | install-facefusion.sh |
| AceForge | música | 5056 | ✅ Operativa | install-aceforge.sh |
| ComfyUI | imagen | — | 🚧 Declarada | — |
Ver especificación completa de manifests en
docs/MANIFEST_SPEC.md.
chofyai-studio/
├─ apps/ # manifests YAML por herramienta
├─ docs/ # documentación del proyecto
├─ public/ # assets estáticos
├─ scripts/mac/ # scripts operativos para macOS
├─ src/ # frontend React/TypeScript
├─ src-tauri/ # backend Tauri/Rust
├─ storage/ # estado local y placeholders de runtime
├─ package.json
└─ README.md
| Archivo | Contenido |
|---|---|
docs/PROJECT_OVERVIEW.md |
Visión general y filosofía |
docs/STATUS.md |
Estado actual (v0.2.0) |
docs/architecture.md |
Arquitectura por capas con diagrama |
docs/decisions.md |
Architecture Decision Records (ADR-001…ADR-005) |
ROADMAP.md |
Fases futuras |
CHANGELOG.md |
Historial de versiones |
| Archivo | Contenido |
|---|---|
docs/INSTALL_MAC.md |
Instalación completa en macOS |
docs/TOOLS.md |
Herramientas integradas y requisitos |
docs/SCRIPTS_REFERENCE.md |
Referencia completa de scripts |
docs/MANIFEST_SPEC.md |
Especificación del formato YAML |
docs/packaging.md |
Empaquetado .app / .dmg |
docs/TROUBLESHOOTING.md |
Problemas comunes |
| Archivo | Contenido |
|---|---|
CONTRIBUTING.md |
Cómo contribuir al proyecto |
SECURITY.md |
Política de seguridad y reporte de vulnerabilidades |
brew install node rust cmake ffmpeg python@3.10 python@3.11 uv gitVer tabla completa en
docs/INSTALL_MAC.md
git clone https://github.com/vladimiracunadev-create/chofyai-studio.git
cd chofyai-studio# El .npmrc del proyecto fija registry a npmjs.org automáticamente
npm installEditar storage/state/settings.json:
{
"studio_home": "/Volumes/ORICO/ChofyIA/ChofyAIStudio"
}Crear la estructura de directorios:
mkdir -p /Volumes/ORICO/ChofyIA/ChofyAIStudio/{tools,logs,models,cache}export PATH="/opt/homebrew/bin:$PATH"
# Solo frontend (los botones de herramientas NO funcionan en este modo)
npm run dev:web
# App de escritorio completa — botones de instalar/iniciar SÍ funcionan
npm run tauri:dev
⚠️ Importante:npm run dev:websolo muestra la UI. Para que los botones de Instalar, Iniciar, Carpeta y Logs funcionen de verdad, hay que corrernpm run tauri:dev(requiere Rust instalado).
La ruta principal de trabajo se guarda en:
Desarrollo: storage/state/settings.json
App empaquetada: directorio de datos de Tauri + /state/settings.json
Ejemplo:
{
"studio_home": "/Users/tu_usuario/ChofyAIStudio"
}Se recomienda:
- SSD interno o volumen APFS
- evitar exFAT u otros volúmenes que puedan meter archivos
._*
bash scripts/mac/doctor.sh "/ruta/a/tu/studio_home"
bash scripts/mac/install-qwen3-tts.sh
bash scripts/mac/install-whispercpp.sh
bash scripts/mac/install-facefusion.sh
bash scripts/mac/install-aceforge.sh
bash scripts/mac/cleanup-tool.sh "/ruta/studio_home" "tool_id"Para generar .app y .dmg en tu Mac:
npm ci
npm run package:macSalidas esperadas:
src-tauri/target/release/bundle/macos/
src-tauri/target/release/bundle/dmg/
Ver detalles en
docs/packaging.md.
Este repositorio incluye GitHub Actions configurados en .github/workflows/:
| Workflow | Trigger | Qué hace |
|---|---|---|
ci.yml |
push / PR a main |
Lint Markdown, TypeScript typecheck, validación de manifests YAML, secret scanning |
release.yml |
workflow_dispatch |
Crea tag + GitHub Release con notas desde CHANGELOG.md |
¿Quieres añadir una herramienta, reportar un bug o proponer una mejora?
Lee CONTRIBUTING.md para el flujo completo.
Este repositorio incluye LICENSE de base. Ajusta branding, nombre legal y licencia definitiva antes de distribución pública.