Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

Emigo: um assistente para tarefas de programação complexas usando IA no Emacs

Introdução geral

O Emigo é um assistente de programação de IA de código aberto para o Emacs, desenvolvido por MatthewZMD no GitHub, que ajuda os programadores a realizar tarefas como análise de código no Emacs, integrando um modelo de linguagem em grande escala (LLM). O Emigo é um assistente de programação de IA de código aberto para o Emacs, desenvolvido por MatthewZMD no GitHub, que ajuda os programadores a analisar, gerar e modificar códigos no Emacs integrando um modelo de linguagem de grande escala (LLM). O recurso principal do Emigo é uma "IA agêntica", que não apenas gera texto, mas também interage com o projeto por meio de ferramentas, como leitura de arquivos, gravação de código ou execução de comandos. Ele pode não apenas gerar texto, mas também interagir com o projeto por meio de ferramentas, como leitura de arquivos, gravação de código ou execução de comandos. Ele foi desenvolvido por Aider e Cline O Emigo é o sucessor do Aidermacs, inspirado em ferramentas como o Aidermacs. Atualmente, o Emigo está em teste Beta e os recursos ainda estão sendo refinados para que os desenvolvedores possam experimentar e dar feedback.

Emigo: um assistente para tarefas complexas de programação com IA no Emacs-1


 

Lista de funções

  • Uso de ferramentas baseadas em agentesIA: seleciona e executa ferramentas com base nos requisitos da tarefa, como ler ou gravar arquivos ou executar comandos.
  • Integração perfeita com o EmacsInterface e atalhos: A interface e os atalhos são consistentes com a experiência nativa do Emacs.
  • Suporte para vários modelos de IAConecta-se a modelos como OpenRouter, Deepseek, etc. via LiteLLM, que está disponível gratuitamente para o usuário.
  • gerenciamento de contexto (computação)Registro automático do histórico do diálogo e dos arquivos de projeto para garantir uma conversa coerente.
  • Adicionar contexto de arquivoAdicionar arquivos rapidamente à análise de IA por meio do símbolo "@".
  • Geração e exibição de patches de códigoAlterações de código: As alterações de código retornadas pela IA são destacadas para facilitar a visualização.

 

Usando a Ajuda

O Emigo é um assistente de IA para usuários do Emacs. Aqui estão instruções detalhadas sobre como instalá-lo e usá-lo para garantir que você comece a usá-lo rapidamente.

Processo de instalação

  1. Inspeção de requisitos ambientais
    • Requer o Emacs versão 28 ou superior. Ele pode ser baixado e instalado em https://www.gnu.org/software/emacs/.
    • Requer o Python 3.x, que pode ser ignorado para aqueles que o têm instalado e obtido em https://www.python.org/ para aqueles que não o têm.
  2. Baixar Emigo
    Clone o Emigo no diretório de configuração do Emacs executando o seguinte comando em um terminal:
git clone https://github.com/MatthewZMD/emigo.git ~/.emacs.d/emigo
  1. Instalação das dependências do Python
    Vá para o diretório do Emigo e execute-o:
cd ~/.emacs.d/emigo
pip install -r requirements.txt

Isso instala as bibliotecas Python necessárias, como a LiteLLM.

  1. Configuração do Emacs
    Abra o arquivo de configuração do Emacs (geralmente ~/.emacs.d/init.el), adicione o seguinte código:
(use-package emigo
:straight (:host github :repo "MatthewZMD/emigo")
:config
(emigo-enable) ;; 自动启动后台进程
:custom
(emigo-model "openrouter/deepseek/deepseek-chat-v3-0324") ;; 设置默认模型
(emigo-base-url "https://openrouter.ai/api/v1") ;; 设置 API 地址
(emigo-api-key (emigo-read-file-content "~/.config/openrouter/key.txt"))) ;; 加载 API 密钥
  • Configuração::
    • emigo-modelSeleção de modelos de IA, recomendações OpenRouter do Deepseek.
    • emigo-base-urlPreencha o endereço do serviço de API.
    • emigo-api-keyObtenha a chave do OpenRouter (https://openrouter.ai) e salve-a no caminho especificado.
  1. Verificar a instalação
    Depois de salvar a configuração, reinicie o Emacs. M-x emigoSe aparecer um novo buffer, a instalação foi bem-sucedida.

Como usar

As operações do Emigo são realizadas principalmente no Emacs, combinando atalhos e janelas interativas.

Lançamento do Emigo

  • No diretório do projeto, digite M-x emigoO buffer dedicado é aberto após o retorno do carro.
  • Se você estiver em um repositório Git, a Emigo usará o diretório raiz do repositório como o caminho da sessão. Para usar o diretório atual, digite C-u M-x emigo.

prompt de entrada

  • Insira seus requisitos no buffer, por exemplo:
请优化 @src/main.py 中的排序函数
  • A Emigo encontrará automaticamente src/main.py e enviado à IA para processamento.

Adição de arquivos ao contexto

  • Consulte o arquivo com o símbolo "@", por exemplo. @src/utils.pySe não for, a Emigo o adicionará ao contexto.
  • Para visualizar o arquivo de contexto: pressione C-c C-l(em execução) emigo-list-context-files).
  • Para excluir um arquivo: Pressione C-c C-f(em execução) emigo-remove-file-from-context).

Interagindo com a IA

  • Depois que a tarefa é inserida, a IA a analisa e retorna os resultados. Por exemplo:
请帮我调试 @src/main.c 中的内存泄漏
  • Os patches retornados pela IA serão destacados como tal:
- free(ptr);
+ if (ptr) free(ptr);

Processo de uso da ferramenta

  • A funcionalidade baseada em agentes da Emigo é implementada por meio de ferramentas. A IA selecionará ferramentas com base em tarefas como:
  • read_fileLeitura do conteúdo do arquivo: Leia o conteúdo do arquivo.
  • write_to_fileGravação no arquivo.
  • execute_commandExecutar comando.
  • A IA pode solicitar:
我需要运行 gcc -o test main.c,同意吗?
  • manter a mão sobre y Confirme se os resultados são inseridos na caixa de diálogo após a execução da ferramenta.

Gerenciamento de sessões

  • Verifique o contexto: use C-c C-l Exibir uma lista dos arquivos atuais.
  • Reinicie a sessão: feche o buffer e execute-o novamente M-x emigo.

Alertas de status de desenvolvimento

  • O Emigo está atualmente na versão Beta e pode ter alterações na API, funcionalidade instável ou documentação incompleta. Recomenda-se usá-lo apenas para fins de teste e enviar problemas pelo GitHub.

 

cenário do aplicativo

  1. depuração de código
    Quando encontrar uma falha em um projeto em C, digite "check @main.c for errors" e a IA analisará o problema e sugerirá uma correção.
  2. Reconstrução de documentos
    Digite "Refactor functions in @src/utils.py" e o Emigo gerará o código otimizado e exibirá o patch.
  3. execução de comandos
    Digite "compile @src/main.c" no projeto e a IA escolherá execute_command Execução de ferramentas gcc.

 

QA

  1. Quais modelos são compatíveis com o Emigo?
    Vários modelos são compatíveis com o LiteLLM, como o Deepseek do OpenRouter, o Anthropic Claude etc., basta especificar o nome do modelo e a API na configuração.
  2. Por que o prompt não está respondendo?
    Pode haver uma chave de API inválida ou um problema de rede. Verifique o caminho do arquivo de chave e a conexão de rede para garantir que a emigo-base-url Acessível.
  3. Como faço para atualizar a Emigo?
    existir ~/.emacs.d/emigo Execução de diretório git pulle, em seguida, reinicie o Emacs.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Emigo: um assistente para tarefas de programação complexas usando IA no Emacs
pt_BRPortuguês do Brasil