Conversão de Documentos para Markdown
Converta documentos para Markdown usando a imagem Docker markitdown-for-ai. Não é necessário instalar Python localmente — tudo roda dentro do Docker.
Pré-requisitos
⚠️ Esta skill requer que o Docker ou Podman esteja instalado e disponível em seu sistema. Certifique-se de que o Docker Desktop ou Podman esteja em execução antes de usar esta skill.
Comandos Rápidos
Esta skill usa Docker por padrão. Se o Docker não estiver disponível, ela tentará automaticamente o Podman.
Do stdin (pipe):
# Tente Docker primeiro
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < file.pdf
# Se o Docker não estiver disponível, use Podman:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < file.pdf
De um arquivo local (montar diretório atual):
# Tente Docker primeiro
docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest file.docx
# Se o Docker não estiver disponível, use Podman:
podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest file.docx
Salvar saída em um arquivo:
# Tente Docker primeiro
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < input.pptx > output.md
# Se o Docker não estiver disponível, use Podman:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < input.pptx > output.md
Pipe do cat:
# Tente Docker primeiro
cat file.xlsx | docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest
# Se o Docker não estiver disponível, use Podman:
cat file.xlsx | podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest
Formatos Suportados
| Formato | Extensão |
|---|---|
.pdf | |
| Word | .docx |
| PowerPoint | .pptx |
| Excel | .xlsx |
| HTML | .html |
Baixar a Imagem (primeira vez)
docker pull ghcr.io/opentechil/markitdown-for-ai:latest
Fluxo de Trabalho do Agente
Quando um usuário lhe der um arquivo de documento para ler ou analisar:
- Verifique se o Docker está disponível — se não, tente o Podman (a skill faz fallback automaticamente)
- Execute o comando de conversão acima
- Capture a saída stdout como o conteúdo Markdown
- Leia e raciocine sobre o Markdown diretamente — nenhum arquivo temporário é necessário
Exemplo — usuário diz "resuma este PDF":
# Capture o markdown em uma variável do shell ou pipe diretamente para o próximo passo
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < report.pdf
# Se o Docker falhar, tente Podman:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < report.pdf
Quando Usar Esta Skill
Use esta skill sempre que precisar extrair ou processar conteúdo de documentos. Aqui estão cenários comuns:
Conversão e Extração de Documentos
-
Lendo arquivos DOCX: "Leia este documento Word", "extraia texto de docx"
docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest document.docx # Ou com Podman se o Docker não estiver disponível: podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest document.docx -
Lendo arquivos PDF: "Converta PDF para markdown", "extraia conteúdo de PDF"
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < report.pdf # Ou com Podman: podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < report.pdf -
Processando PowerPoint: "Extraia slides de pptx", "converta apresentação"
docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest slides.pptx # Ou com Podman: podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest slides.pptx -
Extraindo dados do Excel: "Leia planilha", "converta xlsx para markdown"
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < data.xlsx # Ou com Podman: podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < data.xlsx -
Extraindo HTML: "Converta página web para markdown", "extraia conteúdo de artigo"
docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest page.html # Ou com Podman: podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest page.html
Casos de Uso de IA e Automação
-
Resumindo documentos: "Resuma este PDF/relatório/documento" — primeiro converta para markdown, depois use o conteúdo extraído para sumarização
content=$(docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < document.pdf) # Se o Docker falhar, tente Podman: content=$(podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < document.pdf) # Em seguida, alimente $content ao seu prompt de sumarização -
Analisando contratos/acordos: "Extraia termos-chave deste PDF", "leia o contrato"
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < contract.pdf # Ou com Podman: podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < contract.pdf -
Processando arquivos enviados: Quando usuários enviam documentos para análise — converta primeiro, depois raciocine sobre o markdown
-
Processamento em lote de documentos: Converta vários arquivos em um loop para indexação ou análise
for f in *.pdf; do docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < "$f" > "${f%.pdf}.md" # Tente também com Podman, se necessário: # podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < "$f" > "${f%.pdf}.md" done -
Pipelines de RAG/embedding: "Prepare documentos para armazenamento vetorial" — converta documentos para markdown para chunking e embedding
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < document.pdf | text-embeddings-cli embed # Ou com Podman: podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < document.pdf | text-embeddings-cli embed
Exemplos
| Solicitação do Usuário | Ação |
|---|---|
| "Leia este PDF para mim" | Converta PDF para markdown e exiba o conteúdo |
| "O que há neste documento Word?" | Converta DOCX para markdown e resuma |
| "Extraia a tabela deste arquivo Excel" | Converta XLSX — tabelas são preservadas no formato markdown |
| "Converta esta página web para markdown" | Converta HTML para markdown |
| "Resuma a apresentação" | Converta slides PPTX para markdown |
Erros Comuns
| Erro | Correção |
|---|---|
Usar o placeholder {owner} | Use ghcr.io/opentechil/markitdown-for-ai:latest |
Esquecer a flag -i para stdin | Sempre adicione -i ao usar pipe |
| Montar caminho errado | Use $(pwd) e -w /data juntos |
| Esperar que o Docker encontre caminhos relativos sem montagem | Monte com -v "$(pwd):/data" |
Docker vs Podman
Esta skill suporta tanto Docker quanto Podman. Escolha com base no seu ambiente:
Quando usar Docker
- Estação de trabalho de desenvolvimento - Docker Desktop no macOS/Windows
- Servidores de produção - Sistemas Linux com Docker Engine
- Na maioria dos casos - Total paridade de recursos, configuração mais fácil
Quando usar Podman
- Contêineres sem root - Melhor segurança e isolamento
- Servidores Linux sem Docker - Nenhum daemon necessário
- Ambientes Cloud Native - Funciona com Kubernetes e orquestração de contêineres
- Conformidade de segurança - Executa sem privilégios de root
Escolhendo o comando certo
Os exemplos acima fornecem comandos tanto para Docker quanto para Podman. A skill recomenda tentar Docker primeiro — se falhar com "comando não encontrado" ou outros erros de execução, simplesmente use o comando Podman.
Tanto Docker quanto Podman compartilham a mesma imagem (ghcr.io/opentechil/markitdown-for-ai:latest), então os comandos são idênticos, exceto por docker vs podman.
Verificando qual está disponível
Verifique qual runtime de contêiner está instalado:
# Verifique o Docker
docker --version
# Verifique o Podman
podman --version
Se o Docker não estiver disponível, o Podman pode ser usado como substituto direto.
Baixando a imagem (configuração única)
Como Docker e Podman compartilham o mesmo registro, o comando para baixar é idêntico:
docker pull ghcr.io/opentechil/markitdown-for-ai:latest
podman pull ghcr.io/opentechil/markitdown-for-ai:latest
Baixe uma vez com seu runtime preferido, e ambos terão acesso à imagem localmente.