{"skill":{"slug":"dropbox-kb-auto","displayName":"Dropbox Kb Auto","summary":"Automatically index and semantically search Dropbox files using OCR and Office file parsing with efficient delta-based syncing.","description":"# Dropbox KB Auto\n\n## What problem does this solve?\n\nYour AI agent can't search your Dropbox. Documents, receipts, research papers, and notes sit in folders your agent doesn't know about — so you end up searching manually.\n\nThis skill bridges that gap: it syncs files from Dropbox, extracts text (PDF, Office, OCR for scans), and indexes everything into your agent's knowledge base. Changed files are detected via content hashing and automatically re-indexed. Unchanged files are never re-processed.\n\nOne-command installer configures folders, exclusions, file types, cron scheduling, and OpenClaw memory integration.\n\n## What This Skill Does\n\n```\n    ┌───────────────────┐\n    │  Dropbox Account  │\n    └────────┬──────────┘\n             │ Delta API (only changes)\n             ▼\n    ┌───────────────────┐\n    │  Text Extraction  │\n    │  PDF, Office, OCR │\n    └────────┬──────────┘\n             │ Markdown files\n             ▼\n    ┌───────────────────┐\n    │  OpenClaw Memory  │\n    │  Embed + Search   │\n    └────────┬──────────┘\n             │\n             ▼\n    ┌───────────────────┐\n    │  Agent answers    │\n    │  your questions   │\n    └───────────────────┘\n```\n\nSupported formats: PDF (with OCR fallback), Word, Excel, PowerPoint, images (Tesseract OCR), plain text.\n\n## Prerequisites\n\n### System Dependencies\n```bash\n# Debian/Ubuntu\nsudo apt-get install -y tesseract-ocr tesseract-ocr-eng poppler-utils\n\n# macOS\nbrew install tesseract poppler\n```\n\n### Python Dependencies\n```bash\npip3 install pypdf openpyxl python-pptx python-docx\n```\n\nOr run: `bash setup.sh`\n\n### Dropbox App Setup\n\n1. Create app at https://www.dropbox.com/developers/apps\n2. Choose **Scoped access** → **Full Dropbox**\n3. Enable: `files.metadata.read`, `files.content.read`\n4. Generate refresh token via OAuth 2 flow\n5. Add to `~/.openclaw/.env`:\n   ```bash\n   DROPBOX_FULL_APP_KEY=your_app_key\n   DROPBOX_FULL_APP_SECRET=your_app_secret\n   DROPBOX_FULL_REFRESH_TOKEN=your_refresh_token\n   ```\n\n## Installation\n\n### Via ClawHub\n```bash\nclawhub install dropbox-kb-auto\n```\n\n### Manual\n```bash\ncd ~/.openclaw/workspace/skills\ngit clone https://github.com/ferreirafabio/dropbox-kb-auto.git\n```\n\n## Configuration\n\nEdit `config.json`:\n```json\n{\n  \"folders\": [\"/Documents\", \"/Work\"],\n  \"skip_paths\": [\"/Archive\", \"/Backups\"],\n  \"file_types\": [\"pdf\", \"docx\", \"xlsx\", \"pptx\", \"jpg\", \"png\", \"txt\"],\n  \"max_file_size_mb\": 20\n}\n```\n\n## Usage\n\n### Interactive Setup (recommended)\n```bash\n./install.sh\n```\n\n### Manual Sync\n```bash\npython3 dropbox-sync.py\n```\nFirst run: 5-10 min. Incremental runs: <10 sec.\n\n### Automated via Cron\n```bash\nopenclaw cron create \\\n  --name \"Dropbox KB Sync\" \\\n  --cron \"0 */6 * * *\" \\\n  --timeout-seconds 14400 \\\n  --session isolated \\\n  --message \"cd ~/.openclaw/workspace/skills/dropbox-kb-auto && python3 dropbox-sync.py\"\n```\n\n### Query Examples\nOnce indexed, ask your agent:\n- \"Find presentations about machine learning\"\n- \"Search for expense receipts from Q1 2025\"\n- \"What do my project notes say about deployment?\"\n\n## Performance\n\nTested on 650K files (1,840 indexable): first sync ~15 min, incremental <30 sec.\n\n## Security\n\n- Read-only Dropbox access recommended\n- All extraction runs locally\n- Credentials stored in `~/.openclaw/.env` (gitignored)\n\n## License\n\nMIT\n\n## Author\n\nFabio Ferreira ([@ferreirafabio](https://github.com/ferreirafabio))\n","tags":{"latest":"1.2.0"},"stats":{"comments":0,"downloads":255,"installsAllTime":9,"installsCurrent":0,"stars":2,"versions":8},"createdAt":1771634590128,"updatedAt":1778491597572},"latestVersion":{"version":"1.2.0","createdAt":1771685771681,"changelog":"Add content hash tracking: changed files are detected and re-indexed, unchanged files are skipped. Problem-first docs.","license":null},"metadata":null,"owner":{"handle":"ferreirafabio","userId":"s17dxrmb5k2daktq5w49p5k6as884gha","displayName":"Fábio Ferreira","image":"https://avatars.githubusercontent.com/u/4440904?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1779943639310}}