https://github.com/openclaw/crawlbar
Menu bar control plane for local-first crawl apps
https://github.com/openclaw/crawlbar
Last synced: 21 days ago
JSON representation
Menu bar control plane for local-first crawl apps
- Host: GitHub
- URL: https://github.com/openclaw/crawlbar
- Owner: openclaw
- License: mit
- Created: 2026-05-01T16:39:41.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-18T11:57:11.000Z (26 days ago)
- Last Synced: 2026-05-18T13:39:34.657Z (26 days ago)
- Language: Swift
- Size: 1.11 MB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# CrawlBar
CrawlBar is a macOS menu bar control plane for local-first `*crawl` apps.
It discovers crawler CLIs, reads metadata manifests, shows status/freshness/counts, runs refresh and doctor actions, writes redacted job logs, and keeps per-app config in `~/.crawlbar/config.json`.
## Apps
Built-in manifests ship for:
- `gitcrawl`
- `slacrawl`
- `discrawl`
- `notcrawl`
- `graincrawl`
Future crawler repos can drop a manifest JSON file into `~/.crawlbar/apps/*.json` to appear without a CrawlBar code change.
## Build
```sh
swift build
swift run crawlbar-selftest
swift run crawlbarctl apps --json
```
## CLI
```sh
crawlbar apps [--json]
crawlbar metadata [--app gitcrawl] [--json]
crawlbar status [--app all] [--json]
crawlbar query --app all -- manifest
crawlbar query --app slacrawl -- 'select count(*) from messages;'
crawlbar doctor --app discrawl [--json]
crawlbar refresh --app slacrawl [--json]
crawlbar action desktop-cache-import --app discrawl [--json]
crawlbar logs [--json]
crawlbar config path|validate|init
```
During development the SwiftPM product is `crawlbarctl` to avoid colliding with
the `CrawlBar` app binary on case-insensitive macOS filesystems. The install
script places it on PATH as `crawlbar`.
## Install
```sh
brew install vincentkoc/tap/crawlbar
# or
brew install openclaw/tap/crawlbar
```
The release also publishes the same formula to the OpenClaw Homebrew tap.
## Config
Main config lives at:
```text
~/.crawlbar/config.json
```
Action logs live at:
```text
~/.crawlbar/logs
```
Both are written with private file permissions. Command output is redacted before it is returned to the UI or persisted as an action log.
## Package The App
```sh
Scripts/package_app.sh
```
The packaged `.app` is written to `dist/CrawlBar.app`.
## Releases
Release notes are kept in [CHANGELOG.md](CHANGELOG.md). The packaged app bundle
version is generated by `Scripts/package_app.sh`.