Calibre Converter是一款 OpenClaw 技能,用于对已在 Calibre 中注册的图书进行格式转换。它不直接运行 ebook‑convert 或 calibredb,而是先定位图书、确认目标格式,再调用 calibre‑openclaw‑server 完成转换、注册并返回结果。支持 EPUB、AZW3、MOBI、PDF、DOCX、TXT,并提供针对 Kindle、Kobo、重名图书及转换质量的安全代理规则。
Use este skill sempre que o usuário pedir para converter um livro, e-book ou documento já cadastrado no Calibre para outro formato. Acione também quando o usuário mencionar conversão para formatos como epub, mobi, azw3, pdf, docx, txt, html, rtf, fb2, lit, lrf, pdb, rb, snb, tcr ou qualquer outro formato suportado pelo Calibre.
O objetivo deste skill é receber a intenção do usuário, identificar o livro de forma única e pedir ao calibre-openclaw-server que faça toda a operação. O skill não deve executar ebook-convert nem calibredb diretamente.
book_id, calibre_id ou pelo título exato quando o título identificar um único cadastro.calibre-openclaw-server.calibre-openclaw-server, conversão de e-book ou cadastro de novo formato.O skill deve chamar:
http
POST /api/books/convert-format
Payload:
json
{
"book_id": 123,
"calibre_id": 456,
"title": "Título exato do livro",
"target_format": "epub",
"source_format": "pdf",
"force": false
}
Regras do payload:
book_id, calibre_id ou title.title somente quando o usuário fornecer o título exato ou quando uma busca anterior confirmar um único livro.target_format é obrigatório.source_format é opcional e só deve ser usado quando o usuário pedir ou quando houver necessidade técnica clara.force deve ficar false por padrão. Use true apenas quando o usuário pedir para substituir/regerar um formato que já existe.Resposta esperada:
json
{
"success": true,
"message": "Converted and registered EPUB for book 456.",
"book_id": 123,
"calibre_id": 456,
"title": "Título exato do livro",
"source_format": "PDF",
"target_format": "EPUB",
"output_path": "/caminho/para/o/livro.epub",
"already_available": false,
"registered": true,
"synced_count": 1
}
Use o script scripts/calibre_converter_client.py quando precisar chamar o servidor pela linha de comando:
bash
python3 scripts/calibre_converter_client.py --calibre-id 456 --target-format epub
Também é possível identificar por título exato:
bash
python3 scripts/calibre_converter_client.py --title "Título exato do livro" --target-format azw3
Variáveis de ambiente suportadas:
CALIBRE_OPENCLAW_SERVER_URL: URL base do servidor. Padrão: http://127.0.0.1:6180.CALIBRE_OPENCLAW_API_KEY: chave usada no cabeçalho Authorization: Bearer.O script carrega automaticamente o arquivo .env da raiz deste skill antes de ler essas variáveis. Variáveis já exportadas no ambiente têm prioridade sobre o .env.
azw3, salvo se ele pedir explicitamente mobi, epub ou pdf.epub quando o formato não for especificado.Conversões de PDF para EPUB podem exigir ajustes manuais de layout, sumário e quebras de página. Quando a qualidade do resultado for importante, recomende revisar o arquivo convertido no Calibre ou em um leitor compatível.