Como Usar CLI-Anything: Torne Qualquer Software Agent-Nativo

Herve Kom

Herve Kom

17 março 2026

Como Usar CLI-Anything: Torne Qualquer Software Agent-Nativo

CLI-Anything é um plugin de código aberto para agentes de codificação de IA (principalmente Claude Code) que gera uma interface de linha de comando completa para qualquer software com uma base de código. Aponte-o para GIMP, Blender, LibreOffice ou qualquer outro aplicativo, e ele analisa o código-fonte e produz um CLI estruturado que seu agente de IA pode usar para controlar esse software programaticamente.

O problema: Agentes de IA não conseguem usar software com GUI

A pilha de software atual está dividida em dois mundos que mal se comunicam.

De um lado, você tem serviços modernos "API-first": armazenamento em nuvem, processadores de pagamento, provedores de e-mail, plataformas de análise. Estes se comunicam via HTTP. Um agente de IA pode chamá-los diretamente sem ferramentas especiais.

Do outro lado, você tem o software do qual a maioria dos fluxos de trabalho profissionais depende: GIMP para edição de imagens, Blender para trabalho 3D, LibreOffice para documentos, Audacity para áudio. Estes foram construídos para humanos clicarem. Eles expõem interfaces gráficas, não APIs estruturadas.

Quando você tenta conectar um agente de IA a esta segunda categoria de software, as opções são limitadas. Você pode escrever wrappers personalizados manualmente, o que leva semanas e quebra quando o software é atualizado. Você pode tentar ferramentas de Automação Robótica de Processos (RPA), que automatizam interações de GUI via capturas de tela e cliques de pixel. Mas o RPA é frágil. Ele quebra quando os layouts das janelas mudam, quando os temas são atualizados, quando a escala da tela muda.

CLI-Anything adota uma abordagem diferente: em vez de simular um humano clicando em menus, ele analisa o código-fonte do software para encontrar as APIs subjacentes que a GUI já está chamando. Em seguida, ele gera um CLI real que chama essas APIs diretamente.

Seu agente de IA não precisa "ver" a tela. Ele emite comandos estruturados. O software faz o trabalho.

💡
Se seus fluxos de trabalho de agente também precisam chamar APIs REST externas junto com software local, o Apidog lida com o lado do teste de API. É uma ferramenta gratuita para enviar, inspecionar e organizar requisições de API, para que você possa verificar as integrações de API antes de construí-las em seus fluxos de trabalho de agente.
button

O que o CLI-Anything faz

CLI-Anything é um plugin de código aberto construído pelo HKUDS (Hong Kong University Data Science Lab). O criador, Chao Huang, expressou da seguinte forma no anúncio do projeto:

"O software de hoje serve aos humanos. Os usuários de amanhã serão agentes. CLI-Anything: preenchendo a lacuna entre os agentes de IA e o software do mundo. Uma linha de comando para deixar qualquer software pronto para agentes."

No momento da escrita, o projeto tem mais de 6.100 estrelas no GitHub.

O plugin funciona dentro do Claude Code (e experimentalmente no Codex e OpenCode). Você o aponta para a base de código de um software e ele executa um pipeline automatizado de 7 fases:

  1. Analisar - Escaneia o código-fonte, mapeia ações da GUI para as APIs subjacentes e produz um documento de procedimento operacional padrão específico do software
  2. Projetar - Arquitetura grupos de comando, modelos de estado e formatos de saída
  3. Implementar - Constrói um CLI Python baseado em Click com modo REPL, suporte a saída --json e desfazer/refazer
  4. Planejar testes - Cria um arquivo TEST.md com planos de teste de unidade e ponta a ponta
  5. Escrever testes - Escreve test_core.py (testes de unidade com dados sintéticos) e test_full_e2e.py (ponta a ponta com arquivos reais)
  6. Documentar - Executa pytest e anexa os resultados completos ao TEST.md
  7. Publicar - Cria setup.py, configura pontos de entrada de script de console, instala no PATH

Ao final da fase 7, você tem um CLI funcionando instalado em seu sistema. Seu agente de IA pode descobri-lo com which cli-anything-gimp, inspecioná-lo com cli-anything-gimp --help e começar a emitir comandos.

Todos os CLIs gerados seguem um design consistente: saída em tabela legível por humanos por padrão, saída JSON legível por máquina com a flag --json, estado de projeto persistente, desfazer/refazer e um modo REPL interativo. Essa consistência é importante: seu agente não precisa aprender uma interface diferente para cada ferramenta.

Instalando o CLI-Anything

CLI-Anything é um plugin baseado em Python. Não é um pacote npm. Você o instala em seu agente de codificação de IA, e os CLIs gerados são pacotes Python instalados com pip install -e ..

Requisitos:

Claude Code (método principal)

/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything

Isso instala o plugin e disponibiliza os comandos de barra /cli-anything em sua sessão do Claude Code.

OpenCode

Clone o repositório e copie os arquivos de comando e HARNESS.md para ~/.config/opencode/commands/. Isso adiciona cinco comandos de barra: /cli-anything, /cli-anything-refine, /cli-anything-test, /cli-anything-validate e /cli-anything-list.

Codex

bash CLI-Anything/codex-skill/scripts/install.sh

Qodercli

bash CLI-Anything/qoder-plugin/setup-qodercli.sh

Observação para Windows

O plugin requer Git para Windows (que inclui bash e cygpath) ou WSL. O shell nativo do Windows não é suportado. Se você vir cygpath: command not found, instale o Git para Windows e tente novamente.

Instalando o CLI gerado

Depois que o plugin gera um CLI para seu software, instale-o em seu PATH:

cd <software>/agent-harness
pip install -e .

Isso usa o modo de instalação editável (-e), o que significa que suas alterações no código-fonte gerado persistem sem reinstalação.

Gerando seu primeiro CLI

Uma vez que o plugin é instalado, a geração é um único comando. Aqui está o fluxo de trabalho para o GIMP:

No Claude Code:

/cli-anything ./gimp

Ou de um repositório GitHub:

/cli-anything https://github.com/blender/blender

O plugin inicia o pipeline de 7 fases. Isso leva alguns minutos, dependendo do tamanho da base de código e de quantas interfaces de API o software expõe.

Durante a fase 1 (Análise), o plugin lê o código-fonte e constrói um mapa de ações da GUI para suas chamadas de API subjacentes. Para um editor de imagens como o GIMP, isso significa encontrar todas as funções que criam camadas, aplicam filtros, exportam arquivos e gerenciam projetos. Ele produz um documento SOP específico do software (GIMP.md) que descreve o conjunto completo de operações.

Durante a fase 3 (Implementação), ele constrói o CLI usando o framework Click do Python. Cada comando suporta saída --json. Cada operação com estado (abrir um arquivo, criar um projeto) armazena o estado em um arquivo JSON. O CLI inclui um REPL interativo com prompts coloridos e histórico persistente.

A estrutura de diretórios gerada se parece com isto:

gimp/
  agent-harness/
    GIMP.md           # Documento SOP do software
    setup.py
    cli_anything/     # Pacote de namespace (sem __init__.py - PEP 420)
      gimp/
        README.md
        gimp_cli.py   # Ponto de entrada principal do CLI
        core/         # Módulos de projeto, sessão, exportação
        utils/        # Tema do REPL, auxiliares
        tests/
          test_core.py
          test_full_e2e.py
          TEST.md

Todos os CLIs gerados residem no namespace cli_anything.* (por exemplo, cli_anything.gimp). Isso evita conflitos de nomes se você gerar CLIs para vários aplicativos.

Usando o CLI gerado

Após executar pip install -e . no diretório agent-harness, você tem um novo CLI disponível:

cli-anything-gimp --help

Isso mostra todos os grupos de comandos disponíveis e seus subcomandos. A nomenclatura é consistente: cada ferramenta gera um CLI nomeado cli-anything-<software>.

Saída legível por humanos (padrão)

# Iniciar um novo projeto
cli-anything-gimp project new --width 1920 --height 1080

# Listar camadas
cli-anything-gimp layer list

# Adicionar uma camada
cli-anything-gimp layer add --name "Background" --type solid --color "#ffffff"

# Aplicar um filtro
cli-anything-gimp filter apply --name "gaussian-blur" --radius 3

# Exportar
cli-anything-gimp export save --format png --output ./output.png

Saída JSON para agentes de IA

Quando seu agente de IA chama o CLI, ele usa --json para obter saída legível por máquina:

cli-anything-gimp --json project new --width 1920 --height 1080
# Retorna: {"status": "ok", "project_id": "proj_abc123", "width": 1920, "height": 1080}

cli-anything-gimp --json layer add -n "Background"
# Retorna: {"status": "ok", "layer_id": "layer_001", "name": "Background"}

A saída JSON é consistente em todos os comandos: status, campos específicos da operação e detalhes de erro quando algo dá errado.

Modo REPL interativo

Para sessões estendidas, inicie o REPL:

cli-anything-gimp

Isso o coloca em um shell interativo com prompts coloridos, preenchimento de tabulação e histórico persistente. Útil quando você está construindo um fluxo de trabalho e quer experimentar comandos interativamente antes de scriptá-los.

Desfazer/refazer

Operações que modificam o estado suportam uma pilha de desfazer de 50 níveis:

cli-anything-gimp undo
cli-anything-gimp redo

Refinando e testando seu CLI

Os CLIs gerados nem sempre estão completos na primeira passagem. O comando /cli-anything:refine faz uma análise de lacunas e adiciona comandos ausentes.

Refinamento geral

/cli-anything:refine /home/user/gimp

Isso escaneia o CLI existente em relação à superfície da API do software, identifica operações que não são cobertas e adiciona novos comandos para as lacunas.

Refinamento focado

/cli-anything:refine /home/user/blender "particle systems and physics simulation"

Quando você sabe qual área precisa de mais cobertura, passe uma descrição de foco. O plugin mira essa parte da base de código em vez de reanalisar tudo.

Executando testes

/cli-anything:test /home/user/gimp

Isso executa as suítes de teste e atualiza TEST.md com os resultados. O projeto relata mais de 1.508 testes aprovados em 11 aplicativos com uma taxa de aprovação de 100%.

Validação

/cli-anything:validate /home/user/gimp

Verifica o harness do CLI em relação à especificação HARNESS.md para confirmar que ele atende a todos os requisitos estruturais.

Listando CLIs disponíveis

/cli-anything:list
/cli-anything:list --json        # Saída legível por máquina
/cli-anything:list --path /home  # Pesquisar em um diretório específico

Casos de uso no mundo real

O CLI-Anything foi demonstrado em 11 aplicações. Veja como cada categoria se mapeia para fluxos de trabalho reais.

Pipelines de processamento de imagem com GIMP

Um agente de IA pode processar um lote de imagens de produtos: redimensionar para dimensões padrão, aplicar uma marca d'água consistente, exportar em múltiplos formatos. Cada etapa é um comando CLI estruturado. O agente pode lidar com centenas de imagens sem qualquer interação humana.

cli-anything-gimp project open --file product.jpg
cli-anything-gimp layer add --name "Watermark" --type image --source watermark.png
cli-anything-gimp layer position --name "Watermark" --x 10 --y 10
cli-anything-gimp export save --format webp --output product-final.webp

Geração de documentos com LibreOffice

O LibreOffice gera PDFs reais. Um agente pode criar faturas, relatórios ou contratos a partir de modelos, preencher dados dinâmicos e exportar para PDF, tudo a partir de um script.

cli-anything-libreoffice document open --template invoice-template.ods
cli-anything-libreoffice cell set --address "B5" --value "Acme Corp"
cli-anything-libreoffice cell set --address "C10" --value "1500.00"
cli-anything-libreoffice export pdf --output invoice-2026-001.pdf

Renderização 3D com Blender

As renderizações do Blender levam tempo, mas são scriptáveis. Um agente pode enfileirar trabalhos de renderização, configurar parâmetros de cena e gerenciar a saída sem a GUI:

cli-anything-blender scene open --file product-scene.blend
cli-anything-blender render set --samples 256 --output /renders/product
cli-anything-blender render start --format png

Automação de streaming com OBS Studio

OBS é uma ferramenta de transmissão. Com o CLI-Anything, você pode roteirizar transições de cena, gerenciamento de fontes e controles de gravação:

cli-anything-obs scene set --name "Main Camera"
cli-anything-obs recording start
cli-anything-obs scene set --name "Screen Share"
cli-anything-obs recording stop --output session.mp4

Integração CI/CD

Qualquer um desses pode ser inserido em um pipeline CI/CD. Uma GitHub Action que constrói uma renderização do Blender a cada commit, ou um fluxo de trabalho que gera notas de lançamento em PDF a partir de um modelo do LibreOffice, ambos se tornam diretos.

Construindo fluxos de trabalho de agente com Apidog

O CLI-Anything lida com software local. Mas a maioria dos fluxos de trabalho de agente em produção também precisa chamar APIs externas: fazer upload da imagem processada para uma CDN, enviar o PDF gerado para um sistema de gerenciamento de documentos, enviar o vídeo renderizado para uma plataforma de revisão.

O Apidog lida com esse lado. É um cliente de API gratuito para testar, documentar e automatizar chamadas de API REST.

Aqui está um exemplo concreto: você está construindo um agente que processa imagens de produtos com GIMP e as envia para uma API de armazenamento em nuvem. O CLI-Anything fornece os comandos do GIMP. O Apidog permite que você teste a API de armazenamento antes de escrever qualquer código de aplicativo.

No Apidog, você:

  1. Configuraria um ambiente com suas credenciais de API armazenadas como variáveis
  2. Testaria o endpoint de upload com um arquivo de amostra para confirmar o formato da requisição
  3. Executaria asserções na resposta para verificar se a URL do arquivo retorna corretamente
  4. Exportaria a requisição de trabalho como um comando curl ou trecho de código para inserir em seu script de agente

Isso economiza o ciclo de depuração onde você escreve código, o executa, obtém um erro enigmático e tenta descobrir se o problema está em seus comandos GIMP ou em sua chamada de API. Você sabe que a API funciona antes de integrá-la.

O Apidog também suporta suítes de teste automatizadas. Uma vez que seu fluxo de trabalho esteja funcionando, você pode adicionar asserções de teste que são executadas em cada execução para detectar regressões.

Limitações a serem conhecidas

O suporte para Windows requer Git Bash ou WSL

Os CLIs gerados são baseados em Python e dependem do tratamento de caminhos no estilo bash. No Windows, você precisa do Git para Windows (que inclui bash e cygpath) ou WSL. O PowerShell nativo não é suportado.

O software de destino deve estar instalado

O CLI-Anything não inclui o software que ele "envolve". GIMP, Blender, LibreOffice e outras ferramentas precisam estar instaladas na mesma máquina onde você executa o CLI gerado. O CLI chama diretamente os backends reais do aplicativo.

Saída apenas em Python

Todos os CLIs gerados são aplicativos Python Click. Não há opção para gerar CLIs em outras linguagens. Se seu fluxo de trabalho precisar de um wrapper CLI em Node.js ou Go, você precisaria construí-lo separadamente.

Claude Code é a plataforma estável

Claude Code é o ambiente principal e mais testado. As integrações com Codex e OpenCode são marcadas como experimentais. As funcionalidades podem funcionar de forma inconsistente fora do Claude Code.

A qualidade da geração depende da base de código

O plugin analisa o código-fonte para encontrar as APIs por trás das ações da GUI. Se a base de código for mal estruturada, fortemente ofuscada ou fortemente acoplada ao estado da GUI, a análise pode perder comandos ou gerar wrappers incompletos. A etapa de refinamento ajuda, mas software proprietário complexo pode ser mais difícil de "envolver" de forma limpa.

button

FAQ

O CLI-Anything funciona com qualquer software?

Em princípio, sim. Ele pode gerar um CLI para qualquer software com uma base de código acessível. Na prática, funciona melhor com software de código aberto onde o código-fonte mapeia claramente as ações da GUI para as chamadas de API subjacentes. O projeto demonstrou isso no GIMP, Blender, Inkscape, Audacity, Kdenlive, Shotcut, OBS Studio, Draw.io, LibreOffice, AnyGen e Zoom.

O projeto é gratuito para usar?

Sim. O CLI-Anything é licenciado sob a MIT e totalmente de código aberto em github.com/HKUDS/CLI-Anything.

Preciso saber Python para usá-lo?

Não. Você não escreve nenhum Python. O plugin gera todo o código Python. Você precisa ter o Python 3.10+ instalado em seu sistema para executar os CLIs gerados.

Posso usar o CLI gerado a partir do meu próprio código, não apenas de um agente de IA?

Sim. O CLI gerado é uma ferramenta de linha de comando comum. Você pode chamá-lo a partir de scripts de shell, Makefiles, código Python ou qualquer coisa que possa executar um subprocesso.

O que é o arquivo HARNESS.md?

HARNESS.md é o documento de especificação que define como um harness gerado pelo CLI-Anything deve ser. Ele abrange estrutura de comando, formatos de saída, requisitos de teste e empacotamento. A etapa de validação verifica seu CLI gerado em relação a esta especificação.

Posso gerar CLIs para ferramentas internas que minha empresa construiu?

Sim. Aponte o plugin para qualquer base de código em seu sistema de arquivos, incluindo ferramentas internas privadas. O plugin é executado localmente e não envia seu código-fonte para lugar nenhum.

Como isso se compara ao Model Context Protocol (MCP)?

O MCP conecta agentes de IA a serviços externos via um protocolo de servidor padronizado. O CLI-Anything gera wrappers CLI locais para aplicativos GUI que não possuem APIs. Eles abordam problemas diferentes. Você pode usar ambos: MCP para serviços em nuvem, CLI-Anything para software de desktop.

Recursos adicionais

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs