O Ai-Punk é um assistente de desenvolvimento de software de código aberto alimentado por IA, hospedado no GitHub e desenvolvido pelo desenvolvedor Netsky. Ele se baseia no modelo LangChain ReAct e combina modelos modernos de IA para ajudar os usuários a automatizar tarefas de programação. O principal recurso do Ai-Punk é um processo de pensamento totalmente transparente, permitindo que os usuários visualizem cada etapa do raciocínio da IA em tempo real. O projeto tem um design modular, oferecendo recursos como manipulação de arquivos, pesquisa de código, comandos de terminal etc., e suporta interações em vários idiomas (inglês e russo). O Ai-Punk enfatiza a segurança, restringindo todas as operações a um diretório de trabalho especificado, o que o torna adequado para desenvolvedores, programadores e usuários que precisam automatizar tarefas. O código é público, a comunidade é livre para contribuir, o projeto é ativo e atualizado com frequência.
Lista de funções
- Processo de pensamento totalmente transparenteExibição em tempo real das etapas de raciocínio da IA para ajudar os usuários a entender a lógica da operação.
- Tarefas autônomasIA: a IA pode planejar e executar tarefas de programação complexas de forma independente.
- Arquitetura modularEstrutura de código clara e separação de módulos funcionais para facilitar a manutenção e a expansão.
- Espaço de trabalho seguroTodas as operações são restritas aos diretórios selecionados pelo usuário para garantir a segurança dos dados.
- Conjunto de ferramentas avançadasSuporte para manipulação de arquivos, pesquisa, comandos de terminal e edição de código.
- Bela interface de terminalInterface de usuário do terminal: fornece uma interface de usuário intuitiva que mostra o processo completo.
- Suporte a vários idiomasIdioma: detecta automaticamente o idioma do usuário e oferece suporte à interação em inglês e russo.
- Pesquisa inteligente de documentosPesquisa semântica e correspondência difusa: oferece suporte à pesquisa semântica e à correspondência difusa para aumentar a eficiência da localização de documentos.
- Integração de alto desempenhoExecução rápida com as ferramentas de otimização LangChain.
Usando a Ajuda
Processo de instalação
Para usar o Ai-Punk, você precisa obter o código do repositório do GitHub e configurar o ambiente de tempo de execução. Aqui estão as etapas detalhadas:
- Clonar ou fazer download do código
entrevistashttps://github.com/netsky-devel/Ai-Punk
Clique no botão "Code" (Código) e selecione "Download ZIP" (Baixar ZIP) para baixar o código-fonte ou cloná-lo usando o comando Git:git clone https://github.com/netsky-devel/Ai-Punk.git
Após a clonagem, vá para o diretório do projeto:
cd Ai-Punk
- Instalação de dependências
O Ai-Punk depende do Python 3.8+ e de bibliotecas específicas. Certifique-se de que o Python esteja instalado e, em seguida, execute o seguinte comando para instalar as dependências:pip install -r requirements.txt
As dependências incluem LangChain (para integração do modelo de IA), Rich (para embelezamento da interface do endpoint) e muito mais, conforme detalhado no
requirements.txt
. - Configuração de provedores de serviços de IA
O Ai-Punk requer uma conexão com um serviço de IA (como OpenAI, Google ou Anthropic). Execute o aplicativo principal e selecione as opções de configuração:python main.py
Selecione "1 - Setup AI Provider" (1 - Configurar provedor de IA) na interface e insira sua chave de API. A chave deve ser obtida no site do provedor de serviços de IA. As informações de configuração serão salvas na pasta
config/models.py
ou em uma variável de ambiente. - Seleção de um diretório de trabalho
Depois de executar o programa, selecione "2 - Select Working Directory" (2 - Selecionar diretório de trabalho) para especificar o diretório de trabalho para a operação. O Ai-Punk garante que todas as operações com arquivos sejam restritas a esse diretório por segurança. - Inicialização do agente de IA
Selecione "3 - Initialize Agent" para inicializar o agente de IA. O sistema carrega a configuração e prepara o conjunto de ferramentas. - Iniciar interação
Selecione "4 - Start Chat with Agent" para entrar no modo interativo. O usuário pode inserir comandos de tarefas e a IA executará e exibirá automaticamente o processo de raciocínio.
Funções principais
O principal recurso do Ai-Punk é a automação das tarefas de programação, que é explicada em detalhes a seguir:
- Processo de pensamento totalmente transparente
O que torna o Ai-Punk exclusivo é a exibição em tempo real das etapas de raciocínio da IA. Por exemplo, quando um usuário pede para analisar a estrutura de um projeto, o terminal a exibe:╭─ 🧠 Agent Thinking (Step 1) ───────────────────────────────╮ │ 需要先分析项目结构,了解代码库内容。开始列出目录文件。│ ╰──────────────────────────────────────────────────────────╯
Em seguida, a IA chama
list_directory
ferramenta que lista o conteúdo do catálogo e explica os resultados. O usuário pode ver claramente cada etapa da operação por meio da interface do terminal. - Tarefas autônomas
A IA pode executar tarefas complexas por conta própria. Por exemplo, se o usuário digitar "adicionar tratamento de erros ao main.py", a IA o fará:- recuperar
main.py
(usando oread_file
(Ferramentas). - Analisar a estrutura do código e identificar onde o tratamento de erros precisa ser adicionado.
- fazer uso de
edit_file
insere uma instrução try-catch. - Exibe o código modificado e explica a lógica da alteração.
- recuperar
- Pesquisa inteligente de documentos
O Ai-Punk oferece pesquisa semântica e correspondência difusa. O usuário digita "find all profiles" e a IA chama ofile_search
que examina o diretório e retorna os arquivos relevantes (por exemploconfig.json
). A pesquisa suporta expressões regulares e análise semântica. Exemplo:python main.py --search "config.*\.json"
Os resultados serão classificados por relevância, mostrando o caminho do arquivo e um resumo do conteúdo.
- operação de arquivo
O Ai-Punk oferece suporte a uma ampla gama de operações de arquivos:- Listagem de catálogos: Executar
list_directory
ferramenta que exibe o conteúdo do diretório e os detalhes do arquivo. - Ler arquivo: Uso
read_file
O sistema de controle de acesso, que suporta o realce de sintaxe do código. - Editar arquivo: através de
edit_file
O sistema de localização e substituição suporta modificações em lote. - Excluir arquivo: Uso
delete_file
O sistema garante a exclusão segura e backups automáticos.
Por exemplo, a exclusão de arquivos de backup antigos:
python main.py --delete "backup_*.bak"
O AI valida o arquivo e solicita a confirmação do usuário.
- Listagem de catálogos: Executar
- Execução de comandos no terminal
Os usuários podem acessar orun_terminal
para executar comandos de terminal. Exemplo:python main.py --terminal "git status"
Os comandos são executados em um ambiente controlado para evitar operações acidentais.
Operação da função em destaque
- Bela interface de terminal
O Ai-Punk usa a biblioteca Rich para criar uma interface de usuário de terminal intuitiva que exibe processos de raciocínio, resultados de operações e mensagens de erro. A interface suporta realce de cores e saída estruturada. Por exemplo, ao realizar uma pesquisa de arquivo, os resultados são exibidos em uma tabela com o nome do arquivo, o caminho e a pontuação de relevância. - Suporte a vários idiomas
O Ai-Punk detecta automaticamente o idioma de entrada do usuário e é compatível com inglês e russo. Por exemplo, se o usuário digitar "создай новый файл config.json", a IA responderá em russo e criará o arquivo:python main.py --create "config.json"
O idioma é configurado no
src/localization/
Gerenciamento de catálogos, suporte para extensão de outros idiomas. - Espaço de trabalho seguro
Todas as operações são restritas ao diretório de trabalho selecionado pelo usuário.src/workspace/manager.py
Realize a validação do caminho para garantir que os arquivos externos não sejam acessados. Por exemplo, tente acessar o arquivo../sensitive.txt
Uma mensagem de erro é acionada.
advertência
- verificação de dependênciaVerifique se todas as dependências estão instaladas antes da execução, verifique
requirements.txt
Completude. - Configuração da APIChave de API não configurada: Uma chave de API não configurada causará falha na execução. Consulte a seção
env.example
Configuração de variáveis de ambiente. - detecção de errosQuando um erro de tempo de execução for relatado, verifique a saída do terminal para obter mensagens de erro detalhadas ou verifique o
logs/
no diretório. - Código de atualizaçãoOperação regular
git pull
Obtenha o código mais recente e mantenha-se em sincronia com os repositórios oficiais.
cenário do aplicativo
- Análise da base de código
Quando os desenvolvedores precisam entender rapidamente a estrutura de um grande projeto, o Ai-Punk examina automaticamente o diretório e gera um relatório sobre a estrutura de arquivos, o que é ideal para assumir novos projetos ou revisões de código. - Alterações automatizadas de código
Quando os programadores precisam adicionar tratamento de erros ou refatorar o código em massa, o Ai-Punk edita rapidamente vários arquivos, insere trechos de código padrão e economiza tempo em operações manuais. - Gerenciamento e limpeza de documentos
Quando as equipes de desenvolvimento precisam limpar arquivos de backup antigos ou organizar diretórios de projetos, a ferramenta Secure File Manipulation da Ai-Punk realiza o trabalho com eficiência. - Suporte ao desenvolvimento em vários idiomas
Quando equipes multinacionais interagem em inglês ou russo, o Ai-Punk adapta automaticamente o idioma para proporcionar uma experiência de desenvolvimento consistente. - Aprendizado e depuração
Os iniciantes em programação podem aprender como a IA analisa e resolve problemas por meio de um processo de pensamento transparente, adequado para cenários educacionais.
QA
- Quais modelos de IA são compatíveis com o Ai-Punk?
O suporte para modelos da OpenAI, Google e Anthropic é configurado na seçãosrc/config/models.py
Situado em. - Como posso garantir uma operação segura?
O Ai-Punk restringe todas as operações a diretórios selecionados, usando a validação de caminho relativo para impedir o acesso a arquivos externos. Todas as operações de arquivo são registradas. - Como posso ampliar os novos recursos?
Repositório Fork, nosrc/tools/
Adicionar novo módulo de ferramenta, atualizarsrc/agent/wrappers/factory.py
e, em seguida, enviar a solicitação pull. - E quanto à corrida lenta?
Verifique a conectividade da rede (as chamadas da API de IA exigem uma rede estável) e certifique-se de que as dependências otimizadas (como a versão mais recente do LangChain) estejam instaladas. - Como faço para trocar de idioma?
O Ai-Punk detecta automaticamente o idioma de entrada, eliminando a necessidade de alternar manualmente. O arquivo de idioma está disponível na pastasrc/localization/messages/
Gerência média.