ollama-code

module
v0.0.0-...-ff807ca Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2025 License: GPL-3.0

README

🤖 Ollama Code - Assistente de Código AI 100% Local

Seu assistente de programação inteligente que roda completamente no seu computador, sem precisar de internet ou pagar assinaturas!

Go Version License CI/CD Tests Coverage Go Report Card

📖 Índice

🎯 O que é?

Ollama Code é um assistente de programação com inteligência artificial que:

  • ✅ Roda 100% no seu computador (privacidade total!)
  • ✅ Funciona offline para a maioria das operações
  • ✅ É grátis e open source
  • ✅ Funciona com Ollama (modelos de IA locais)
  • ✅ Entende e escreve código em várias linguagens
  • ✅ Pesquisa na internet por você (opcional, requer conexão)
  • ✅ Analisa seu código e sugere melhorias

💡 Por que usar?

Vs. ChatGPT/Claude/Copilot
Recurso Ollama Code ChatGPT/Claude GitHub Copilot
Privacidade ✅ 100% Local ❌ Envia dados ❌ Envia dados
Custo ✅ Grátis 💰 $20/mês 💰 $10/mês
Offline ✅ Funciona ❌ Precisa internet ❌ Precisa internet
Sem limite ✅ Ilimitado ❌ Limitado ❌ Limitado
Código proprietário ✅ Fica no seu PC ❌ Vai para servidores ❌ Vai para servidores

🚀 Instalação Fácil

Passo 1: Instalar Ollama

Windows:

  1. Baixe: https://ollama.com/download/windows
  2. Execute o instalador
  3. Abra o terminal e teste: ollama --version

Linux/Mac:

curl -fsSL https://ollama.com/install.sh | sh
Passo 2: Baixar um modelo de IA

Escolha um modelo baseado na sua RAM disponível:

# Modelo pequeno (4GB RAM) - Rápido, ideal para começar
ollama pull qwen2.5-coder:7b

# Modelo médio (8GB RAM) - Balanceado (Recomendado se tiver RAM)
ollama pull qwen2.5-coder:14b

# Modelo grande (16GB+ RAM) - Mais preciso mas mais lento
ollama pull qwen2.5-coder:32b

Dica: Comece com o modelo 7b. Se funcionar bem, experimente o 14b para resultados melhores.

Passo 3: Instalar Ollama Code

Opção A: Baixar executável (Mais fácil)

  1. Vá em Releases
  2. Baixe para seu sistema operacional
  3. Coloque em uma pasta no PATH

Opção B: Compilar do código-fonte

# 1. Instalar Go (se não tiver)
# Windows: https://go.dev/dl/
# Linux: sudo apt install golang-go

# 2. Clonar repositório
git clone https://github.com/johnpitter/ollama-code.git
cd ollama-code

# 3. Compilar
chmod +x build.sh
./build.sh

# 4. Testar
./build/ollama-code --version
Passo 4: Primeiro teste!
./build/ollama-code ask "Como criar uma função que soma dois números em Python?"

Se funcionou, você está pronto! 🎉

📚 Como usar

Ollama Code tem 3 modos de uso:

1. Perguntas rápidas (ask)

Para perguntas pontuais:

ollama-code ask "Como ler um arquivo JSON em Go?"
ollama-code ask "Qual a diferença entre let e var em JavaScript?"
ollama-code ask "Pesquise na internet sobre Go 1.23"
2. Chat interativo (chat)

Para conversar e fazer várias perguntas:

ollama-code chat

Dentro do chat:

💬 Você: Como criar uma API REST em Go?
🤖 Assistente: [explica...]

💬 Você: Pode me dar um exemplo de código?
🤖 Assistente: [mostra código...]

💬 Você: exit  ← para sair
3. Modo autônomo (autonomous)

O assistente pode fazer mudanças nos arquivos automaticamente:

ollama-code chat --mode autonomous

⚠️ Atenção: Neste modo, o assistente pode modificar seus arquivos sem perguntar!

✨ Funcionalidades

🌐 Pesquisa na Internet

Ollama Code pode pesquisar na web e trazer informações atualizadas:

ollama-code ask "Qual a temperatura em São Paulo hoje?"
ollama-code ask "O que há de novo no Python 3.12?"

Como funciona:

  1. Busca no DuckDuckGo
  2. Acessa os sites e extrai o conteúdo
  3. Resume as informações para você
🔧 Skills Especializados

Ollama Code tem habilidades especiais:

1. Research (Pesquisa)

  • Busca na web
  • Compara tecnologias
  • Encontra documentação

2. API

  • Testa endpoints
  • Analisa APIs REST
  • Faz requisições HTTP

3. Code Analysis (Análise de Código)

  • Detecta bugs
  • Mede complexidade
  • Sugere otimizações
  • Verifica segurança
📝 Sistema OLLAMA.md

Configure o assistente com arquivos OLLAMA.md em 4 níveis:

1. Enterprise (~/.ollama/OLLAMA.md)

# Padrões da Empresa

- Sempre usar MIT license
- Code review obrigatório

2. Project (seu-projeto/OLLAMA.md)

# Projeto E-commerce

- Usar Clean Architecture
- 80% de cobertura de testes

3. Language (seu-projeto/.ollama/go/OLLAMA.md)

# Convenções Go

- Usar golangci-lint
- Testes table-driven

4. Local (seu-projeto/api/OLLAMA.md)

# API Handlers

- Validar todo input
- Logar todas requisições

O assistente segue todas essas regras automaticamente!

⚙️ Configuração

Mudar o modelo de IA
# Usar modelo maior (mais preciso)
ollama-code chat --model qwen2.5-coder:32b

# Usar modelo menor (mais rápido)
ollama-code chat --model qwen2.5-coder:7b
Modos de operação
# Modo somente leitura (não altera nada)
ollama-code chat --mode readonly

# Modo interativo (pergunta antes de modificar) ⭐ PADRÃO
ollama-code chat --mode interactive

# Modo autônomo (modifica sem perguntar)
ollama-code chat --mode autonomous
Arquivo de configuração

Crie ~/.ollama-code/config.json:

{
  "ollama_url": "http://localhost:11434",
  "model": "qwen2.5-coder:7b",
  "mode": "interactive",
  "max_tokens": 4096
}

💡 Exemplos Práticos

Exemplo 1: Criar uma função
$ ollama-code ask "Crie uma função em Python que calcula fatorial"

🤖 Assistente:
Aqui está uma função para calcular fatorial:

```python
def fatorial(n):
    if n == 0 or n == 1:
        return 1
    return n * fatorial(n - 1)

# Uso
print(fatorial(5))  # 120

### Exemplo 2: Pesquisar na internet

```bash
$ ollama-code ask "Pesquise sobre as novidades do Go 1.23"

🌐 Pesquisando na web: novidades do Go 1.23
📄 Buscando conteúdo de 3 sites...
✓ Conteúdo obtido de https://go.dev/doc/go1.23

🤖 Assistente:
O Go 1.23 trouxe várias novidades:

1. Range over Functions: Agora você pode usar range com funções
2. Generic Type Aliases: Suporte experimental para aliases genéricos
3. Novo pacote iter: Para trabalhar com iteradores
4. Melhorias no compilador: Binários 15% menores
5. Garbage Collector: Pausas 30% mais rápidas

Fonte: go.dev
Exemplo 3: Analisar código
$ ollama-code ask "Analise este código Go e sugira melhorias..."

🤖 Assistente:
Encontrei alguns pontos de melhoria:

1. Use range em vez de índice
2. Evite comparação com string vazia
3. Adicione documentação
[mostra código melhorado...]

📚 Documentação Completa

Guias Principais
Arquitetura
Mudanças Recentes
Problemas Comuns

Veja a seção Performance and Troubleshooting no CLAUDE.md para soluções de:

  • GPU sobrecarregada / fallback para CPU
  • Respostas lentas do LLM
  • Timeouts e travamentos
  • Alto uso de memória

🛠️ Tecnologias

  • Go 1.21+ - Linguagem principal
  • Ollama - Modelos de IA locais
  • DuckDuckGo - Busca na web
  • Cobra - CLI framework

🤝 Contribuindo

Adoramos contribuições!

Formas de contribuir:

  • 🐛 Reportar bugs
  • 💡 Sugerir funcionalidades
  • 📝 Melhorar documentação
  • 🔧 Enviar pull requests
  • ⭐ Dar uma estrela no projeto!

📄 Licença

MIT License - Veja LICENSE

🙏 Agradecimentos


Feito com ❤️ e IA local no Brasil 🇧🇷

⭐ Se você gostou, dê uma estrela no projeto!

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL