Skip to content

openclaw/crawlbar

Repository files navigation

CrawlBar

CrawlBar banner

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.

For gitcrawl and discrawl, CrawlBar also understands Cloudflare-backed remote archives: remote status, remote archives, and compressed SQLite cloud publish actions appear in the app when the installed CLI exposes them.

Apps

Built-in manifests ship for:

  • gitcrawl
  • slacrawl
  • discrawl
  • telecrawl
  • imsgcrawl
  • photoscrawl (coming soon)
  • weicrawl
  • notcrawl
  • gogcli through the gog executable
  • wacli
  • birdclaw
  • graincrawl

gogcli, wacli, and birdclaw can run either locally or over SSH from their CrawlBar settings. This covers setups where the real archive or account tooling lives on a server.

Future crawler repos can drop a manifest JSON file into ~/.crawlbar/apps/*.json to appear without a CrawlBar code change.

Build

swift build
swift run crawlbar-selftest
swift run crawlbarctl apps --json

CLI

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 action cloud-publish --app discrawl [--json]
crawlbar action remote-status --app gitcrawl [--json]
crawlbar logs [--json]
crawlbar config path|validate|init
crawlbar dev register --app gitcrawl --binary /path/to/gitcrawl [--json]
crawlbar dev unregister --app gitcrawl [--json]
crawlbar dev list [--json]

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

brew install openclaw/tap/crawlbar

Config

Main config lives at:

~/.crawlbar/config.json

Action logs live at:

~/.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

Scripts/package_app.sh

The packaged .app is written to dist/CrawlBar.app.

Local and CI packages use ad-hoc signing and do not need release credentials. Official release packages fail closed unless they use the OpenClaw Foundation Developer ID identity. Runtime keychain and notarization profile locators belong in the ignored .mac-release.local.env, never in committed configuration.

Releases

Release notes are kept in CHANGELOG.md. The packaged app bundle version is read from version.env. Official artifacts are universal, hardened, notarized, stapled, and verified by Scripts/package_release.sh.

About

Menu bar control plane for local-first crawl apps

Resources

License

Contributing

Security policy

Stars

14 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors