Inline Karakeep bookmark search for Alfred.
Type kk <query> → see live results from your Karakeep instance directly in Alfred:
- ↩ opens the original URL in your browser
- ⌘↩ opens the bookmark in Karakeep (archived copy, tags, notes)
- Full Karakeep query language works inline:
kk is:fav #homelab,kk docker age:<6m,kk list:Reading rust - Results are cached for 120s per query, so re-typing is instant and your server isn't hammered
- If the server is unreachable, ↩ falls back to opening the web search page
Works with self-hosted instances and Karakeep Cloud. No dependencies — pure Python 3 stdlib (uses macOS system python3). Compatible with Alfred 3/4/5 (Powerpack required for workflows).
- Download
Karakeep.alfredworkflowfrom Releases and double-click it. - Configure (either way works):
- Workflow env vars (Alfred → Workflows → Karakeep →
[x]icon):KARAKEEP_SERVER— e.g.https://karakeep.example.com(default:https://cloud.karakeep.app)KARAKEEP_API_KEY— create one in Karakeep → Settings → API Keys
- Or config files: put the URL in
~/.config/karakeep/serverand the key in~/.config/karakeep/api-key(chmod 600).
- Workflow env vars (Alfred → Workflows → Karakeep →
- Optional env vars:
KARAKEEP_PIN_IP— pin the server hostname to a LAN IP (for.local/internal-DNS setups where CLI processes can't resolve the name; note this skips TLS verification for that host)KARAKEEP_CACHE_TTL— cache seconds (default 120)
Alfred spawns a fresh script process per keystroke with no request cancellation. The workflow ships with a small queue-delay + a per-query response cache, which together make it feel instant without flooding your instance.
python3 build.py # writes bundle/ (info.plist + kk_filter.py)
cd bundle && zip -r ../Karakeep.alfredworkflow .MIT