Scripts multiplataforma para preparar um ambiente completo de NetDevOps, CML2 (MCP) e Inteligência Artificial Local em poucos minutos — seja no Linux, macOS ou Windows.
🇧🇷 Português
Os scripts disponibilizados neste repositório são fornecidos "no estado em que se encontram", sem qualquer garantia expressa ou implícita. A execução destes scripts é feita por sua própria conta e risco. O autor não se responsabiliza por quaisquer danos, perdas de dados, instabilidades no sistema, conflitos de software ou qualquer outro problema que venha a ocorrer em decorrência direta ou indireta da utilização deste material. Antes de executar qualquer script em um ambiente de produção ou em uma máquina crítica, revise o código-fonte e certifique-se de que você compreende o que será instalado e modificado no seu sistema.
🇺🇸 English
The scripts provided in this repository are offered "as is", without any express or implied warranty. Running these scripts is done entirely at your own risk. The author shall not be held liable for any damages, data loss, system instability, software conflicts, or any other issues arising directly or indirectly from the use of this material. Before executing any script in a production environment or on a critical machine, please review the source code and make sure you fully understand what will be installed and modified on your system.
⚠️ Aviso Legal / Disclaimer- O que este repositório faz?
- Stack de ferramentas instaladas
- Estrutura do repositório
- Pré-requisitos
- Guia de instalação por plataforma
- Desinstalação e Rollback
- Boas práticas de laboratório
- Testando o ambiente
Este projeto automatiza a instalação de um ambiente de desenvolvimento focado em engenharia de redes com programabilidade, cobrindo:
- Automação de redes com Netmiko, NAPALM, pyATS e Ansible
- Integração com CML2 via Model Context Protocol (MCP)
- IA Local com Ollama + DeepSeek-R1 rodando diretamente na sua máquina
- IA em Nuvem com OpenAI, Anthropic, Google Generative AI
- Frameworks de agentes com LangChain e CrewAI
Os scripts detectam a plataforma, instalam dependências de sistema, configuram o ambiente Python e deixam tudo pronto para os labs.
| Categoria | Tecnologias / Bibliotecas | Descrição |
|---|---|---|
| Linguagens Base | Python 3, Node.js (LTS), pip, npm | Motores de execução para scripts de rede e automação |
| Automação Clássica | Netmiko, Paramiko, NAPALM, Ansible | Conectividade SSH/API e gerenciamento multi-vendor |
| Frameworks de Teste | pyATS, Genie | Framework Cisco para testes de estado de rede e parsing de CLI |
| Cisco Modeling Labs | cml-mcp, virl2-client | Integração e controle programático do CML2 via MCP |
| IA Local | Ollama, DeepSeek-R1 (1.5b) | Modelo de linguagem rodando 100% offline na sua máquina |
| IA em Nuvem | OpenAI SDK, Anthropic, Google GenAI | Integração com modelos GPT, Claude e Gemini |
| Agentes Inteligentes | LangChain, CrewAI | Desenvolvimento de agentes e assistentes de rede |
| Análise de Dados | Pandas, NumPy, Matplotlib | Processamento e visualização de dados de telemetria |
| Gerenciadores Modernos | UV, UVX, Pipx | Gerenciamento rápido e isolado de ambientes Python |
| Terminal Aprimorado | Oh My Posh, PSReadLine, Terminal-Icons | Produtividade e autocomplete no PowerShell (Windows) |
📂 setup-dev/
│
├── 📄 README.md # Este guia
│
├── 📄 setup_linux_netdevops.sh # Linux: ambiente virtual isolado ✅ Recomendado
├── 📄 setup_linux_netdevops-global.sh # Linux: instalação global no sistema
├── 📄 cleanup_linux_netdevops.sh # Linux: desinstalação e limpeza
│
├── 📄 setup_mac_netdevops.sh # macOS: Homebrew + ambiente virtual ✅ Recomendado
├── 📄 setup_mac_netdevops-global.sh # macOS: instalação global
├── 📄 cleanup_mac_netdevops.sh # macOS: desinstalação e limpeza
│
├── 📄 setup_powershell_netdevops.ps1 # Windows: PowerShell + Winget + Ollama
└── 📄 cleanup_powershell_netdevops.ps1 # Windows: rollback e limpeza
Modo Virtual (venv) ✅ |
Modo Global | |
|---|---|---|
| Isola o Python do sistema | ✅ Sim | ❌ Não |
| Ideal para máquinas pessoais e notebooks | ✅ | Containers e VMs dedicadas |
| Requer ativação antes de usar | ✅ source .venv/bin/activate |
❌ Não |
| Desinstalação | Simples — apaga a pasta | Pode afetar o sistema |
| Plataforma | Requisito |
|---|---|
| Linux / WSL | Ubuntu 22.04, 24.04 ou 26.04 LTS. Usuário comum com sudo. |
| macOS | macOS 12+. Usuário comum (sem sudo). Homebrew será instalado automaticamente. |
| Windows | Windows 10/11. PowerShell aberto como Administrador. winget disponível. |
⚠️ Atenção: Os scripts de Linux e macOS bloqueiam execução comorootpara proteger o sistema.
git clone https://github.com/mnisenbaum/setup-dev.git
cd setup-devchmod +x setup_linux_netdevops*.sh cleanup_linux_netdevops.shOpção A: Ambiente Virtual (Recomendado)
Cria um workspace isolado em ~/netdevops_labs/.venv, sem tocar no Python nativo do sistema.
./setup_linux_netdevops.shApós a instalação, ative o ambiente sempre que abrir um novo terminal:
cd ~/netdevops_labs && source .venv/bin/activateOpção B: Instalação Global
Instala todas as ferramentas diretamente no Python do sistema. Ideal para containers ou VMs dedicadas.
./setup_linux_netdevops-global.shOs scripts detectam automaticamente a arquitetura do processador (arm64 ou x86_64) e configuram o Homebrew no caminho correto.
💡 Nos chips M-Series, o Ollama utiliza a GPU unificada nativamente para inferência ultrarrápida.
git clone https://github.com/mnisenbaum/setup-dev.git
cd setup-devchmod +x setup_mac_netdevops*.sh cleanup_mac_netdevops.shOpção A: Ambiente Virtual (Recomendado)
Cria um workspace isolado em ~/netdevops_labs/.venv usando Python 3.13 do Homebrew.
./setup_mac_netdevops.shApós a instalação, ative o ambiente:
cd ~/netdevops_labs && source .venv/bin/activateOpção B: Instalação Global
Instala tudo no Python gerenciado pelo Homebrew, acessível de qualquer pasta do sistema.
./setup_mac_netdevops-global.shO script utiliza o Winget (gerenciador nativo do Windows) para instalar Python, Git, Node.js, VS Code e Ollama de forma silenciosa, além de configurar o terminal com autocomplete preditivo e ícones.
git clone https://github.com/mnisenbaum/setup-dev.git
cd setup-devBotão direito no ícone do PowerShell → "Executar como Administrador"
Set-ExecutionPolicy Bypass -Scope Process -Force
.\setup_powershell_netdevops.ps1-#### O que o script faz no Windows?
- Instala Python 3.13, Git, Node.js LTS, VS Code e Ollama via Winget
- Instala Oh My Posh + CaskaydiaCove Nerd Font para um terminal com ícones
- Configura PSReadLine com autocomplete preditivo (seta
→aceita sugestão do histórico) - Instala Terminal-Icons para exibir ícones coloridos no
ls/dir - Baixa o modelo DeepSeek-R1 (1.5b) no Ollama em background
- Gera um
$PROFILEcustomizado com aliases Linux (ll,grep) e mensagem de boas-vindas
Para que os ícones apareçam corretamente:
- Abra o Windows Terminal →
Ctrl + ,(Configurações) - Vá em Perfis → Padrões → Aparência
- Altere a Fonte para:
CaskaydiaCove Nerd Font - Salve e reinicie o terminal
Remoção Manual (apenas apaga o workspace):
cd ~
rm -rf ~/netdevops_labsRemoção Automática (limpa caches e oferece remover Node.js):
./cleanup_linux_netdevops.shRemoção Manual:
rm -rf ~/netdevops_labsRemoção Automática (limpa caches e oferece desinstalar via Homebrew):
./cleanup_mac_netdevops.shRemoção Manual:
# Abra o PowerShell como Administrador
Remove-Item -Recurse -Force C:\venv-devnetRemoção Automática (remove Oh My Posh, Ollama, Terminal-Icons e restaura o $PROFILE):
.\cleanup_powershell_netdevops.ps1
⚠️ O script de limpeza do Windows não remove Python, Git, Node.js e VS Code por padrão, para não quebrar outros projetos. Descomente as linhas relevantes no script se quiser removê-los também.
1. Sempre ative o ambiente virtual ao abrir um novo terminal (modo venv)
# Linux / macOS
cd ~/netdevops_labs && source .venv/bin/activate
# Windows (PowerShell)
& C:\venv-devnet\Scripts\Activate.ps1Você saberá que o ambiente está ativo quando o prompt exibir (.venv) no início.
2. Interagindo com o Ollama (IA Local)
# Conversar com o DeepSeek-R1 no terminal
ollama run deepseek-r1:1.5b
# Listar modelos baixados
ollama list
# Baixar outro modelo
ollama pull llama3.23. Usando o OpenCode (Terminal AI)
Após a instalação, basta digitar opencode no terminal. Use Ctrl+P para alternar entre modelos de IA.
Após ativar o ambiente virtual, execute o comando abaixo para validar que as principais bibliotecas foram instaladas com sucesso:
python -c "
import netmiko
import pyats
import openai
import langchain
print('🔥 Ambiente NetDevOps pronto para automação!')
"Para testar a integração com o CML2:
python -c "
from virl2_client import ClientLibrary
print('✅ virl2-client importado com sucesso!')
"Repositório mantido em mnisenbaum/setup-dev para laboratórios e estudos de infraestrutura como código, automação de redes e Inteligência Artificial aplicada a NetDevOps.