Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Local-first multimedia research library for hardware projects. Capture code, CAD, PDFs, images. Search with material-type weighting. Project isolation with cross-references. Async extraction. Backup + restore.
Local-first multimedia research library for hardware projects. Capture code, CAD, PDFs, images. Search with material-type weighting. Project isolation with cross-references. Async extraction. Backup + restore.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
A local-first multimedia research library for capturing, organizing, and searching hardware project knowledge.
Store documents โ Code, PDFs, CAD files, images, schematics Extract automatically โ Text from PDFs, EXIF from images, functions from code Search intelligently โ Full-text with material-type weighting (your work ranks higher than external research) Project isolation โ Arduino separate from CNC; no contamination Cross-reference โ Link knowledge: "this servo tuning applies to that project" Async extraction โ Searches never block while OCR runs Backup daily โ 30-day rolling snapshots
clawhub install research-library # OR pip install /path/to/research-library
# Initialize database reslib status # Add a project reslib add ~/projects/arduino/servo.py --project arduino --material-type reference # Search reslib search "servo tuning" # Link knowledge reslib link 5 12 --type applies_to
reslib add โ Import documents (auto-detect + extract) reslib search โ Full-text search with filters reslib get โ View document details reslib archive / reslib unarchive โ Manage documents reslib export โ Export as JSON/Markdown reslib link โ Create document relationships reslib projects โ Manage projects reslib tags โ Manage tags reslib status โ System overview reslib backup / reslib restore โ Snapshots reslib smoke_test.sh โ Quick validation
Storage: SQLite 3.45+ with FTS5 virtual table Extraction: PDF (pdfplumber + OCR), images (EXIF + OCR), code (AST + regex) Confidence Scoring: 0.0-1.0 based on quality + source Material Weighting: Reference (1.0) vs Research (0.5) Project Isolation: Scoped searches, no contamination Async Workers: 2-4 configurable extraction workers Catalog Separation: real_world vs openclaw projects Backup: Daily snapshots, 30-day retention
Copy reslib/config.json and customize: { "db_path": "~/.openclaw/research/library.db", "num_workers": 2, "worker_timeout_sec": 300, "max_retries": 3, "backup_retention_days": 30, "backup_dir": "~/.openclaw/research/backups", "file_size_limit_mb": 200, "project_size_limit_gb": 2 }
Use RL1 protocol in war room DNA: from reslib import ResearchDatabase, ResearchSearch db = ResearchDatabase() search = ResearchSearch(db) # Before researching, check existing knowledge prior = search.search("servo tuning", project="rc-quadcopter") if prior: print(f"Found {len(prior)} prior items") else: # New research needed... db.add_research(title="...", content="...", ...)
All targets exceeded: OperationTargetActualPDF extraction<100ms20.6msSearch (50 docs)<100ms0.33msWorker throughput>6/sec414.69/sec
# Run all tests pytest tests/ # Quick smoke test bash reslib/smoke_test.sh # Performance tests pytest tests/test_integration.py -v -k stress
OCR quality varies on hand-drawn sketches FTS5 designed for <10K documents (PostgreSQL path for scale) No automatic web research gathering (manual only) Vector embeddings ready but inactive CAD file parsing is metadata-only
See /docs/: CLI-REFERENCE.md โ All commands + examples EXTRACTION-GUIDE.md โ How extraction works SEARCH-GUIDE.md โ Ranking + weighting WORKER-GUIDE.md โ Async queue details INTEGRATION.md โ War room RL1 protocol
Real-world PDF calibration FTS5 scaling tests (10K docs) Auto-detection (reference vs research) Web research enrichment Vector embeddings (semantic search) PostgreSQL upgrade path
cd research-library pip install -e . pytest tests/ python -m reslib status
Issues? See TECHNICAL-NOTES.md for troubleshooting. Production-ready MVP. 214 tests passing. 15K lines. Ready to use.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.