Skip to main content

Codex CLI – Ferramentas de IA, APIs e automação para desenvolvedores. Modular, extensível, com logging, testes e documentação de referência.

Project description

Codex CLI – Ferramentas de IA, APIs e Automação

PyPI


🚨 ATENÇÃO! / ATTENTION! 🚨

[PT-BR]
A aplicação está atualmente 100% fora do ar devido a um problema no último commit. Já estamos cientes e trabalhando para corrigir o mais rápido possível.
Pedimos desculpas pelo transtorno. Para dúvidas urgentes, entre em contato pelos Issues do repositório.

[EN]
The application is currently 100% offline due to an issue in the latest commit. We are aware of the problem and working to fix it as soon as possible.
We apologize for the inconvenience. For urgent matters, please open an Issue in this repository.


🔑 Configuração Rápida de API Keys

Para usar todas as funcionalidades do Codex CLI, configure suas chaves de API:

# Configuração automática (recomendado)
./scripts/setup-api-keys.sh

# Ou configure manualmente:
export GOOGLE_API_KEY="sua_chave_aqui"
export GOOGLE_SEARCH_CX="seu_search_engine_id_aqui"

📚 Guia completo: docs/pt/configuracao-api-keys.md


🌐 Documentação Multilíngue | Multilingual Documentation

Selecione o idioma / Select your language:


Índice Rápido da Documentação (PT)

Quick Documentation Index (EN)


Instalação Rápida

pip install codex-cli-montezuma

Acesse o pacote no PyPI: https://pypi.org/project/codex-cli-montezuma/

Nota: Para uma instalação completa com todas as dependências de desenvolvimento, use:

pip install -r requirements-dev.txt

Funcionalidades Principais

  • Armazena conversas e histórico em SQLite.
  • Busca por palavras-chave no histórico.
  • Interação com IA Gemini (Google) via CLI.
  • Ferramentas integradas:
    • escrever_arquivo: cria/sobrescreve arquivos de texto.
    • listar_arquivos: lista arquivos e pastas do projeto.
    • ler_arquivo: lê arquivos de texto do projeto.
    • consultar_wikipedia: busca resumos na Wikipedia.
    • consultar_stackoverflow: busca perguntas e respostas técnicas.
    • consultar_google: retorna os 3 primeiros resultados do Google Search.
    • consultar_github: mostra repositórios populares sobre um termo.
    • consultar_wolframalpha: responde perguntas matemáticas/científicas.
  • Personalização dinâmica das respostas: o agente adapta o tom, exemplos e dicas conforme o perfil do usuário, tornando as respostas mais relevantes e alinhadas ao seu estilo e necessidades.

Como Usar

  1. Instale as dependências:
    pip install -r requirements-dev.txt
    
  2. Configure as variáveis de ambiente necessárias:
    export GOOGLE_API_KEY='sua-api-key-gemini'
    export GOOGLE_SEARCH_API_KEY='sua-api-key-google-search'
    export GOOGLE_SEARCH_CX='seu-cx-google-search'
    export GITHUB_TOKEN='seu-token-github'  # (opcional, para mais requisições)
    export WOLFRAMALPHA_APPID='seu-appid-wolframalpha'
    
  3. Inicialize o banco de dados:
    python database.py
    
  4. Rode o CLI:
    python cli_agent.py
    

Exemplos de Uso

  • "Codex, crie um arquivo chamado 'exemplo.txt' com o conteúdo 'olá mundo'"
  • "Liste os arquivos da pasta docs"
  • "Leia o arquivo README.md"
  • "Pesquise no Google por 'Python asyncio'"
  • "Busque repositórios sobre 'machine learning' no GitHub"
  • "Qual a raiz quadrada de 144 no WolframAlpha?"
  • "O que significa API segundo a Wikipedia?"
  • "Como faço um request HTTP em Python? (Stack Overflow)"
  • "Codex, me dê dicas personalizadas para estudar Python à noite."

Veja mais exemplos e dicas em docs/guia_didatico/ferramentas_externas.md.

Personalização Dinâmica

O Codex analisa seu histórico de uso, temas frequentes, horários e preferências para adaptar:

  • O tom das respostas (mais formal, objetivo, motivacional, etc.)
  • Exemplos práticos alinhados ao seu perfil
  • Dicas e sugestões contextuais

Você pode visualizar seu perfil com:

python cli_agent.py --perfil-usuario

E exportar o histórico para fine-tuning futuro:

python cli_agent.py --exportar-jsonl

Roadmap

Consulte o roadmap completo para próximos passos, visão de futuro e evolução do projeto.


Logging Estruturado e Depuração

O Codex CLI utiliza logging estruturado e configurável em todos os módulos, facilitando depuração, auditoria e integração com ferramentas externas.

  • O logging é centralizado em src/log_config.py.
  • Por padrão, logs são enviados para o console, mas você pode configurar para arquivo ou outros destinos.
  • Níveis suportados: DEBUG, INFO, WARNING, ERROR, CRITICAL.
  • Todos os módulos usam logger = logging.getLogger("codex.nome_do_modulo") para rastreabilidade.

Como customizar o logging:

from src.log_config import setup_logging
setup_logging(level="DEBUG", log_file="codex.log")

Ou defina variáveis de ambiente para ajustar o nível globalmente.


Arquitetura e Boas Práticas

  • Código modularizado em src/ (core, integrações, sugestões, banco, etc).
  • Todas as funções principais usam type hints e docstrings.
  • Logging estruturado em todos os fluxos.
  • Testes automatizados com pytest e mocks para integrações externas.
  • Automação de build, testes e limpeza via Makefile e scripts.
  • Extensibilidade planejada via sistema de plugins (em desenvolvimento).

Para Desenvolvedores

  • Siga o padrão de logging e type hints em todo novo código.
  • Consulte src/log_config.py para configurar logs.
  • Veja exemplos de testes e patches em tests/ e docs/guia_didatico/como_escrever_testes.md.
  • Documentação de cada ferramenta é gerada automaticamente em docs/guia_didatico/auto_documentacao_ferramentas.md.
  • Para criar novas integrações, siga o padrão de src/integrations/ e registre no dicionário FERRAMENTAS.

Publicação no PyPI e Uso como API

Veja o guia completo em docs/publicacao_pypi_api.md.

Resumo rápido:

Publicar no PyPI:

pip install build twine
python -m build
# Para o PyPI oficial:
twine upload dist/*
# Para o TestPyPI:
twine upload --repository testpypi dist/*

Expor como API (FastAPI):

from fastapi import FastAPI, Request
from codex.cli_agent import main as codex_main

app = FastAPI()

@app.post("/codex/")
async def codex_endpoint(request: Request):
    data = await request.json()
    resposta = codex_main(**data)
    return {"resposta": resposta}

Veja detalhes, exemplos e links oficiais no guia acima.


Sumário das Mudanças Recentes (2025)

  • Modularização total: Código reorganizado em src/ com separação clara de integrações, core, sugestões e banco.
  • Type hints e docstrings: Todo o código principal agora segue tipagem estática e documentação de funções.
  • Logging estruturado: Todos os módulos usam logging centralizado e configurável via src/log_config.py.
  • Testes automatizados: Cobertura total com pytest, incluindo mocks para integrações externas.
  • Automação: Makefile e scripts para build, testes, limpeza e geração de documentação.
  • Extensibilidade: Estrutura pronta para plugins e novas integrações.
  • Documentação didática: Todos os guias, exemplos e auto-documentação atualizados.
  • Personalização dinâmica: Respostas do agente adaptam tom, exemplos e dicas conforme perfil do usuário.
  • CLI aprimorado: Sugestões inteligentes, exportação de histórico, relatórios e perfil do usuário.

Consulte o diário de bordo (docs/diario_de_bordo.md) para histórico detalhado e decisões de arquitetura.


Privacidade e Histórico

  • O histórico de conversas do Codex CLI é salvo localmente no arquivo memoria_codex.db na pasta onde o comando é executado.
  • Apenas quem tem acesso ao arquivo .db pode ver o histórico.
  • O histórico não é enviado para a internet nem compartilhado entre usuários diferentes, a menos que o arquivo seja copiado manualmente.
  • Para resetar seu histórico, basta apagar o arquivo memoria_codex.db.
  • Em ambientes multiusuário, recomenda-se rodar o CLI em pastas separadas para cada usuário.

Para planos de segurança avançada (criptografia, proteção por senha, etc), consulte o roadmap ou entre em contato com o mantenedor.


Projeto didático, aberto a sugestões e contribuições!

Licença

MIT License. Consulte o arquivo LICENSE para mais detalhes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codex_cli_montezuma-0.1.2.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codex_cli_montezuma-0.1.2-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file codex_cli_montezuma-0.1.2.tar.gz.

File metadata

  • Download URL: codex_cli_montezuma-0.1.2.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for codex_cli_montezuma-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b56caa6b178dc0688f836cfd858433df6c17c576471413e55563b6911c780cf8
MD5 cc113c0378f5a21b2c587832301081cf
BLAKE2b-256 318eeb42d93c94bd5bf27e730a9dd8babe66631ccc9f99a515356f13fb141451

See more details on using hashes here.

File details

Details for the file codex_cli_montezuma-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for codex_cli_montezuma-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b38da73674a96bb060e53f69367987b1175e9a7a1ff2990bc6fc55434be12054
MD5 9ac7643ceaf22737c7286e04fc062c14
BLAKE2b-256 6106476207f079a708254aab623ba2c114a9b0cf3165f40db1a391e484ad211c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page