Este é um agente de terminal baseado em IA com saídas estruturadas usando Ollama, similar ao ShellGPT, com adição de funcionalidade TTS (text-to-speech). Inclui também um parceiro de estudos com perguntas de múltipla escolha e repetição espaçada.
O Agent é uma ferramenta inspirada no Shell GPT que permite ao usuário descrever em linguagem natural o que deseja fazer no terminal, e o agente gera e/ou executa o comando apropriado. Utiliza o poder do modelo gemma3 com saídas estruturadas do Ollama para garantir respostas consistentes e confiáveis. Adicionalmente, inclui funcionalidade de conversão de texto em fala (TTS) usando o Kokoro TTS e um parceiro de estudos com perguntas de múltipla escolha.
- Geração de comandos shell: Descreva o que deseja fazer e o agente gera o comando apropriado
- Execução automática: Execute comandos gerados automaticamente ou em modo interativo
- Modo explicativo: Obtenha explicações detalhadas sobre os comandos gerados
- Modo interativo: Escolha entre executar, modificar, descrever ou abortar comandos
- Funções estruturadas: Utiliza saídas estruturadas do Ollama para garantir respostas consistentes
- Suporte a múltiplas ações: Abrir programas, executar comandos shell, listar diretórios e ler arquivos
- Resposta em texto e áudio (TTS): Integração com Kokoro TTS para converter respostas em áudio
- Parceiro de Estudos: Sistema de perguntas e respostas com múltipla escolha, reformulação de perguntas para evitar monotonia e algoritmo de repetição espaçada (SM-2)
-
Certifique-se de ter o Ollama instalado e em execução
-
Baixe o modelo gemma3:
ollama pull gemma3:latest
-
Clone este repositório:
git clone <url-do-repositorio> cd agent
-
Instale as dependências:
# usando uv (recomendado) uv syncOu se preferir usar pip:
pip install -e .
uv run python main.py "como faço para verificar o uso de memória"uv run python main.py "listar arquivos no diretório atual" --executeuv run python main.py "abrir o editor kate" --explainuv run python main.py "como parar o processo com PID 1234" --interactionuv run python tts_response.py "Explique como o ShellGPT pode ser útil para programadores"uv run python demo_tts.py "Explique como o ShellGPT pode ser útil para programadores"# Usando o script de execução
uv run python run_study_partner.py
# Ou carregando um arquivo de perguntas específico
uv run python run_study_partner.py --question-file meu_questionario.json
# Apenas texto (sem áudio)
uv run python run_study_partner.py --text-only# Se instalado como pacote
study-partner --question-file sample_questions.jsonO parceiro de estudos inclui:
- Reformulação de perguntas: Cada pergunta é reformulada de forma diferente para evitar monotonia
- Múltipla escolha: Cada pergunta vem com 4 opções (1 correta + 3 distratores gerados pela IA)
- Repetição espaçada (SM-2): Algoritmo que ajuda a otimizar o aprendizado com base na repetição espaçada
- Experiência com áudio: Perguntas e opções são lidas em áudio usando o Kokoro TTS
- Acompanhamento de progresso: Contabiliza acertos e fornece estatísticas da sessão
[
{
"question": "Qual é a capital do Brasil?",
"answer": "Brasília"
},
{
"question": "Qual é a fórmula química da água?",
"answer": "H2O"
}
]--shell, -s: Gera e executa comandos shell--execute, -e: Executa comandos automaticamente--explain, -x: Explica o comando gerado--interaction: Modo interativo para escolher entre executar, modificar, descrever ou abortar--model: Especifica o modelo Ollama a ser usado (padrão: gemma3:latest)--describe-shell, -d: Descreve um comando shell--voice: Voz do Kokoro TTS a ser usada (padrão: 'pf_dora')--text-only: Apenas gera texto, sem áudio
--question-file: Caminho para arquivo JSON com perguntas e respostas--model: Modelo Ollama a ser usado (padrão: gemma3:latest)--voice: Voz do Kokoro TTS a ser usada (padrão: 'pf_dora')--text-only: Apenas texto, sem áudio
O agente pode executar as seguintes funções com base na entrada do usuário:
- open_program: Abrir programas no sistema (ex: kate, firefox, libreoffice)
- execute_command: Executar comandos shell (ex: ls, ps, grep, etc.)
- list_directory: Listar conteúdo de diretórios
- read_file: Ler conteúdo de arquivos
- Text-to-Speech: Converter respostas textuais em áudio com Kokoro TTS
- Study Partner: Sessões de estudo com perguntas de múltipla escolha e repetição espaçada
O projeto inclui suporte para conversão de texto em fala (TTS) usando o Kokoro TTS:
- Integração com o sistema de IA para converter respostas textuais em áudio
- Vozes configuráveis
- Reprodução direta de respostas em áudio
Este projeto foi fortemente inspirado no Shell GPT e nos agradecemos aos desenvolvedores por sua excelente ferramenta que serviu como base para esta implementação adaptada para o Ollama.
Contribuições são bem-vindas! Por favor, sinta-se à vontade para abrir issues e pull requests.
Para facilitar o uso do sistema, criamos um conjunto de aliases Bash que cobrem todas as funcionalidades. Para usá-los:
- O arquivo de aliases está localizado em
agent_aliases.sh - Adicione ao seu
~/.bashrcou~/.zshrc:source /home/ciro/Documentos/scripts/agent/agent_aliases.sh - Recarregue seu shell:
source ~/.bashrc
Consulte o arquivo ALIASES_DOCS.md para uma lista completa de aliases disponíveis e exemplos de uso.
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.