
graincrawl
github.com/openclaw/graincrawl- Category
- Productivity
- Rank
- No. 1489Tools index
Previous survey · No. 1498 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- openclaw
- GitHub
- 24 stars
- Latest release
- v0.4.2
- Date
About
OpenClaw's local-first Granola notes archive — crawler that pulls Granola meeting notes into SQLite with Markdown export, snapshots, and TUI browsing.
What it does
Graincrawl collects Granola meeting records through private session access, a readable desktop cache, or the official public API. It keeps that material in a private SQLite database, then exposes search, terminal browsing, structured output, read-only queries, exports, and portable copies.
Why it's ranked here
Its strongest case is controlled access to meeting history without modifying the Granola profile. Multiple source options, diagnostics, structured automation output, and portable archives make it unusually practical. The main reservation is dependence on Granola access boundaries that the tool cannot always cross.
What's good
Every Granola source is read-only, while writes stay confined to Graincrawl configuration, cache, and database storage. The command surface covers interactive browsing and automation. Snapshot imports support merging or exact restoration, and read-only SQL gives engineers flexible analysis without granting database mutation through that interface.
Tradeoffs
Private desktop access can fail when newer Granola versions keep encryption keys in an app-scoped Keychain item. Plaintext cache fallback only works when that cache remains readable. The public API omits panels and deletion events. Markdown export defaults to a limited batch unless the user raises the limit.
How to use it well
It suits engineers and operators who want a private, queryable meeting archive for search, scripts, migration, or backup. Start with diagnostics, choose the richest available source, automate through JSON, and create snapshots before moving machines. It does not replace Granola, edit its profile, or provide missing public API data.
Technical notes+
README.md documents Homebrew and Go installation, three read-only source paths, JSON output, snapshots, and Markdown export. go.mod declares Go 1.26.5, crawlkit, TOML parsing, and modernc SQLite dependencies. internal/cli/app.go routes the command surface and opens the runtime store. internal/cli/sql.go sends queries through ReadOnlyQuery. internal/cli/tui.go builds document-layout rows with 15-second refreshes. internal/cli/export.go applies a default export limit of 100. Makefile defines formatting, vetting, dead-code analysis, vulnerability checking, tests, smoke checks, and release snapshots.
Observed
- License
- MIT
- Primary language
- Go
- Packaging and install
- Homebrew tap formula or source installation through the Go toolchain
- Interfaces
- Command-line interface, terminal browser, JSON output, shell completion, and read-only SQL
- Storage
- Private local SQLite archive with portable snapshot import and export
- Source support
- Private desktop API session, readable plaintext desktop cache, and official public API
- Quality gates
- Make targets cover formatting, vetting, dead-code analysis, vulnerability checks, tests, smoke checks, and snapshot builds
Read from README.md, go.mod, Makefile, internal/cli/app.go, internal/cli/sql.go, internal/cli/tui.go, internal/cli/help.go, internal/cli/flags.go, internal/cli/parse.go, internal/cli/export.go, internal/cli/search.go, internal/store/runs.go, internal/granola/app.go, internal/cli/archive.go, internal/cli/control.go.
What it can do
Crawl and pull Granola meeting notes
Granola meeting notes → Local SQLite database
Export notes to Markdown format
Meeting notes from SQLite database → Markdown files
Create snapshots of meeting notes
Meeting notes data → Snapshot files
Browse notes through terminal interface
SQLite database with meeting notes → Interactive TUI display
Archive meeting notes locally
Granola meeting notes → Local archive storage
Tags
Tech Stack
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.