【免费下载链接】rustcast
An open source alternative to raycast, in rust!! (retired)
还在为重复执行脚本而频繁打开终端吗?RustCast是一个用 Rust 编写的开源效率启动器(Raycast 的免费替代方案),它的自定义 Shell 命令功能允许你把任意脚本绑定全局快捷键,并直接把搜索框的输入作为参数传给脚本,让重复性工作一键完成。本文将带你从零配置shells命令表、掌握传参技巧,并绑定专属快捷键,快速提升工作效率。
为什么需要自定义 Shell 命令
打开终端 → 敲长命令 → 等待执行,这套流程每天都在消耗你的时间。RustCast 的思路很简单:
- 一个全局快捷键唤起启动窗口(默认
ALT+SPACE) - 输入搜索名直接命中你预定义好的 Shell 命令
- 再按一个专属快捷键,脚本立即在后台静默执行
无论是启动开发服务器、切换系统环境、还是批量文件操作,都可以压缩成一次按键。
快速上手:第一个自定义命令
RustCast 的配置文件位于~/.config/rustcast/config.toml,首次启动会自动生成,默认选项见 default.toml,可配置的完整字段列表见 config.toml。
在配置文件末尾添加一个[[shells]]表:
[[shells]] command = "osascript -e 'display notification \"RustCast 任务已完成\"'" alias = "Notify" # 结果列表中显示的标题 alias_lc = "notify" # 搜索时实际输入的别名保存后,在搜索框输入refresh让 RustCast 热加载配置(该逻辑见 update.rs),然后输入notify并回车,通知就会弹出。
配置字段详解:command、alias 与快捷键
Shelly结构体定义了每条命令的全部字段(见 config.rs),一共 5 个:
| 字段 | 必填 | 说明 |
|---|---|---|
command | ✅ | 要执行的 Shell 命令,通过sh -c在后台启动 |
alias | ✅ | 结果列表中显示的标题,如 "Next Song" |
alias_lc | ✅ | 搜索匹配用的名称(小写),支持前缀匹配 |
icon_path | ❌ | 结果图标路径,支持~展开与.icns格式 |
hotkey | ❌ | 全局快捷键,按下直接执行该命令 |
官方配置示例("Next Song" 快捷切歌)参考 config.toml:
# searching for `echo abcd > file.txt` will run # `echo abcd > file.txt` as the shell command [[shells]] command = "echo " alias = "Variables 1" # the name that will be displayed in the results alias_lc = "var test" # the name used to search for it💡命名小技巧:
alias决定"看到什么",alias_lc决定"怎么搜到"。把alias_lc设成简短好记的词(如pgstart),搜前两个字母就能命中。
传参实战:把搜索输入交给脚本
RustCast 支持将搜索框内容作为变量传入命令——搜索echo abcd > file.txt时,实际就以echo abcd > file.txt作为 Shell 命令执行(说明见 config.toml)。
典型用法是别名做前缀、输入做参数:
- 配置一条
command = "open "、alias_lc = "open file"的命令 - 在搜索框输入完整内容并回车
- 你的文本就作为参数拼入命令执行
配合脚本文件还能玩出花样。把脚本放在~/.config/rustcast/scripts/下,command指向脚本路径即可。作者在 FEATURES.md 中的建议很实用:
Tips for beginners: You can use GenAI to make these scripts.
也就是说,你可以让 AI 帮你写复杂的 bash/AppleScript 脚本,自己只需审核逻辑后接入 RustCast。
命令执行的核心实现在 commands.rs:Function::RunShellCommand会调用sh -c启动子进程,界面不阻塞、无窗口闪现,执行完焦点自动回到之前的应用。
一键直达:给命令绑定专属快捷键
光靠搜索还不够快。给命令加上hotkey后,按下快捷键 = 命令立即执行,连搜索框都不用开:
[[shells]] command = "~/bin/start-postgres.sh" alias = "Start Postgres" alias_lc = "pgstart" hotkey = "ALT+SHIFT+P"快捷键的解析与冲突检测逻辑在 update.rs 中:
- 通过
Shortcut::parse解析字符串,格式如ALT+SHIFT+P、SUPER+CTRL+X - 会自动检查是否与主窗口快捷键(
toggle_hotkey)、剪贴板快捷键(clipboard_hotkey)冲突,冲突时不会重复注册 - 配置热加载后调用
sync_shell_hotkeys重新同步全部命令快捷键
不想手写配置?打开 Settings 面板的Commands标签页,可以图形化创建、编辑命令并直接录制快捷键,字段说明见 settings.rs("Icon path and hotkey are optional")。
⚠️
ALT+SPACE等组合在 macOS 上可能被系统输入法切换占用,建议自定义为ALT+SHIFT+1这类组合。
进阶玩法:用 Modes 切换工作环境
shells管"单条命令",[modes]则管"整套环境切换"(见 config.toml):
# Create a presentation.sh file and you can make it do pretty much anything # Example usage: # - turn on / off your WM in different "modes" # - have it use brew to start postgres / development servers, # - enable or disable notifications via apple script [modes] presentation = "~/.config/rustcast/scripts/presentation.sh"切换逻辑在 update.rs 中:搜索SwitchMode时执行对应脚本,再次切换回default则恢复现场。适合"演示模式一键关通知 + 全屏"、"开发模式一键起服务"这类场景。
常见配置问题排查
| 现象 | 可能原因 |
|---|---|
| 搜索不到命令 | alias_lc拼写错误,搜索是前缀匹配,输入需以alias_lc开头 |
| 快捷键无效 | 与其他全局快捷键冲突,或格式不被Shortcut::parse识别 |
| 命令执行了但没效果 | command中的相对路径不可用,请写绝对路径或~路径 |
| 修改配置不生效 | 在搜索框输入refresh触发热加载,或重启 RustCast |
更多字段(主题、缓冲区规则、防抖延迟等)完整清单见 config.toml,功能总览见 FEATURES.md。
小结
用 5 分钟改一次配置,换来的是每天上百次"一键直达":
- 在
[[shells]]中写好command+alias+alias_lc - 需要快就加
hotkey,需要批量场景就用[modes] - 复杂逻辑丢进
~/.config/rustcast/scripts/的脚本文件里,让 GenAI 帮你起草
RustCast 目前处于维护停更状态(retired),但其命令绑定机制依然完整可用,是 macOS 上少有的免费、开源、无订阅的效率工具。动手配置你的第一条 Shell 命令吧!
【免费下载链接】rustcast
An open source alternative to raycast, in rust!! (retired)
相关推荐
mitmproxy 自定义命令(Commands)完全指南:编写类型安全的 Addon 命令并绑定到快捷键
mitmproxy 自定义命令(Commands)完全指南:编写类型安全的 Addon 命令并绑定到快捷键 本篇技术指南基于 mitmproxy 官方文档 Cu
网络安全网络开发工具接口测试Hyprland热键系统:全局快捷键与自定义命令绑定
Hyprland热键系统:全局快捷键与自定义命令绑定 概述 Hyprland作为一款现代化的Wayland合成器,其热键系统提供了强大的全局快捷键管理和自定义命
图形学Win11Debloat:系统精简与隐私开关快速上手
Win11Debloat:系统精简与隐私开关快速上手 开机 45 秒到 20 秒:一次真实的翻车修复 上个月一台同事的 Win11 旧机在系统更新后,每次开机风
桌面应用CLI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考