Raycast 终端与脚本命令 2026:在启动器中运行代码
2026 年 3 月 3 日发布 • 阅读时间约 12 分钟
大部分开发者都活跃在终端。Git 提交、Docker 容器、部署脚本、npm 命令——这些都是肌肉记忆。但每天在 Raycast 和终端窗口之间切换几十次,只会制造不必要的摩擦。Raycast 脚本命令让你直接在启动器内运行 shell 命令、bash 脚本、Python 代码等——无需打开终端窗口。
在这篇指南中,我将全面介绍 2026 年如何在 Raycast 中运行终端命令:脚本命令如何工作、支持哪些语言、可借鉴的实用示例,以及如何将 Raycast 与现有终端工作流整合。如果你刚接触 Raycast,先看我们的 Raycast 设置指南,然后再回来继续阅读。
什么是 Raycast 脚本命令?
脚本命令是 Raycast 可以直接从命令面板执行的独立脚本文件。把它们想象成带有 UI 层的自定义终端命令。你在喜欢的语言中编写脚本,添加特殊的元数据头,Raycast 就会把它转成可搜索、可启动的命令。
与使用 React 和 TypeScript 的完整 Raycast 扩展不同,脚本命令只是简单的文件——没有构建步骤、没有依赖、没有项目脚手架。这使它们非常适合快速自动化和一次性任务。
支持的语言
Raycast 脚本命令支持任何可在 macOS 上通过 shebang 行运行的语言:
- Bash / Zsh — 最常见的系统命令和快速自动化选择
- Python — 适合需要 HTTP 请求、JSON 解析或数据处理的脚本
- Ruby — 擅长文本处理和脚本化
- Swift — 原生访问 macOS 系统 API
- AppleScript — 控制 Finder、Safari、邮件和系统设置等 macOS 应用
- Node.js — 使用
#!/usr/bin/env node运行 JavaScript 脚本
只要你的 Mac 上安装了某语言的解释器,并支持 shebang 行,它就可以在 Raycast 中运行。多数开发者在处理系统命令时使用 Bash,处理更复杂的任务时使用 Python。
如何创建你的第一个脚本命令
步骤一:添加脚本目录
打开 Raycast,进入设置(或按 Cmd + ,),导航到 Extensions,然后点击+按钮。选择“添加脚本目录”,指向你存放脚本的文件夹。我推荐 ~/.raycast-scripts/,或者把它们放在 Git 仓库中以便版本控制。
步骤二:创建脚本文件
在脚本目录中新建一个文件。以下是展示当前 Git 分支的最简 Bash 示例:
#!/bin/bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title 当前 Git 分支
# @raycast.mode inline
# @raycast.packageName Git
# Optional parameters:
# @raycast.icon 🌿
# @raycast.description 显示当前 Git 分支
cd ~/Projects/my-repo && git branch --show-current
顶部的元数据注释告诉 Raycast 如何显示和运行命令。关键字段包括:
@raycast.title— 在 Raycast 命令面板中显示的名称@raycast.mode— 输出展示方式:inline(在 Raycast 中显示)、compact(简要通知)、fullOutput(可滚动输出)、silent(无输出)@raycast.packageName— 将相关脚本归为一组
步骤三:赋予执行权限
别忘了让脚本可执行:
chmod +x ~/.raycast-scripts/current-git-branch.sh
Raycast 会自动检测你配置目录中的新脚本。打开 Raycast 并输入脚本标题——它会立即出现。
使用参数添加用户输入
脚本命令可以接收 Raycast 在运行前提示的参数,这让简单脚本变成交互式工具:
#!/bin/bash
# @raycast.schemaVersion 1
# @raycast.title Git 提交
# @raycast.mode compact
# @raycast.packageName Git
# @raycast.argument1 { "type": "text", "placeholder": "提交信息" }
cd ~/Projects/my-repo && git add -A && git commit -m "$1"
运行该命令时,Raycast 会显示一个用于输入提交信息的文本框。输入后按 Enter,脚本就会使用 $1 执行。每个脚本最多可定义三个参数。
开发者的最佳脚本命令示例
脚本命令真正有用的地方就在这里。这些都是你可以根据自身工作流定制的实用示例。
Git 快捷操作
不用再为常见 Git 操作切换到终端:
- 快速提交 — 暂存所有变更,并使用消息参数提交
- 拉取最新 — 在当前项目中运行
git pull --rebase origin main - 创建分支 — 接受分支名称参数,创建并切换分支
- 查看状态 —
git status --short以内联形式在 Raycast 中展示 - 暂存/恢复 — 一键压入并恢复暂存区
#!/bin/bash
# @raycast.schemaVersion 1
# @raycast.title Git 拉取并变基
# @raycast.mode compact
# @raycast.packageName Git
# @raycast.icon 🔄
cd ~/Projects/my-repo && git pull --rebase origin main
echo "已拉取并在 main 上变基"
Docker 命令
无需离开当前流程即可管理容器:
- 列出运行中的容器 — 使用
docker ps --format "table {{.Names}}\t{{.Status}}"并配合fullOutput模式 - 停止所有容器 —
docker stop $(docker ps -q) - 重建并重启 —
docker-compose down && docker-compose up -d --build - 清理未使用镜像 —
docker system prune -af回收磁盘空间
npm 与包管理脚本
随时运行项目脚本:
#!/bin/bash
# @raycast.schemaVersion 1
# @raycast.title NPM Dev 服务
# @raycast.mode silent
# @raycast.packageName Node.js
# @raycast.icon 📦
cd ~/Projects/my-app && open -a Terminal && osascript -e 'tell app "Terminal" to do script "cd ~/Projects/my-app && npm run dev"'
该脚本会打开一个 Terminal 窗口并启动开发服务器。对于需要持续终端会话的脚本,开启新窗口通常是最有效的方法。
系统维护
- 刷新 DNS —
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - 清理 Homebrew 缓存 —
brew cleanup --prune=all - 查看磁盘使用 —
df -h / | tail -1快速检查磁盘空间 - 按名称终止进程 — 接受进程名称参数:
pkill -f "$1" - 清空废纸篓 —
rm -rf ~/.Trash/*并配合确认步骤
部署脚本
无需打开终端或浏览器就能触发部署:
#!/bin/bash
# @raycast.schemaVersion 1
# @raycast.title 部署到生产
# @raycast.mode compact
# @raycast.packageName Deploy
# @raycast.icon 🚀
# @raycast.description 推送主分支并触发部署
cd ~/Projects/my-app && git push origin main
echo "已推送到 main,部署已触发。"
Python 脚本示例
处理复杂逻辑时,Python 是一项可靠选择。下面的脚本会获取你的公网 IP:
#!/usr/bin/env python3
# @raycast.schemaVersion 1
# @raycast.title 我的公网 IP
# @raycast.mode inline
# @raycast.packageName Network
# @raycast.icon 🌐
import urllib.request
ip = urllib.request.urlopen('https://api.ipify.org').read().decode()
print(ip)
Run Script 扩展
除了脚本命令,Raycast 商店还有一些扩展可以把终端能力带入启动器。终端扩展可以让你搜索并打开终端配置文件。优秀的社区扩展还提供 shell 历史、SSH 连接和常见 CLI 工具的快捷入口。
在 最佳 Raycast 扩展 列表中浏览更多配合终端工作流的工具。例如 Brew 扩展让你在 Raycast 内搜索、安装和管理 Homebrew 包——完全不用打开终端。
将 Raycast 与 VS Code 及终端整合
Raycast 与终端并非互斥,下面是一些连接方式:
在 VS Code 中打开项目
创建一个脚本命令,在 VS Code 中打开特定项目(或接受路径参数):
#!/bin/bash
# @raycast.schemaVersion 1
# @raycast.title 在 VS Code 中打开
# @raycast.mode silent
# @raycast.packageName Dev
# @raycast.argument1 { "type": "text", "placeholder": "项目文件夹名称" }
code ~/Projects/$1
为终端工作流添加 Quicklinks
Raycast Quicklinks 可以瞬间打开终端命令。创建带有 terminal:// URL 方案的 Quicklink,或者如果你使用 iTerm2,就用 iterm:// 方案。这比脚本命令更快,适合频繁使用的简单命令。
将脚本命令与 Raycast AI 结合
如果你已订阅 Raycast Pro,可以将 AI 命令与脚本命令配合使用,构建强大的工作流。让 Raycast AI 生成 Bash 单行命令,再用脚本命令运行。或让 AI 帮你解释失败脚本的错误输出。这是自然的搭配——AI 负责思考,脚本命令负责执行。
还没用 Pro 吗?试试 Raycast Pro,享受 80% 折扣并获得免费试用,让 AI 功能与脚本工作流双管齐下。
脚本命令 vs 扩展:什么时候用哪一个
脚本命令和完整扩展都可以运行代码,但用途不同:
- 需要快速自动化时用脚本命令:任务是一行或短脚本、不需要丰富 UI、想用 Bash/Python 而不是 TypeScript
- 需要交互界面时用扩展:需要列表、表单或详情视图的交互体验、工具需复杂状态管理、想发布到 Raycast 商店,或需要实时更新与加载状态
实际上,大多数开发者两者兼用。脚本命令负责快而脏的终端任务,扩展负责你每天互动、需要打磨体验的工具。如果你想构建完整扩展,请参考 Raycast API 开发指南。
编写更好脚本命令的建议
输出较长时使用 fullOutput 模式
如果脚本输出超过一两行,使用 @raycast.mode fullOutput,让结果在 Raycast 内可滚动查看。inline 模式会截断较长输出。
优雅处理错误
添加错误检查,避免脚本悄无声息失败。Bash 中的一个快速模式:
#!/bin/bash
# ... raycast metadata ...
if ! command -v docker &> /dev/null; then
echo "错误:未安装 Docker"
exit 1
fi
docker ps --format "table {{.Names}}\t{{.Status}}"
使用环境变量
需要 API 密钥或令牌的脚本,把它们存到环境变量里,而不是硬编码。Raycast 会继承你的 shell 环境,因此 .zshrc 或 .bash_profile 中的内容都可访问。
将脚本纳入版本控制
把脚本命令目录作为 Git 仓库维护。这样可以在多台设备之间同步脚本、追踪变更,并与团队分享。Raycast 社区在 GitHub 上的 script-commands 仓库中有数百个示例,可作为灵感来源。
与 Raycast Snippets 结合使用
对于在终端中频繁输入的命令,考虑使用 Raycast Snippets。Snippet 可在 macOS 任意位置扩展文本——输入关键字即可替换成更长的命令。脚本命令用于执行,Snippet 用于输入扩展。
充分利用 Raycast 打造终端工作流
脚本命令只是拼图之一。完整的 Raycast 终端工作流可能包括:
- 脚本命令:运行 shell 脚本与自动化
- Quicklinks:快速跳转项目目录或打开终端配置文件
- Snippets:扩展常用输入命令
- 剪贴板历史:提取之前复制的终端输出
- AI 命令(Pro):生成脚本并调试错误
- 扩展:Brew、GitHub、Docker 等开发者工具
如果你还没配置 Raycast,Raycast Pro 折扣页面有当前最优优惠。我们的 关于 Raycast 的指南会先带你掌握基础,再深入探索脚本命令等进阶功能。
常见问题
Raycast 脚本命令可以使用哪些语言?
Raycast 原生支持 Bash、Python、Ruby、Swift 和 AppleScript。任何带有效 shebang 且能在 macOS 上运行的语言都可以——包括 Node.js、PHP、Perl 等。Bash 和 Python 仍然是最受欢迎的选择。只需确保系统中已安装对应解释器,并将脚本文件设置为可执行即可。
脚本命令与 Raycast 扩展有何区别?
脚本命令是独立的脚本文件(Bash、Python 等),可直接在 Raycast 中运行,不需要构建过程或依赖,适合快速终端自动化。扩展则是完整的 React/TypeScript 应用,带有列表、表单、详情视图、操作面板等丰富 UI。脚本命令适合输出文本的简单任务,扩展适合需要交互界面时使用。
Raycast 脚本命令可接受用户输入吗?
可以。在脚本元数据头中使用 @raycast.argument1、@raycast.argument2、@raycast.argument3 定义最多三个参数。每个参数指定类型与占位符。当你运行命令时,Raycast 会为每个参数展示输入框,输入的值会作为位置参数(Bash 中为 $1、$2、$3)或环境变量传入脚本。
我需要 Raycast Pro 才能使用脚本命令吗?
不需要。脚本命令在免费 Raycast 计划中无限制提供,你可以创建、导入并运行任意数量的脚本命令而无需付费。Raycast Pro 则为脚本工作流提供 AI 命令与云同步等功能,尤其适合生成与调试脚本时使用。在这里获取当前 Pro 优惠。
如何与团队共享脚本命令?
脚本命令只是磁盘上的普通文件,共享非常简单。最佳做法是将脚本保存在共享 Git 仓库,团队成员克隆后在 Raycast 中配置目录即可。Raycast 社区还维护一个开源 script-commands GitHub 仓库,包含数百个社区贡献的脚本。导入时,把脚本放到任意已配置为脚本命令文件夹的目录即可。