
crawlkit
github.com/openclaw/crawlkit- Category
- Developer Tools
- Rank
- No. 1105Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- openclaw
- GitHub
- 59 stars
- Latest release
- v0.14.9
- Date
About
OpenClaw's toolkit for building local-first crawlers — shared primitives across the discrawl/notcrawl/slacrawl family for SQLite + Markdown archives.
What it does
Crawlkit is a Go component set for crawler applications that need consistent storage, archiving, search, synchronization, terminal browsing, and automation. Applications compose its focused packages while keeping provider behavior and product contracts in their own codebases.
Why it's ranked here
The project has a disciplined boundary and unusually broad practical coverage. It combines careful SQLite handling, portable snapshots, encrypted backups, vector search, scheduling, and terminal interfaces without absorbing provider-specific policy. The documented compatibility gates make that breadth more credible.
What's good
The SQLite layer sets conservative connection defaults, supports read-only access, checks schema versions, and tightens database permissions. Snapshots support fingerprints and incremental imports. Backups encrypt compressed shards and validate hashes during restoration. Search covers multiple embedding endpoints, vector validation, exact cosine search, top-k selection, and result fusion.
Tradeoffs
It is infrastructure, not a complete crawler. Provider APIs, authentication, schemas, privacy filters, ranking, and command design remain downstream responsibilities. Hosted archive deployment, authorization policy, database migrations, and secrets also live elsewhere. Adoption may require adapters because existing applications retain different synchronization table shapes.
How to use it well
Choose it when building several Go crawler applications that should share archive mechanics without surrendering their existing data or command contracts. Adopt focused packages incrementally, keep privacy decisions beside provider code, and verify compatibility against old fixtures. Use another service or application layer for provider ingestion, authentication, hosted deployment, and product-specific search behavior.
Technical notes+
The module in go.mod requires Go 1.26.5 and uses modernc.org/sqlite, age, and Charmbracelet libraries. store/store.go implements WAL-oriented SQLite defaults, read-only DSNs, schema-version checks, transactions, and generic query results; store/fts.go adds escaped FTS5 query construction and optimization. state/state.go stores cursor and freshness records. cache/cache.go creates permission-restricted file snapshots through temporary-file renames. backup/files.go encrypts Gzip payloads with age and verifies SHA-256 data during restore. tui/tui.go provides interactive and JSON browsing modes. Makefile defines formatting, vet, dead-code, vulnerability, unit, and race-test gates.
Observed
- License
- MIT
- Primary language
- Go
- Install surface
- Go module packages via go get, plus an optional crawlctl binary via go install
- Interfaces
- Go library, command-line controller, terminal browser, and provider-neutral remote HTTP client contract
- Go requirement
- Go 1.26.5 or newer
- Scheduling platforms
- launchd on macOS, systemd user units on Linux, Task Scheduler on Windows, with cron rendering as fallback
Read from README.md, go.mod, Makefile, docs/boundary.md, docs/packages.md, docs/publishing.md, docs/remote-contract.md, docs/cloudflare-remote-archives.md, tui/tui.go, store/fts.go, cache/cache.go, state/state.go, store/query.go, store/store.go, backup/files.go.
What it can do
Build local-first web crawlers
Web URLs and crawling configuration → Local crawler applications
Archive crawled content to SQLite database
Crawled web content and data → SQLite database with structured content
Convert crawled content to Markdown format
Raw web content and HTML → Markdown files
Provide shared primitives for crawler development
Developer requirements and crawler specifications → Reusable crawler components and functions
Create local content archives
Web content from multiple sources → Local archive with SQLite database and Markdown files
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.