O Magic CLI é um utilitário de linha de comando que usa LLMS para ajudá -lo a usar a linha de comando com mais eficiência, inspirada em projetos como a Amazon Q (Anterior. Fig Terminal) e GitHub Copilot para CLI.
magic-cli conta com a biblioteca de orqueis para interações LLM (execução, orquestração, alinhamento do modelo, etc.).
Leia a postagem do blog do anúncio.
Cuidado
Este projeto ainda está em desenvolvimento inicial.
Espere quebrar mudanças e bugs e relate todos os problemas que encontrar.
Obrigado!
Observação
Para obter mais opções sobre como instalar o Magic CLI, consulte a página de lançamentos para a versão que você deseja instalar.
curl -LsSf https://github.com/guywaldman/magic-cli/releases/download/0.0.6/magic-cli-installer.sh | shbrew install guywaldman/tap/magic-clipowershell - c " irm https://github.com/guywaldman/magic-cli/releases/download/0.0.6/magic-cli-installer.ps1 | iex "Veja a página de lançamentos para binários para sua plataforma.
Adicione funções ao seu ~/.bashrc ou ~/.zshrc para facilitar a formatação dos prompts no terminal (não exigindo cotações).
Por exemplo:
function mcs {
model_prompt= " $* "
magic-cli suggest " $model_prompt "
}
function mcf {
model_prompt= " $* "
magic-cli search " $model_prompt "
}
function mca {
model_prompt= " $* "
magic-cli ask " $model_prompt "
} Forneça um aviso para obter uma sugestão para a execução do comando.
Isso é útil em cenários em que você sabe aproximadamente o que deseja (e talvez até a ferramenta), mas não se lembre dos argumentos exatos ou de sua ordem.
Isso é especialmente útil com ferramentas de CLI como ffmpeg ou kubectl .

magic-cli suggest " Resize test_image.png to 300x300 with ffmpeg " Usage: magic-cli suggest <PROMPT>
Arguments:
<PROMPT> The prompt to suggest a command for (e.g., "Resize image to 300x300 with ffmpeg")
Pesquise um comando no histórico do seu shell e obtenha uma lista dos principais resultados.

magic-cli search " zellij attach " Usage: magic-cli search [OPTIONS] <PROMPT>
Arguments:
<PROMPT> The prompt to search for
Importante
Palavra para o sábio: se você estiver usando um LLM não local, tenha cuidado com o custo das incorporações, especialmente para histórias de conchas longas.
Forneça um prompt com uma tarefa que você deseja que o modelo execute e observe -o tentar sugerir um comando para executar para atingir a meta. Isso pode solicitar ao longo do caminho para executar comandos se precisar de mais contexto.
magic-cli ask " Set up the dev environment as described in the README " Usage: magic-cli ask <PROMPT>
Arguments:
<PROMPT> The prompt to ask for (e.g., "Set up the development environment")
Magic CLI suporta dois provedores LLM:
ollama : Ollama é um provedor LLM local. O comando espera que o Ollama seja instalado e executado em sua máquina local.openai : Openai é um fornecedor da Cloud LLM. Você configura um token da API e o Magic CLI o usa com as APIs do Openai. Magic CLI armazena configurações em ~/.config/magic_cli/config.json .
Use magic-cli config (para ver as opções, use magic-cli config --help ) para definir as opções de configuração:
Usage: magic-cli config <COMMAND>
Commands:
set Set a value
get Get a value
list List the configurations
reset Reset the configurations to the default values
path Get the path to the configuration file
As opções de configuração atualmente supletas são:
llm : O LLM a ser usado para gerar respostas. Valores suportados: "Ollama", "OpenAi"ollama.base_url : o URL base da API Ollama (padrão: "http: // localhost: 11434")ollama.embedding_model : o modelo a ser usado para gerar incorporação (padrão: "nomic-job-text: mais recente")ollama.model : o modelo a ser usado para gerar respostas (padrão: "Codestral: mais recente")openai.api_key (segredo): a chave da API para a API do Openaiopenai.embedding_model : o modelo a ser usado para gerar incorporação (padrão: "Text-Embeting-Ada-002")openai.model : O modelo a ser usado para gerar respostas (padrão: "GPT-4O")suggest.add_to_history : se deve adicionar o comando sugerido ao histórico da concha (padrão: false)suggest.mode : o modo a ser usado para sugerir comandos. Valores suportados: "CLIPBOARD" (Copying Command to Clipboard), "Exceção insegura" (executando na sessão atual do shell) (Padrão: "Unseve-Se-Execução")NOTA:
unsafe-executioné nomeada como tal para deixar claro que a CLI executa o comando na sessão atual do shell. Por favor, seja extremamente cuidadoso ao usar esse modo - a CLI mágica não é responsável pela execução de comandos sugeridos.
Suporte ao Windows (o PowerShell é suportado, mas o Windows não foi testado corretamente)
Suporte a mais provedores de LLM (por exemplo, antropia)
Melhorar o índice de incorporação local (atualmente armazenado ingenuamente como um JSON, analisou o SQLLITE com extensões vetoriais)
Mais cobertura de teste
A segurança é levada a sério e todas as vulnerabilidades serão tratadas com o máximo cuidado e prioridade.
Em termos de dados armazenados, os dados sensíveis atualmente tratados pela CLI mágica são:
~/.config/magic_cli ).Há planos de armazenar esse token no armazenamento de chave seguro do sistema, mas isso ainda não foi implementado.
magic-cli search , que são armazenados na configuração no diretório inicial do usuário ( ~/.config/magic_cli ) e são gerados usando o provedor LLM de escolha.Consulte Security.md para obter mais informações e instruções sobre como relatar possíveis vulnerabilidades.
As contribuições são bem -vindas!
Consulte Contribuindo.md para obter mais informações.
Meu único pedido é que as solicitações de tração sigam um problema, de modo que evitemos situações de seu trabalho duro não ser aceito devido à falta de contexto ou necessidade.