1 unstable release
Uses new Rust 2024
| 0.1.0 | Jun 8, 2025 |
|---|
#2502 in GUI
225KB
289 lines
🇺🇸 English · 🇨🇳 中文 | Table of Contents ↗️
keyhook
⌨️ Global Hotkeys → Webhooks — one desktop app to trigger any HTTP request.
✨ Features
| Capability | Details |
|---|---|
| 🔑 Global shortcuts | System-wide hotkeys registered via tauri-plugin-global-shortcut. |
| 🌐 Webhook actions | Fire GET, POST, PUT, DELETE, or PATCH requests (optional JSON body, 8 s timeout). |
| 🎛 Live GUI | Yew + Trunk single-page app for adding, editing, deleting rules. |
| 💾 Persistent config | Rules saved to a pretty-printed keyhook.json in the user-specific app-config directory. |
| 🪟 Tray mode | Runs in the system tray, auto-hides the main window, quit & show options. |
| 📜 Structured logs | tracing output to console with UTC timestamps and log-level filtering (KEYHOOK_LOG). |
| 📦 Portable build | One binary per OS (tauri bundle), no runtime dependencies apart from system webview. |
🕸 Architecture
graph LR
subgraph "KeyHook (Desktop App)"
GSL[Global Shortcut\nListener]
RE[Rule Engine]
HTTP[[HTTP Client]]
end
U[User] -->|Hotkey| GSL --> RE --> HTTP
HTTP --> REST[(REST API)]
HTTP --> N8n[(n8n Workflow)]
HTTP --> Zapier[(Zapier)]
HTTP --> Script[(Custom Script)]
Dependencies
~30–85MB
~1M SLoC