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 窗口并启动开发服务器。对于需要持续终端会话的脚本,开启新窗口通常是最有效的方法。

系统维护

  • 刷新 DNSsudo 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 仓库,包含数百个社区贡献的脚本。导入时,把脚本放到任意已配置为脚本命令文件夹的目录即可。

享受 Raycast Pro 80% 折扣

免费 14 天试用,无需优惠码。折扣自动应用。

领取你的优惠 →

相关文章