首次启动会被 macOS 拦截,需到系统设置→隐私与安全性点「仍要打开」;热键失效通常是因为只给了辅助功能权限而没给输入监控权限,授权后需重启应用;从源码开发时 npm run dev 不会编译 Swift 原生模块,需先执行 npm run build:native,且依赖 Node.js 22+ 与 Xcode 命令行工具。
brew install --cask supercmdlabs/supercmd/supercmd仅支持 macOS,需按芯片选择 Apple Silicon(arm64)或 Intel 的 dmg 安装包;README 未提及显存或 GPU 要求。
macOS 开源启动器,兼容 Raycast 扩展并集成语音听写、朗读与 AI 动作
一款 macOS 启动器,用键盘快速唤起应用、搜索文件和剪贴板历史,替代 Spotlight 和 Raycast 的轻量选择。
核心能力
- 提供 @raycast/api 与 @raycast/utils 兼容层,可直接安装 Raycast 商店扩展
- 支持导入加密的 .rayconfig 备份,恢复设置、热键、扩展与片段
- 按住热键说话,松开即转写输入,支持 Whisper、Parakeet 与系统 STT
- 用 Swift 原生模块实现窗口平铺、片段展开、剪贴板快速粘贴
- 接入 OpenAI、Anthropic、Ollama、Gemini 等可配置 AI 提供商
容易踩的坑
- 1.0.26最新正式版2026-06-20 · 2026-06-20 18:08 UTC
What's Changed
- Fix/browser search memory by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/459
- feat: add {link} placeholder for rich-text hyperlink snippets by @theparkerk in https://github.com/SuperCmdLabs/SuperCmd/pull/456
- feat(settings): add macOS menu bar icon toggle in Advanced by @Arturgrr in https://github.com/SuperCmdLabs/SuperCmd/pull/465
- fix(canvas): Excalidraw-compatible JSON export + fix shift shortcuts in Search Canvases by @ajchemist in https://github.com/SuperCmdLabs/SuperCmd/pull/464
- feat:add searchApplicationsScope to settings.json by @fang63625 in https://github.com/SuperCmdLabs/SuperCmd/pull/466
- feat(whisper): custom vocabulary biasing for local whisper.cpp by @Arturgrr in https://github.com/SuperCmdLabs/SuperCmd/pull/467
- fix(extension-runner): symlink assetsPath to avoid spaces breaking execSync in extensions by @ajchemist in https://github.com/SuperCmdLabs/SuperCmd/pull/468
- fix(tray): use SVG file for menu bar icon — sharper and consistent across builds by @ajchemist in https://github.com/SuperCmdLabs/SuperCmd/pull/469
- fix(build): bundle both macOS architectures of esbuild's native binary by @devrosx in https://github.com/SuperCmdLabs/SuperCmd/pull/463
- fix: Add crash recovery to renderer by @peterhartman in https://github.com/SuperCmdLabs/SuperCmd/pull/472
- fix: recognize Safari PWA apps (CFBundlePackageType AAPL) in app discovery by @tortugato in https://github.com/SuperCmdLabs/SuperCmd/pull/473
- fixed issue with notes by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/474
New Contributors
- @Arturgrr made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/465
- @fang63625 made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/466
- @devrosx made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/463
- @peterhartman made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/472
- @tortugato made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/473
Full Changelog: https://github.com/SuperCmdLabs/SuperCmd/compare/1.0.25...1.0.26
- 1.0.252026-06-05 · 2026-06-05 23:42 UTC
查看更新说明
What's Changed
- fix: close Clipboard Manager in one Escape when opened via shortcut (#407) by @denysbutenko in https://github.com/SuperCmdLabs/SuperCmd/pull/408
- feat: add Helium browser history import by @JustYannicc in https://github.com/SuperCmdLabs/SuperCmd/pull/410
- fix(i18n): restore structural parity across all 9 locales by @monotykamary in https://github.com/SuperCmdLabs/SuperCmd/pull/403
- feat: support Chromium profile history and bookmarks by @JustYannicc in https://github.com/SuperCmdLabs/SuperCmd/pull/412
- feat: add Chromium browser tab sync bridge by @JustYannicc in https://github.com/SuperCmdLabs/SuperCmd/pull/414
- feat: add browser result controls and provider ordering by @JustYannicc in https://github.com/SuperCmdLabs/SuperCmd/pull/416
- feat: combine browser and root search improvements by @JustYannicc in https://github.com/SuperCmdLabs/SuperCmd/pull/434
- fix(browser-search): restore frecency function removed in #434 by @monotykamary in https://github.com/SuperCmdLabs/SuperCmd/pull/449
- feat: add Polish (pl-PL) as a dictation recognition language by @jash90 in https://github.com/SuperCmdLabs/SuperCmd/pull/442
- feat: add menu item search for active application (#315) by @BlueFang in https://github.com/SuperCmdLabs/SuperCmd/pull/443
- feat(whisper): native AVAudioEngine capture bypasses renderer getUserMedia by @monotykamary in https://github.com/SuperCmdLabs/SuperCmd/pull/448
- fix: hide launcher window after hotkey-triggered silent script commands by @theparkerk in https://github.com/SuperCmdLabs/SuperCmd/pull/450
- feat(whisper): add dropdown preset keybinding selector for speech-to-text by @monotykamary in https://github.com/SuperCmdLabs/SuperCmd/pull/447
- fix: merge List.Item.Detail fragment children into single detail element by @sanjayyes in https://github.com/SuperCmdLabs/SuperCmd/pull/439
- fix: prevent settings window flash when whisper overlay opens by @monotykamary in https://github.com/SuperCmdLabs/SuperCmd/pull/446
- Browser issues by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/453
- Jun 1 fixes by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/455
- Fix/launcher focus bugs by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/457
- feat(window): add Maximize Width and Maximize Height commands by @ajchemist in https://github.com/SuperCmdLabs/SuperCmd/pull/454
New Contributors
- @JustYannicc made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/410
- @jash90 made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/442
- @BlueFang made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/443
- @theparkerk made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/450
- @sanjayyes made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/439
- @ajchemist made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/454
Full Changelog: https://github.com/SuperCmdLabs/SuperCmd/compare/1.0.24...1.0.25
- 1.0.242026-05-17 · 2026-05-17 13:43 UTC
查看更新说明
What's Changed
- feat: add Quit and Force Quit actions for apps by @cameronapak in https://github.com/SuperCmdLabs/SuperCmd/pull/387
- Fix image clipboard entries missing from Clipboard History by @denysbutenko in https://github.com/SuperCmdLabs/SuperCmd/pull/391
- Added animation fix for tahoe by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/392
- Image copy fix by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/394
- Discovering apps issue by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/393
- Ai prompt fix by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/396
- Ai prompt fix by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/398
- window management: bump almost maximize to 90%, suppress resize anima… by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/397
- feat: add Auto Quit feature for .app files by @pazhanir in https://github.com/SuperCmdLabs/SuperCmd/pull/385
- Auto quit enhanements by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/399
- Added fix for updater by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/400
- Enhancements by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/404
New Contributors
- @denysbutenko made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/391
Full Changelog: https://github.com/SuperCmdLabs/SuperCmd/compare/1.0.23...1.0.24
- 1.0.232026-05-14 · 2026-05-14 00:35 UTC
查看更新说明
What's Changed
- (feat) LM Studio provider by @NZ-Linix in https://github.com/SuperCmdLabs/SuperCmd/pull/365
- fix: correct settings toggle knob alignment for all font sizes by @monotykamary in https://github.com/SuperCmdLabs/SuperCmd/pull/373
- fix(clipboard): use privileged sc-clipboard protocol for image previews in dev mode by @monotykamary in https://github.com/SuperCmdLabs/SuperCmd/pull/372
- fix(native): update FluidAudio 0.12.4 → 0.14.4 for Swift 6.3 compatibility by @monotykamary in https://github.com/SuperCmdLabs/SuperCmd/pull/377
- Performance improvements: Cut latency on show + Enter; fire-and-forget all launch paths by @cmer in https://github.com/SuperCmdLabs/SuperCmd/pull/363
- feat: add suport for importing data from raycast exports by @brrock in https://github.com/SuperCmdLabs/SuperCmd/pull/362
- Syncable settings folder + extension sync by @cmer in https://github.com/SuperCmdLabs/SuperCmd/pull/367
- feat: add App Uninstaller for .app files by @pazhanir in https://github.com/SuperCmdLabs/SuperCmd/pull/379
- added fix for clipboard copy image cpu usage by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/384
- fix: prevent flash of unfiltered list when pressing Enter to open app by @monotykamary in https://github.com/SuperCmdLabs/SuperCmd/pull/371
- fix(LLM): stop auto-appending /v1 to custom OpenAI-compatible base URLs by @cameronapak in https://github.com/SuperCmdLabs/SuperCmd/pull/382
- Memory usage optimisation by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/386
New Contributors
- @cmer made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/363
- @brrock made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/362
- @cameronapak made their first contribution in https://github.com/SuperCmdLabs/SuperCmd/pull/382
Full Changelog: https://github.com/SuperCmdLabs/SuperCmd/compare/1.0.22...1.0.23
- 1.0.222026-05-07 · 2026-05-07 00:03 UTC
查看更新说明
What's Changed
- Browser search by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/358
- Added fix for whisper, now works in supercmd itself by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/357
- added safe storage by @shobhit99 in https://github.com/SuperCmdLabs/SuperCmd/pull/360
- added fix for things extension
- added fix for aerospace
Full Changelog: https://github.com/SuperCmdLabs/SuperCmd/compare/1.0.21...1.0.22
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。

Open-source launcher for macOS: Raycast + Wispr Flow + Speechify + Memory + AI in one app.
SuperCmd gives you Raycast-style extension workflows, hold-to-speak dictation, natural text-to-speech, AI actions backed by configurable providers and memory, notes, canvas, clipboard history, snippet expansion, and window tiling — all from a single keyboard shortcut.
What It Is
SuperCmd is an Electron + React launcher that focuses on Raycast extension compatibility while remaining community-driven and open source. It ships a full @raycast/api and @raycast/utils compatibility shim so existing Raycast extensions work without modification. For anything that requires tight system integration — hotkeys, window management, speech recognition, clipboard, snippet injection — it drops into Swift and Objective-C to talk directly to macOS frameworks (ApplicationServices, EventKit, AVFoundation, Carbon) for native speed and reliability.
Key Features
- Raycast extension compatibility —
@raycast/apiand@raycast/utilsshims; install extensions directly from the Raycast store - Raycast backup import — import encrypted
.rayconfigbackups with settings, hotkeys, extensions, scripts, quicklinks, snippets, notes, and extension prefs - AI cursor prompt — inline AI suggestions at your cursor position across any app
- AI chat — chat with configurable providers (OpenAI / Anthropic / Ollama / Gemini / OpenAI-compatible)
- Hold-to-speak dictation — Wispr Flow-style voice input; hold hotkey, speak, release to type (Whisper, Parakeet, or native macOS STT)
- Read aloud — Speechify-style TTS for selected text (Edge TTS or ElevenLabs)
- Clipboard history — full clipboard manager with Cmd+1–9 quick-paste shortcuts
- Snippet expansion — create and trigger text snippets with keyboard shortcuts
- Quick links — bookmark URLs and launch them from the launcher
- Notes — lightweight in-launcher note-taking
- Canvas — freeform drawing and diagramming
- File search — fast indexed file search with protected-roots support
- Calendar/schedule — view today's events from EventKit
- Window tiling — 24 window placement commands (halves, thirds, quarters, center, fill, 10px nudge/resize)
- Hyper key — remap Caps Lock to a custom modifier with configurable behavior
- System commands — Sleep, Restart, Lock Screen, Log Out, Close All Apps, Empty Trash
- Script command support — run custom shell/Python/Ruby scripts from the launcher
- Auto-updates — built-in updater via GitHub Releases; check manually or install on next launch
- Memory-aware AI — Supermemory integration
- Glassy UI — liquid-glass morphism with custom background image, blur, and opacity controls
- Localization — English, Chinese (Simplified/Traditional), Japanese, Korean, French, German, Spanish, Russian
Tech Stack
- Electron 40 (main process)
- React 18 + Vite 5 (renderer)
- TypeScript 5.3
- Tailwind CSS 3
- Swift binaries for macOS-native integrations (11 Swift helpers + fast-paste native module)
Project Structure
src/main/ Electron main process, IPC, extension execution, AI, settings
src/renderer/ React UI + Raycast compatibility layer + built-in feature views
src/native/ Swift native helpers (11 binaries)
extensions/ Installed/managed extension data
dist/ Build output
Key source files
| Path | Purpose |
|---|---|
src/main/main.ts | Entry point — IPC handlers, window management, global shortcuts |
src/main/preload.ts | contextBridge — exposes window.electron API to renderer |
src/main/commands.ts | App/extension/script discovery; getAvailableCommands() with cache |
src/main/extension-runner.ts | Extension execution engine (esbuild bundle + require shim) |
src/main/extension-registry.ts | Extension catalog, install, uninstall, update |
src/main/ai-provider.ts | AI streaming (OpenAI / Anthropic / Ollama / Gemini) via Node http/https |
src/main/settings-store.ts | JSON settings persistence (AppSettings, cached in memory) |
src/renderer/src/App.tsx | Root component — wires hooks and routes to views |
src/renderer/src/raycast-api/ | @raycast/api + @raycast/utils compatibility runtime |
src/renderer/src/hooks/ | Feature hooks — state and logic, no JSX |
src/renderer/src/views/ | Full-screen view components — pure UI |
Native Swift helpers
| Binary | Purpose |
|---|---|
calendar-events | EventKit calendar integration |
color-picker | System color picker |
get-selected-text | Extract selected text from frontmost app |
hotkey-hold-monitor | Hold-to-speak hotkey detection |
hyper-key-monitor | Caps Lock → Hyper Key remapping |
input-monitoring-request | Request Input Monitoring permission |
microphone-access | Microphone permission checks |
snippet-expander | Keyboard-triggered snippet expansion |
speech-recognizer | macOS native speech recognition (STT) |
whisper-transcriber | OpenAI Whisper STT integration |
window-adjust | Window tiling and resizing (ApplicationServices) |
fast-paste-addon/ | Node.js native module for fast clipboard paste (Cmd+1–9) |
parakeet-transcriber/ | Swift package — on-device STT via swift-transformers |
Install
Homebrew
brew install --cask supercmdlabs/supercmd/supercmd
Download the app
Download the latest .dmg from the Releases page:
- Apple Silicon (M1/M2/M3/M4):
SuperCmd-x.x.x-arm64.dmg - Intel Mac:
SuperCmd-x.x.x.dmg
Open the .dmg, drag SuperCmd to your Applications folder, and launch it.
Note: On first launch, macOS may warn that the app is from an unidentified developer. Go to System Settings → Privacy & Security and click "Open Anyway".
macOS Permissions
SuperCmd needs the following permissions. The app will prompt you on first use, or you can enable them manually in System Settings → Privacy & Security:
| Permission | Why | Required for |
|---|---|---|
| Accessibility | Window management, keystroke injection | Window tiling, snippet expansion |
| Input Monitoring | Global hotkey detection (hold-to-speak, launcher shortcut, hyper key) | Core launcher functionality |
| Microphone | Voice dictation (speech-to-text) | Optional — only if using voice features |
| Automation (AppleScript) | Selected text capture, system automation | Extension actions |
| Calendars | Reading today's events | Optional — only if using schedule feature |
You may need to restart the app after granting permissions.
Auto-updates
SuperCmd includes a built-in auto-updater backed by GitHub Releases. You can check for updates manually by searching "Check for Updates" in the launcher, or install a downloaded update on next launch.
Raycast Backup Import
SuperCmd can import encrypted Raycast .rayconfig backups from the General settings tab.
It currently imports:
- Raycast settings that map cleanly to SuperCmd
- the global launcher hotkey
- command hotkeys
- quicklinks
- snippets
- notes
- installed Raycast extensions
- extension preferences
- script command folders
- disabled script commands
- disabled extension commands
It intentionally skips or only partially maps:
- AI chats
- clipboard history
- MCP server config
- Raycast aliases, where the backup does not expose a clean first-class field
The importer decrypts backups locally and prompts for the backup password before reading the file.
Development Setup
Prerequisites
- macOS (required — native Swift modules won't compile on Linux/Windows)
- Node.js 22+ — check with
node -v - npm — comes with Node.js
- Xcode Command Line Tools — required for
swiftc(Swift compiler) - Homebrew — used at runtime to resolve
gitandnpmfor extension installation
1. Install system dependencies
If you don't have Xcode Command Line Tools:
xcode-select --install
Verify Swift is available:
swiftc --version
If you don't have Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2. Clone and install
git clone https://github.com/SuperCmdLabs/SuperCmd.git
cd SuperCmd
npm install
3. Build native modules
The dev script does not compile the Swift native helpers — build them once before your first run:
npm run build:native
This compiles all Swift binaries and native Node modules into dist/native/.
4. Run in development mode
npm run dev
This starts TypeScript watch for the main process, the Vite dev server for the renderer, and Electron in development mode.
5. Build for production
npm run build
Runs build:main + build:renderer + build:native in sequence.
6. Package the app
npm run package
Output artifacts are generated under out/.
Useful Commands
npm run dev # Start local development (watch + Vite + Electron)
npm run build # Build main, renderer, and native modules
npm run build:main # Compile Electron main process TypeScript
npm run build:renderer # Build renderer with Vite
npm run build:native # Compile Swift helpers and native modules
npm run package # Build and package app with electron-builder
npm run package:unsigned # Build unsigned package for local testing
npm run check:i18n # Check internationalization strings
Troubleshooting
| Problem | Solution |
|---|---|
swiftc: command not found | Run xcode-select --install and restart your terminal |
npm install fails on native modules | Ensure Xcode CLT is installed and up to date: softwareupdate --install -a |
| App launches but hotkeys don't work | Grant Input Monitoring permission (not just Accessibility) and restart the app |
| Window management doesn't work | Grant Accessibility permission — window-adjust.swift checks AXIsProcessTrusted() |
| Extensions fail to install | Verify Homebrew is installed (brew --version) — SuperCmd needs brew-resolved git to clone extensions |
node-gyp build errors | Check Node.js version (node -v) — requires 22+. Try deleting node_modules and re-running npm install |
| Apple Silicon (M1/M2/M3) issues | Ensure you're running the arm64 version of Node.js, not the x64 version via Rosetta |
Native features missing after npm run dev | Run npm run build:native first — the dev script doesn't compile Swift binaries |
| Snippet expansion not working | Grant Accessibility permission; snippet-expander uses CGEventPost for keystroke injection |
| Whisper/Parakeet STT not working | Grant Microphone permission in System Settings → Privacy & Security |
AI + Memory Setup
Configure everything from the app UI:
- Launch SuperCmd.
- Open Settings (search "Settings" or use the gear icon).
- Go to the AI tab.
- Enable AI (
enabled = true). - Pick your default provider and add the required key(s).
Providers
| Provider | Setting | Notes |
|---|---|---|
| OpenAI | openaiApiKey | GPT-4o, GPT-4o-mini, etc. |
| Anthropic (Claude) | anthropicApiKey | Claude 3.5 Sonnet, Haiku, etc. |
| Google Gemini | geminiApiKey | Gemini 1.5 Pro, Flash, etc. |
| Ollama | ollamaBaseUrl | Default http://localhost:11434 — local models |
| OpenAI-compatible | openaiCompatibleBaseUrl + openaiCompatibleApiKey | Any OpenAI-compatible endpoint |
Speech / voice keys
| Feature | Setting |
|---|---|
| ElevenLabs TTS | elevenlabsApiKey |
| Edge TTS (built-in) | No key required |
| Native macOS STT | No key required |
| Whisper STT | Runs locally — no key required |
| Parakeet STT | Runs locally via swift-transformers — no key required |
Memory keys
| Setting | Purpose |
|---|---|
supermemoryApiKey | Supermemory API key |
supermemoryClient | Supermemory client ID |
supermemoryBaseUrl | Base URL (default: https://api.supermemory.ai) |
supermemoryLocalMode | Use local Supermemory instance |
Where settings are stored
All app settings are persisted in:
~/Library/Application Support/SuperCmd/settings.json
Key fields:
{
"globalShortcut": "Alt+Space",
"openAtLogin": false,
"uiStyle": "glassy",
"fontSize": "medium",
"appLanguage": "system",
"ai": {
"enabled": true,
"provider": "openai",
"openaiApiKey": "",
"anthropicApiKey": "",
"geminiApiKey": "",
"ollamaBaseUrl": "http://localhost:11434",
"elevenlabsApiKey": "",
"supermemoryApiKey": "",
"supermemoryBaseUrl": "https://api.supermemory.ai",
"defaultModel": "openai-gpt-4o-mini",
"speechToTextModel": "native",
"textToSpeechModel": "edge-tts"
}
}
OAuth tokens are stored separately in ~/Library/Application Support/SuperCmd/oauth-tokens.json.
Optional environment variable fallbacks
ELEVENLABS_API_KEYSUPERMEMORY_API_KEYSUPERMEMORY_CLIENTSUPERMEMORY_BASE_URLSUPERMEMORY_LOCAL
Privacy & Security
SuperCmd is open-source, so you can audit exactly what it does. The short version:
- Telemetry: one anonymous
app_startedevent via Aptabase. - AI prompts: sent directly from your device to your configured provider (OpenAI / Anthropic / Gemini / Ollama).
- Extension install/uninstall: reports extension name + an anonymous random machine ID to
api.supercmd.shfor download counts. - Voice data: STT runs fully on-device (Whisper, Parakeet, native macOS) — audio never leaves your machine.
See SECURITY.md for the full breakdown.
Contributing
We welcome contributions! See CONTRIBUTING.md for detailed guidelines on development setup, code architecture, PR conventions, and more.
Quick version:
- Fork the repo and create a feature branch.
- Make your changes, keeping Raycast extension compatibility in mind.
- Run
npm run buildto verify. - Open a PR with a clear description of what, why, and how you tested.
References
- Raycast API docs: https://developers.raycast.com/api-reference/
- Raycast extension store: https://www.raycast.com/store
Contributors
Thanks to everyone who has contributed to SuperCmd!