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.
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
- 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.
- 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
- 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.
- 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-model
Seleção de modelos de IA, recomendações OpenRouter do Deepseek.emigo-base-url
Preencha o endereço do serviço de API.emigo-api-key
Obtenha a chave do OpenRouter (https://openrouter.ai) e salve-a no caminho especificado.
- Verificar a instalação
Depois de salvar a configuração, reinicie o Emacs.M-x emigo
Se 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 emigo
O 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.py
Se 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_file
Leitura do conteúdo do arquivo: Leia o conteúdo do arquivo.write_to_file
Gravação no arquivo.execute_command
Executar 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
- 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. - Reconstrução de documentos
Digite "Refactor functions in @src/utils.py" e o Emigo gerará o código otimizado e exibirá o patch. - execução de comandos
Digite "compile @src/main.c" no projeto e a IA escolheráexecute_command
Execução de ferramentasgcc
.
QA
- 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. - 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 aemigo-base-url
Acessível. - Como faço para atualizar a Emigo?
existir~/.emacs.d/emigo
Execução de diretóriogit pull
e, em seguida, reinicie o Emacs.