@ftarganski/omni-aiMIT · TypeScript

Um framework de agentes de IA provider-agnostic.

Configure qualquer provider LLM (Anthropic, OpenAI, Copilot, Gemini, Groq, Ollama ou self-hosted) e componha agentes reutilizáveis para seus projetos — tudo via CLI ou API programática.

v1.1.10versão estável no npm
21 agentesprontos para usar
6+ providerssem lock-in
≥80%cobertura · ~296 testes
zsh — omni-ai
$ npm install -g @ftarganski/omni-ai
$ omni init
✓ provider configured · anthropic / claude-sonnet-4-6
$ cd meu-projeto
$ omni run backend-dev "crie o módulo de pedidos"
# skills operam sempre no diretório do projeto (cwd)
explore o que o omni-ai faz
// 01 · recursos

Tudo que um framework de agentes precisa

Providers intercambiáveis, agentes especializados, skills com sandbox e memória persistente — em um único pacote.

Multi-provider

Anthropic, OpenAI, GitHub Copilot, Gemini, Groq, Ollama e endpoints custom via registry por factory.

21 agentes prontos

Backend, Frontend, UX e QA com orquestração de domínio — do schema aos testes.

20+ skills

Filesystem, busca de código, Git, HTTP e auditoria de acessibilidade — sempre dentro do cwd.

Memória persistente

Sessões em SQLite com busca semântica por embeddings entre múltiplos runs.

Loop agentico

Ciclo iterativo de LLM + tool-use com iterações configuráveis e compactação de contexto.

CLI & API

Linha de comando (run, chain, serve, watch, eval) mais runtime programático em JavaScript.

Streaming em tempo real

Tokens transmitidos ao vivo via CLI --stream ou endpoint SSE do servidor local.

Suporte a MCP

Exponha skills como ferramentas Model Context Protocol para outros clientes.

// 02 · providers

Escolha o provider, mantenha o código

A mesma definição de agente roda em qualquer provider. Troca-se via config — nenhuma API key fica hardcoded.

ProviderAnthropic
ModelosClaude Opus · Sonnet · Haiku
AutenticaçãoANTHROPIC_API_KEY
ProviderOpenAI
ModelosGPT-4o · o1 · o3-mini
AutenticaçãoOPENAI_API_KEY
ProviderGitHub Copilot
Modelosgpt-4o
AutenticaçãoGITHUB_TOKEN
ProviderGoogle Gemini
ModelosGemini 2.0 Flash · 1.5 Pro
AutenticaçãoGOOGLE_API_KEY
ProviderGroq
ModelosLlama 3.3 70B
AutenticaçãoGROQ_API_KEY
ProviderOllama
ModelosLlama 3.2 · local
Autenticação
ProviderCustom
ModelosAzure · vLLM · LM Studio
Autenticação

// Ollama roda modelos locais sem key. Custom cobre Azure, vLLM e LM Studio via endpoint configurável.

// 03 · catálogo de agentes

Agentes especializados por domínio

Cada agente é uma definição YAML com system prompt e skills próprias. Os orquestradores encadeiam os demais.

Backend

7
  • backend-devOrquestrador — feature NestJS completa: schema → serviço → resolver → listeners → testes
  • backend-schemaSchema DynamoDB OneTable com defineSchema()
  • backend-serviceService NestJS com CRUD, eventos, error helpers e caching
  • backend-resolverGraphQL resolver com padrão federation + SDL
  • backend-listenerEvent listeners com @OnEventCatcher
  • backend-testTestes Jest de integração com DynamoDB local real
  • backend-atom-appConectores Atom framework (sessões, ARNs, roteamento de mensagens)

Frontend

5
  • frontend-devOrquestrador — feature React completa: rota → componentes → hooks
  • frontend-ui-componentComponentes UI primitivos estilo shadcn/ui com CVA + Radix
  • frontend-module-componentComponentes de feature conectados a dados (TanStack Query)
  • frontend-page-routePáginas TanStack Router com layouts responsivos
  • frontend-custom-hookCustom hooks React tipados e SSR-safe

UX

5
  • ux-leadOrquestrador — auditoria UX em 10 dimensões, corrige críticos e documenta o restante
  • ux-reviewerRevisão UX detalhada com findings por severidade (Critical / Moderate / Low)
  • ux-statesComponentes de estado: Skeleton, Empty, Error e Success
  • ux-formsFormulários com validação, autocomplete, acessibilidade e loading
  • ux-motionMicro-interações e transições com motion-safe: obrigatório

QA

4
  • qa-leadOrquestrador — classifica arquivos, delega aos especializados e emite veredicto de merge
  • qa-frontendValida React/TS: imports, tokens Tailwind, responsividade, acessibilidade
  • qa-uxValida UX: feedback states, formulários, motion e tom de conteúdo
  • qa-backendValida NestJS: services, resolvers, schema GraphQL, listeners e testes
// 04 · uso

Da linha de comando ao runtime

Rode um agente, encadeie um pipeline ou embuta o runtime no seu próprio código.

omni run — agente único
$ omni run frontend-dev "página de pedidos"
$ omni run qa-lead "valide src/orders/" --verbose
# memória SQLite entre runs
$ omni run backend-dev "continue" --session dev:orders
Sessão --session habilita memória SQLite entre execuções.
omni chain / serve
$ omni chain "módulo orders" \
backend-schema backend-dev qa-backend
# pipeline: saída de um vira entrada do próximo
$ omni serve --port 3000 # REST + SSE
Pipeline de agentes ou servidor HTTP com REST e SSE.
API — createRuntime
import { createRuntime } from "@ftarganski/omni-ai";
const runtime = await createRuntime({ skills });
const result = await runtime.run(
"backend-dev", "crie o módulo de clientes"
);
Runtime programático com skills e memória injetáveis.
API — parallel
import { parallel } from "@ftarganski/omni-ai";
const results = await parallel(runtime, {
agents: ["backend-dev", "qa-backend", "ux-reviewer"],
input: "revise o módulo orders",
});
Execute múltiplos agentes em paralelo sobre a mesma entrada.
// 05 · por que usar

Um framework para quem quer agentes de IA sob controle.

O omni-ai coloca a orquestração de agentes na sua stack sem amarrar a um provider: skills com sandbox, memória persistente e definições declarativas em YAML. Da CLI ao runtime programático, é feito para monorepos TypeScript reais.

21
agentes especializados prontos, em quatro domínios.
6+
providers suportados, do Claude ao Ollama local.
≥80%
de cobertura de testes, ~296 testes no CI.
// destaques
  • Zero API key hardcoded — substituição por variáveis de ambiente em todo o fluxo.
  • Proteção contra path traversal em todas as operações de filesystem.
  • Busca semântica na memória de conversas multi-turno.
  • CI/CD no GitHub Actions: lint → build → test → publish.