Herdr UI
Herdr의 TUI가 뛰어나며, 창을 통해 추가되는 기능
62개 공급업체·300개 이상 모델·승인 에이전트·크레딧 소모를 한눈에. Windows·macOS·Linux 무료
62 proveedores, 300+ modelos, agente con aprobación y consumo de créditos a la vista. Gratis para Windows, macOS y Linux.
개발 도구TypeScript · CSSGitHub @abrahamtobal120-sudo온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Zinarix Studio — el editor de código que funciona con cualquier IA (62 proveedores, agente con aprobación, consumo de créditos)
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
El editor de código que funciona con cualquier IA. 62 proveedores y 300+ modelos (de los más potentes a los de centavos, o locales y gratis con Ollama), un agente que lee tu proyecto y usa la terminal con tu aprobación, y el consumo de créditos por proveedor a la vista. ⬇ Descargar · Windows · macOS · Linux (Ubuntu/Debian .deb, Arch .pacman, Fedora y otras con .AppImage) Linux (Ubuntu/Debian → .deb, Arch → pacman, otras → AppImage) y macOS:README 전문 보기 ↗
El editor de código que funciona con cualquier IA. 62 proveedores y 300+ modelos (de los más potentes a los de centavos, o locales y gratis con Ollama), un agente que lee tu proyecto y usa la terminal con tu aprobación, y el consumo de créditos por proveedor a la vista.
⬇ Descargar · Windows · macOS · Linux (Ubuntu/Debian .deb, Arch .pacman, Fedora y otras con .AppImage)
Linux (Ubuntu/Debian → .deb, Arch → pacman, otras → AppImage) y macOS:
curl -fsSL https://zinarix-studio.vercel.app/install.sh | bash
Windows (PowerShell):
irm https://zinarix-studio.vercel.app/install.ps1 | iex
El script descarga la última versión desde GitHub Releases y comprueba su SHA-256 (el digest que publica GitHub o el archivo SHA256SUMS del release) antes de instalar; si no puede obtener la suma, se detiene. Opciones: bash -s -- --appimage (Linux sin sudo), --version X.Y.Z, --uninstall, --dry-run, --insecure (instalar sin verificar; no recomendado). En Windows: $env:ZINARIX_VERSION='X.Y.Z', $env:ZINARIX_UNINSTALL='1' para desinstalar, $env:ZINARIX_INSECURE='1' para instalar sin verificar.
La suma SHA-256 viene del mismo release que el binario: comprueba que la descarga llegó íntegra, no quién la publicó. Los binarios todavía no tienen firma de código (Authenticode / notarización de Apple) y
SHA256SUMSaún no está firmado con minisign o cosign.
tree, glob, read_many_files, en paralelo), busca, edita con vista de diferencias y ejecuta comandos. Las escrituras y los comandos piden aprobación ("Siempre" en un comando aprueba solo ese mismo comando); las ediciones de archivos se pueden revertir durante la sesión, pero lo que hace un comando (run_command) no.website/app-config.json (también llega a las apps ya instaladas), licencias Pro firmadas que se revisan sin internet, avisos a todas las apps y actualizaciones automáticas. Los agentes son gratis en todos los planes. Ver docs/es/vender.md.delegate_to_ai): tú apruebas la delegación y cada acción de la IA ayudante. También puedes pasar cualquier respuesta a otra IA con un clic.pnpm install
pnpm build
pnpm desktop # compila y abre la app
pnpm test # pruebas
Instaladores: pnpm --filter @omni/desktop dist (local) o empuja un tag vX.Y.Z: GitHub Actions crea un release en borrador, sube los de Windows, macOS y Linux, genera SHA256SUMS y solo entonces lo publica. Sitio web: carpeta website/ (Vercel).
Estado: Fase 1 completa — núcleo de IA (@omni/core), adaptadores de proveedores, catálogo verificado de 62 proveedores, bóveda de llaves y la CLI omni.
English version below.
node:sqlite y crypto.argon2 nativos: cero compilación de módulos nativos)npm i -g pnpm)pnpm install
pnpm build
pnpm link --global --dir apps/cli # deja `omni` en el PATH (opcional)
omni providers # catálogo de 62 proveedores (● = conectado)
omni auth add anthropic # pide la llave oculta → keychain del SO → prueba conexión
omni auth add cloudflare-workers-ai --param account_id=abc123
omni auth add ollama # locales: sin llave
omni auth list # llaves enmascaradas (sk-…a9F2)
omni models --tools --min-context 100000
omni use anthropic/claude-opus-5-5 # modelo por defecto
omni use groq/<modelo> --role commit # modelo por rol
omni ask "explica este error" -f src/app.ts
cat app.log | omni ask "resume los errores críticos"
omni ask --json "…" > respuesta.json # para scripts
omni chat # TUI; /model <p/m> cambia de modelo a media conversación
omni compare "parser CSV en Rust" -m openai/<a> -m anthropic/<b>
omni usage --month # tokens y costo por proveedor/modelo
omni history search jwt
omni config set privacy.localOnly true # modo 100 % local
omni config set budgets.anthropic '{"daily":5}'
omni config set fallbacks '["groq/<modelo>"]'
omni providers add-custom --id mi-vllm --base-url http://gpu:8000/v1 --no-auth --local
omni providers add-custom --id mi-api --base-url https://api.ejemplo.com/v1 --auth-header x-api-key
omni auth add mi-api # la llave de x-api-key va al keychain, no a config.json
omni completion zsh # bash | zsh | fish | powershell
Llaves para CI: variables de entorno estándar (ANTHROPIC_API_KEY, GROQ_API_KEY, …) o OMNI_KEY_<ID>.
Servidores sin keychain: omni auth add <p> --file-vault (AES-256-GCM + Argon2id; contraseña en OMNI_VAULT_PASSWORD o interactiva).
Códigos de salida: 0 ok · 1 error (incluye red, timeout y error del servidor) · 2 uso/config · 3 llave inválida (401/403) · 4 rate limit · 5 presupuesto · 130 cancelado (Ctrl+C, también en los prompts ocultos). omni auth test devuelve 3 solo si el proveedor rechaza la llave y 1 si no se pudo conectar o verificar; omni compare devuelve distinto de 0 si fallan todos los modelos.
Headers con secretos en endpoints personalizados: no los pases con --header (quedan en el historial del shell y en ps). Usa --auth-header <nombre> + omni auth add, --header-prompt <nombre> (entrada oculta) o --header-stdin; si hay un solo header de credenciales (o el indicado con --auth-header), su valor se guarda en el keychain o la bóveda en vez de config.json.
pnpm build # tsc -b de todo el monorepo
pnpm test # build + más de 180 pruebas (Vitest), incluye prueba canario anti-fugas de llaves
pnpm test:coverage # umbral 80 % en líneas
pnpm lint && pnpm format:check
pnpm catalog:check # valida catalog/providers.json con Zod
OMNI_LIVE_TESTS=1 ANTHROPIC_API_KEY=… OPENAI_API_KEY=… GROQ_API_KEY=… pnpm vitest run tests/live
apps/cli CLI `omni` (commander + Ink)
apps/desktop App de escritorio Electron (v0.4.0): editor, agente, navegador IA, Git y GitHub, centro de seguridad
apps/web Fase 6 — PWA (pendiente)
packages/shared Esquemas Zod, tipos, errores, i18n es/en
packages/security Secret opaco, redactor de secretos, logger que redacta
packages/providers Cliente HTTP (retry/backoff/Retry-After/timeout/abort), SSE, adaptadores
packages/core Config, catálogo firmado, bóveda, descubrimiento de modelos, router,
fallback, presupuestos, costos, historial, auditoría (SQLite)
catalog/ providers.json (62 proveedores, catálogo del 2026-10-07) + firma Ed25519
docs/ Arquitectura, cómo agregar proveedores, entrega de Fase 1
Más: docs/es/arquitectura.md · docs/es/agregar-proveedor.md · docs/es/fase-1-entrega.md
Zinarix Studio is a VS Code–style, multi-AI IDE: bring your own API keys for 62 providers and pick any model in one click.
Status: Phase 1 complete — editor-independent AI core, provider adapters (OpenAI-compatible, OpenAI Responses, Anthropic, Gemini), a verified 62-provider catalog with signed hot updates, an OS-keychain key vault, and the omni CLI (auth, providers, models, use, ask, chat, compare, usage, history, catalog, config, completion, wipe).
Requires Node ≥ 24.7 and pnpm. pnpm install && pnpm build && pnpm test. Set OMNI_LANG=en or pass --lang en for English UI strings.
See docs/en/architecture.md and docs/en/adding-a-provider.md.
License: MIT.
Logos de proveedores: Lobe Icons (MIT). Las marcas pertenecen a sus respectivos dueños.
gcloud.--file-vault), no en texto plano ni en logs; redacción automática de secretos. Los headers extra de endpoints personalizados sí se guardan en ~/.omni/config.json.gh: lista tus repositorios, clónalos y ábrelos para que la IA los edite, y publica cualquier carpeta como repositorio nuevo (privado o público) con un clic.omni — los mismos modelos desde la terminal.