一键导入
add-pdf-reader
// Add PDF reading to ClaudeClaw agents. Extracts text from PDFs via pdftotext CLI. Handles WhatsApp attachments, URLs, and local files.
// Add PDF reading to ClaudeClaw agents. Extracts text from PDFs via pdftotext CLI. Handles WhatsApp attachments, URLs, and local files.
Add /compact command for manual context compaction. Solves context rot in long sessions by forwarding the SDK's built-in /compact slash command. Main-group or trusted sender only.
Add image vision to ClaudeClaw agents. Resizes and processes WhatsApp image attachments, then sends them to Claude as multimodal content blocks.
Add Ollama MCP server so the container agent can call local models for cheaper/faster tasks like summarization, translation, or general queries.
Add Agent Swarm (Teams) support to Telegram. Each subagent gets its own bot identity in the group. Requires Telegram channel to be set up first (use /add-telegram). Triggers on "agent swarm", "agent teams telegram", "telegram swarm", "bot pool".
Switch from Docker to Apple Container for macOS-native container isolation. Use when the user wants Apple Container instead of Docker, or is setting up on macOS and prefers the native runtime. Triggers on "apple container", "convert to apple container", "switch to apple container", or "use apple container".
Debug container agent issues. Use when things aren't working, container fails, authentication problems, or to understand how the container system works. Covers logs, environment variables, mounts, and common issues.
| name | add-pdf-reader |
| description | Add PDF reading to ClaudeClaw agents. Extracts text from PDFs via pdftotext CLI. Handles WhatsApp attachments, URLs, and local files. |
Adds PDF reading capability to all container agents using poppler-utils (pdftotext/pdfinfo). PDFs sent as WhatsApp attachments are auto-downloaded to the group workspace.
agent/skills/pdf-reader/pdf-reader exists — skip to Phase 3 if already appliedskill/whatsapp merged). This skill modifies WhatsApp channel files.git remote -v
If whatsapp is missing, add it:
git remote add whatsapp https://github.com/qwibitai/claudeclaw-whatsapp.git
git fetch whatsapp skill/pdf-reader
git merge whatsapp/skill/pdf-reader || {
git checkout --theirs package-lock.json
git add package-lock.json
git merge --continue
}
This merges in:
agent/skills/pdf-reader/SKILL.md (agent-facing documentation)agent/skills/pdf-reader/pdf-reader (CLI script)poppler-utils in src/runtimes/docker/Dockerfilesrc/channels/whatsapp.tssrc/channels/whatsapp.test.tsIf the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.
npm run build
npx vitest run src/channels/whatsapp.test.ts
./src/runtimes/docker/build.sh
Service name: Derived from the directory name:
com.claudeclaw.<dirname>(macOS) /claudeclaw-<dirname>(Linux). For example, if cwd ismy-assistant, the service iscom.claudeclaw.my-assistant. Determine the correct service name before running service commands below.
launchctl kickstart -k gui/$(id -u)/com.claudeclaw # macOS
# Linux: systemctl --user restart claudeclaw
Send a PDF file in any registered WhatsApp chat. The agent should:
attachments/Ask the agent to read a PDF from a URL. It should use pdf-reader fetch <url>.
tail -f logs/claudeclaw.log | grep -i pdf
Look for:
Downloaded PDF attachment — successful downloadFailed to download PDF attachment — media download issueContainer needs rebuilding. Run ./src/runtimes/docker/build.sh and restart the service.
The PDF may be scanned (image-based). pdftotext only handles text-based PDFs. Consider using the agent-browser to open the PDF visually instead.
Verify the message has documentMessage with mimetype: application/pdf. Some file-sharing apps send PDFs as generic files without the correct mimetype.