Administrador de Sistemas Linux Senior + Redes
AutoGPT · Genkit · RAG · Vector Store Qdrant
Terminal inteligente que converte linguagem natural em comandos Linux seguros, com memória operacional, aprendizado contínuo e pesquisa assistida.
- 5 Collections Qdrant Especializadas para RAG e memória operacional
fazai_personality- Expertise técnica e estilo de troubleshootingfazai_memory- Histórico operacional e contexto de infraestruturafazai_learning- Aprendizado técnico (erros, soluções, padrões)fazai_kb- Base de conhecimento Linux/Redes validadafazai_inference- Políticas de segurança, SLAs e regras operacionais
- Claude (Anthropic): Sonnet 3.5, Haiku - Tarefas complexas e rápidas
- GPT (OpenAI): GPT-4o, GPT-4 Turbo, GPT-4 Mini
- Ollama (Local): Llama 3.2, Qwen 2.5, Mistral - 100% privado e gratuito
- Pattern Matching: Bloqueia comandos destrutivos conhecidos
- Avaliação de Risco: Análise automática (CRITICAL, HIGH, MEDIUM, LOW)
- Safety Checks: Validações pré-execução geradas pela IA
- Rollback Automático: Comandos reversíveis com undo integrado
- Modo Dry-Run: Simule sem executar nada
- MCP Context7: Integração com servidor de contexto local
- Fallback Web: DuckDuckGo automático quando precisa de mais informação
- Importação de Conversas: Claude/ChatGPT Desktop → Vector Store
- Chat persistente com memória contextual entre sessões
- Comandos especiais:
/exec,/history,/memory,/help - Histórico navegável: Setas ↑/↓ e auto-complete
- Bash completion: Instalação automática para Bash e Zsh
curl -fsSL https://raw.githubusercontent.com/rogerluft/fazai-ng/master/install.sh | bashO instalador irá:
- ✅ Verificar dependências (Node.js 18+, npm, git)
- ✅ Clonar e compilar o projeto
- ✅ Criar symlinks em
~/.local/bin/fazai - ✅ Oferecer instalação do Qdrant (Docker/Podman/Binário)
- ✅ Criar arquivo de configuração interativo
- ✅ Instalar Bash/Zsh completion automaticamente
- ✅ Configurar diretórios de sistema (
/etc/fazai,/var/log/fazai)
npx fazaiNota: Vector Store e recursos avançados requerem instalação completa.
git clone https://github.com/rogerluft/fazai-ng
cd fazai-ng
npm install
npm run build
npm link
fazai --helpO launcher detecta alterações em src/ e executa npm run build automaticamente.
- Desabilitar:
export FAZAI_AUTO_BUILD=0 - Forçar rebuild:
rm -rf dist && npm run build
Docker (Recomendado):
docker run -d -p 6333:6333 -p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage:z \
qdrant/qdrantPodman:
podman run -d -p 6333:6333 -p 6334:6334 \
-v ./qdrant_storage:/qdrant/storage:z \
qdrant/qdrantBinário Standalone:
curl -O https://github.com/qdrant/qdrant/releases/download/v1.8.0/qdrant-x86_64-unknown-linux-gnu.tar.gz
tar -xzf qdrant-*.tar.gz && cd qdrant
./qdrant# Iniciar FazAI
fazai
# Com modelo específico
fazai haiku # Claude Haiku (rápido e econômico)
fazai sonnet35 # Claude 3.5 Sonnet (default, mais inteligente)
fazai gpt4o # GPT-4o (OpenAI)
fazai llama32 # Llama 3.2 local (Ollama)
# Modo simulação (visualizar sem executar)
fazai --dry-run
# Modo CLI interativo com chat e memória persistente
fazai --cliO modo fazai --cli oferece um ambiente de chat completo:
fazai --cli
# Comandos disponíveis:
/help # Lista todos os comandos
/exec instalar nginx # Executa fluxo administrativo
/history # Mostra histórico de comandos
/history clear # Limpa histórico
/memory clear # Limpa memória contextual
/quit ou /exit # Encerra o CLI
# Suporta texto multi-linha:
/exec '''
configurar nginx como proxy reverso
para porta 3000 com SSL
'''Features do modo CLI:
- ✅ Memória contextual persistente entre sessões
- ✅ Histórico navegável com setas ↑/↓
- ✅ Auto-complete para comandos iniciados com
/ - ✅ Suporte a texto multi-linha com
'''
> O que você precisa fazer?
# Instalação e Configuração
"instalar e configurar nginx como proxy reverso para porta 3000"
"configurar firewall ufw para permitir apenas portas 22, 80, 443"
"criar usuário admin com permissões sudo e chaves SSH"
# Monitoramento e Diagnóstico
"verificar uso de disco e limpar arquivos temporários antigos"
"analisar logs do sistema em busca de erros críticos"
"verificar status de todos os serviços e reiniciar os que falharam"
# Backup e Manutenção
"fazer backup do diretório /var/www em /backup com timestamp"
"atualizar sistema e reiniciar se necessário"
"verificar integridade do raid e enviar relatório"
# Redes e Segurança
"configurar fail2ban para proteger SSH"
"analisar conexões de rede ativas e identificar anomalias"
"configurar iptables para bloquear tráfego suspeito"fazai ask "Como configurar nginx como proxy reverso?"
fazai ask "Diferença entre systemctl e service?"
fazai ask "Explicar como funciona iptables com exemplos"
fazai ask "Melhores práticas para hardening SSH"# Listar configurações e API keys
fazai config
# Ver ajuda completa
fazai --help
# Comandos do Vector Store
fazai vector validate # Validar collections
fazai vector recreate --provider qdrant # Recriar collections
fazai vector import --file conversas.json # Importar conversas
# Importar conversas Claude/ChatGPT Desktop
fazai import --source ~/Library/Application\ Support/Claude/claude_desktop_config.sqlite
fazai import --source ~/Library/Application\ Support/ChatGPT/conversations.db
# Auto-complete Bash/Zsh
fazai completionO FazAI pode importar conversas históricas do Claude Desktop e ChatGPT Desktop para o Vector Store:
# Claude Desktop (SQLite)
fazai import --source ~/Library/Application\ Support/Claude/claude_desktop_config.sqlite
# ChatGPT Desktop (JSON/DB)
fazai import --source ~/Library/Application\ Support/ChatGPT/conversations.db
# Arquivo JSON customizado
fazai import --source conversas.json --format json
# Com filtros
fazai import --source claude.db --min-messages 5 --before 2024-01-01Benefícios:
- ✅ Reutiliza conhecimento de conversas anteriores
- ✅ Alimenta collections
fazai_memoryefazai_kb - ✅ Melhora respostas contextuais futuras
- ✅ Preserva histórico operacional
O FazAI inclui o fzalias, um gerenciador de aliases global para todos os usuários:
# Criar alias global
fzalias ll='ls -lh --color=auto'
fzalias grep='grep --color=auto'
# Listar todos os aliases
fzalias
# Remover alias
fzalias ll=
# Desinstalar completamente
sudo fzalias uninstallCaracterísticas:
- ✅ Multidistro: Funciona em Debian/Ubuntu e RedHat/Fedora/Rocky
- ✅ Global: Aliases disponíveis para todos os usuários
- ✅ Persistente: Sobrevive a reinicializações
- ✅ Bash completion: Integração com tab completion do sistema
- ✅ Fácil gerenciamento: Adicione/remova aliases em runtime
Arquivos:
/etc/fazai/fzalias- Função e aliases globais/etc/bash.bashrcou/etc/bashrc- Source automático
Arquivo de configuração (/etc/fazai/fazai.conf ou /etc/fazai/fazai.conf):
# Vector Store (Qdrant)
VECTOR_PROVIDER=qdrant
QDRANT_URL=http://localhost:6333
QDRANT_API_KEY= # Opcional para instância local
# Configurações de Embedding
VECTOR_DIMENSION=1536 # Dimensão dos embeddings
VECTOR_DISTANCE=cosine # cosine, euclid, dot
# Collections (criadas automaticamente)
# fazai_personality, fazai_memory, fazai_learning, fazai_kb, fazai_inferenceValidar e recriar collections:
fazai vector validate # Verifica se collections existem
fazai vector recreate --provider qdrant # Recria com schema corretoO FazAI pode buscar informações automaticamente quando precisa de mais contexto:
Configuração (fazai.conf):
# MCP Context7 (Servidor HTTP)
MCP_CONTEXT7_URL=http://localhost:7700/context7/search
MCP_CONTEXT7_API_KEY=seu_token_opcional
# OU Comando Local
MCP_CONTEXT7_COMMAND=context7 --json --query "{query}"
# Fallback Web (DuckDuckGo)
WEB_SEARCH_PROVIDER=duckduckgo
# Desabilitar pesquisas (modo offline)
FAZAI_DISABLE_RESEARCH=trueFuncionamento:
- IA detecta necessidade de mais informação (
researchNeeded=true) - Tenta MCP Context7 primeiro (se configurado)
- Fallback para busca web se Context7 falhar
- Exibe resultados com título, resumo e URL
- Usa informações para gerar resposta mais precisa
Casos de uso:
- ✅ Comandos falharam e precisa de troubleshooting
- ✅ Configuração específica de distribuição Linux
- ✅ Versões atualizadas de pacotes
- ✅ Documentação de ferramentas recentes
FazAI possui 5 camadas de proteção:
Bloqueia comandos conhecidamente perigosos:
rm -rf /(destruição de sistema)dd if=/dev/zero(sobrescrever disco)mkfs,fdisk,wipefs(formatar disco)chmod 777 -R /(permissões inseguras)
- CRITICAL: Prompt forte, default=não, exige confirmação explícita
- HIGH: Confirmação obrigatória
- MEDIUM: Confirmação normal
- LOW: Executa direto (ou confirma dependendo da flag)
Claude gera verificações pré-execução:
- "Verificar se nginx está instalado"
- "Checar se porta 80 está livre"
- "Confirmar que há espaço em disco"
Comandos reversíveis incluem comando de rollback:
{
"command": "systemctl stop nginx",
"rollbackCommand": "systemctl start nginx"
}fazai --dry-runSimula tudo sem executar, perfeito para testar.
- Coleta de Sistema: FazAI analisa seu sistema (OS, distribuição, kernel, serviços ativos, gerenciador de pacotes, etc.)
- Você descreve a tarefa: Em português ou qualquer linguagem natural
- Claude gera comandos: Com estrutura JSON completa (comando, risco, rollback, checks)
- Validação de segurança: Pattern matching + avaliação de risco
- Confirmação interativa: Baseada no nível de risco
- Execução com streaming: Você vê o output em tempo real
- Histórico: Todas as execuções são registradas
$ fazai
🖥️ FAZAI - MODO ADMINISTRADOR LINUX
Administração inteligente de sistemas Linux
Modelo: sonnet35 (claude-3-5-sonnet-latest)
✅ API key configurada (anthropic)
Coletando informações do sistema...
✅ Sistema analisado
O que você precisa fazer? instalar nginx
🔧 Comando 1:
┌─────────────────────────────────────────────┐
│ Atualizar lista de pacotes │
└─────────────────────────────────────────────┘
Comando: apt update
Risco: LOW
Executar? [Y/n] y
✅ Sucesso
...
🔧 Comando 2:
┌─────────────────────────────────────────────┐
│ Instalar nginx │
└─────────────────────────────────────────────┘
Comando: apt install -y nginx
Risco: MEDIUM
Rollback: apt remove -y nginx
Executar? [Y/n] y
✅ Sucesso
...
✅ 3 comandos processados
📋 Histórico:
1. ✅ apt update
2. ✅ apt install -y nginx
3. ✅ systemctl enable nginx
⭐ FAZAI - Administração Linux com IA| Modelo | Velocidade | Custo | Quando Usar |
|---|---|---|---|
sonnet35 |
Rápido | Médio | Tarefas complexas, múltiplos serviços (default) |
haiku |
Muito Rápido | Baixo | Tarefas simples, comandos únicos |
| Modelo | Velocidade | Custo | Quando Usar |
|---|---|---|---|
gpt4o |
Rápido | Médio | Mais recente, tarefas complexas |
gpt4mini |
Muito Rápido | Baixo | Rápido e barato |
gpt4turbo |
Rápido | Alto | Tarefas que exigem máxima capacidade |
| Modelo | Velocidade | Custo | Quando Usar |
|---|---|---|---|
llama32 |
Variável | Grátis | Execução 100% local, privacidade total |
qwen |
Variável | Grátis | Modelo Qwen 2.5:7b local |
mistral |
Variável | Grátis | Modelo Mistral local |
Nota: Ollama requer servidor Ollama rodando (local ou remoto).
Durante a instalação, o FazAI pedirá suas API keys e criará o arquivo de configuração automaticamente.
Copie e edite o arquivo de exemplo:
cp fazai.conf.example /etc/fazai/fazai.conf
nano /etc/fazai/fazai.confExemplo de configuração completa:
# ============================================
# FAZAI v3.1-beta - Configuração
# ============================================
# --- APIs de IA ---
ANTHROPIC_API_KEY=sk-ant-api03-xxxxx
OPENAI_API_KEY=sk-xxxxx
OLLAMA_BASE_URL=http://localhost:11434
# --- Vector Store (Qdrant) ---
VECTOR_PROVIDER=qdrant
QDRANT_URL=http://localhost:6333
QDRANT_API_KEY=
VECTOR_DIMENSION=1536
VECTOR_DISTANCE=cosine
# --- Pesquisa MCP Context7 ---
MCP_CONTEXT7_URL=http://localhost:7700/context7/search
MCP_CONTEXT7_API_KEY=
# MCP_CONTEXT7_COMMAND=context7 --json --query "{query}"
# --- Fallback Web ---
WEB_SEARCH_PROVIDER=duckduckgo
FAZAI_DISABLE_RESEARCH=false
# --- Logs e Configuração ---
FAZAI_CONFIG_PATH=/etc/fazai/fazai.conf
LOG_LEVEL=infoexport ANTHROPIC_API_KEY=sk-ant-api03-xxxxx
export OPENAI_API_KEY=sk-xxxxx
export VECTOR_PROVIDER=qdrant
export QDRANT_URL=http://localhost:6333
fazai- Acesse console.anthropic.com
- Crie conta (ganha $5 grátis para testar)
- Gere uma API key em "API Keys"
- Cole no
fazai.conf:ANTHROPIC_API_KEY=sk-ant-api03-xxxxx
Modelos: Claude 3.5 Sonnet (inteligente), Claude Haiku (rápido e econômico)
- Acesse platform.openai.com
- Vá em "API Keys" e crie uma nova key
- Cole no
fazai.conf:OPENAI_API_KEY=sk-xxxxx
Modelos: GPT-4o, GPT-4 Turbo, GPT-4 Mini
- Instale Ollama: ollama.com
- Baixe um modelo:
ollama pull llama3.2 # Llama 3.2 (Meta) ollama pull qwen2.5:7b # Qwen 2.5 (Alibaba) ollama pull mistral # Mistral 7B
- Configure URL se não for localhost:
OLLAMA_BASE_URL=http://192.168.1.100:11434
Vantagens: 100% local, gratuito, privado, sem limites
Deseja compartilhar a camada de pesquisa do FazAI com outras ferramentas que falam MCP? Você pode subir um microservidor HTTP:
import { ResearchCoordinator } from "./src/research";
import { MCPServer } from "./src/mcp/server";
const research = new ResearchCoordinator();
const server = new MCPServer({ researchCoordinator: research, port: 7700 });
await server.start();O endpoint POST /context7/search aceitará { "query": "..." } e retornará os mesmos resultados exibidos pelo CLI (incluindo fallback web se configurado).
O modo fazai --cli oferece:
- Chat natural com memória contextual persistente (mantém as últimas interações entre sessões)
- Comandos especiais:
/help— lista as opções disponíveis/exec ...— executa fluxos administrativos a partir de linguagem natural (suporta'''texto''')/history— exibe o histórico persistente de entradas
/history clear— limpa esse histórico/memory clear— limpa a memória contextual gravada/quitou/exit— encerra o modo CLI- Histórico navegável com setas ↑/↓ e auto-complete para comandos iniciados com
/
Para iniciar o FazAI com a marca registrada do projeto e exibir o contexto do Andarilho dos Véus antes do CLI:
O script:
- Mostra o banner “Codex // Andarilho”;
- Exibe o conteúdo de
context/andarilho-context.md(personalize conforme desejar); - Garante que o build exista (
dist/app.cjs); - Lança o
fazai --cli.
# Clone o repositório
git clone https://github.com/seu-usuario/fazai.git
cd fazai
# Instale dependências
npm install
# Desenvolvimento (com hot reload)
npm run dev
# Build para produção
npm run build
# Testar build
npm link
fazai- TypeScript - Tipagem estática
- Anthropic Claude API - IA conversacional
- Inquirer - Prompts interativos
- Chalk - Cores no terminal
- Zod - Validação de schemas
- Node.js 18+ - Runtime
Contribuições são muito bem-vindas! Para informações detalhadas sobre como contribuir, obter acesso ao repositório, resolver problemas de permissão e seguir os padrões do projeto, consulte nosso Guia de Contribuição.
- Se você não tem acesso de escrita: Fork o projeto primeiro
- Clone seu fork ou o repositório original
- Crie uma branch (
git checkout -b feature/MinhaFeature) - Faça suas mudanças seguindo os padrões de código
- Commit suas mudanças (
git commit -m 'Add: MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
Se você receber um erro Permission denied ao fazer push, consulte a seção Como Obter Acesso ao Repositório no guia de contribuição para soluções detalhadas.
- Código: Apache License 2.0 (mantendo os termos do fork Mandark original)
- Documentação, prompts e materiais de apoio: Creative Commons Attribution 4.0 International
Consulte o arquivo NOTICE para detalhes de atribuição e histórico do projeto.
FazAI deriva de Mandark por Hrishi Olickel. Este projeto mantém todos os créditos e direitos previstos pela licença Apache-2.0 original, adicionando documentação e adaptações específicas para administração Linux sob CC BY 4.0.
FazAI executa comandos reais no seu sistema. Sempre:
- Use
--dry-runpara testar primeiro - Revise comandos antes de confirmar
- Tenha backups dos dados importantes
- Entenda o que cada comando faz
FazAI não se responsabiliza por dados perdidos ou sistemas danificados.
⭐ Se FazAI te ajudou, deixe uma estrela!