Alfred Workflow 效率神器完全指南 2026

⚡ 效率是可以学习的。 Alfred 是 Mac 平台上最强大的效率工具之一,它不仅能替代 Spotlight,更是一个强大的自动化平台。掌握 Alfred 的 Workflow 功能,可以让你的日常操作效率提升数倍。本文带你从零到精通 Alfred,成为效率达人。
本文将带你系统掌握:
- ✅ Alfred 基础设置与配置
- ✅ Powerpack 核心功能
- ✅ Workflow 开发入门
- ✅ 实用 Workflow 推荐
- ✅ 自动化脚本与 Python/Shell 集成
- ✅ 快捷键与效率技巧
- ✅ 自定义主题与皮肤
一、Alfred 简介
1.1 什么是 Alfred
Alfred 是一个 Mac 上的效率启动器,通过快捷键呼出搜索框,快速执行各种操作:
- 快速启动应用
- 搜索文件
- 执行命令
- 计算与单位转换
- 字典查询
- 网页搜索
- 自动化工作流(Workflow)
1.2 为什么选择 Alfred
| 功能 | Spotlight | Alfred Free | Alfred Powerpack |
|---|---|---|---|
| 应用启动 | ✅ | ✅ | ✅ |
| 文件搜索 | ✅ | ✅ | ✅ |
| 计算器 | ✅ | ✅ | ✅ |
| 字典 | ✅ | ✅ | ✅ |
| 自定义搜索 | ❌ | ❌ | ✅ |
| Workflow | ❌ | ❌ | ✅ |
| 剪贴板历史 | ❌ | ❌ | ✅ |
| 浏览器书签搜索 | ❌ | ❌ | ✅ |
| 脚本执行 | ❌ | ❌ | ✅ |
💡 Powerpack 是付费升级(¥149),但对于开发者来说非常值得。
1.3 下载安装
官网下载: https://www.alfredapp.com/
通过 Homebrew 安装:
brew install --cask alfred首次配置:
- 打开 Alfred Preferences(双击 Alfred 图标或
option + space) - 设置快捷键(默认
option + space) - 购买并激活 Powerpack
二、基础配置
2.1 关键字设置
打开 Alfred Preferences → Features:
常用关键字:
calc- 计算器dict- 字典define- 定义translate- 翻译open- 打开文件/文件夹
2.2 自定义搜索
添加自定义搜索源:
- Preferences → Features → Web Search
- 点击 "Add Custom Search"
- 填写搜索名称、关键字、URL
示例:
| 名称 | 关键字 | URL |
|---|---|---|
g | https://www.google.com/search?q={query} | |
| GitHub | gh | https://github.com/search?q={query} |
| MDN | mdn | https://developer.mozilla.org/zh-CN/search?q={query} |
| 百度 | bd | https://www.baidu.com/s?wd={query} |
| 掘金 | jj | https://juejin.cn/search?query={query} |
使用方式:
g react hooks # 在 Google 搜索
gh vuejs/core # 在 GitHub 搜索
mdn Array.prototype # 在 MDN 搜索2.3 文件搜索
快速定位文件:
~ Documents # 搜索 Documents 目录
/Users/name/code # 搜索特定路径过滤搜索:
type:pdf report # 只搜索 PDF 文件
kind:image vacation # 只搜索图片
last:7d work # 搜索最近 7 天的文件文件操作:
选中文件后按:
enter- 打开cmd + enter- 在 Finder 中显示cmd + shift + c- 复制路径cmd + l- 查看文件信息
2.4 计算器与转换
基础计算:
25 * 4 + 10
sqrt(256)
sin(45)单位转换:
100km to miles
50USD to CNY
200cm to inch时间计算:
10:30 + 45m
now + 1h
2026-07-06 + 7d2.5 系统控制
lock # 锁定屏幕
sleep # 睡眠
restart # 重启
shutdown # 关机
empty trash # 清空垃圾桶三、Powerpack 核心功能
3.1 Clipboard History(剪贴板历史)
启用方式:
- Preferences → Features → Clipboard History
- 勾选 "Keep clipboard history"
使用方式:
cmd + shift + c- 打开剪贴板历史- 使用方向键选择
enter- 粘贴
高级设置:
- 设置历史记录数量
- 排除特定应用
- 设置存储时间
3.2 Snippets(代码片段)
创建 Snippet:
- Preferences → Features → Snippets
- 点击 "+" 添加
- 设置关键字和内容
示例:
| 关键字 | 内容 |
|---|---|
;email | your@email.com |
;sig | Best regards,\nYour Name |
;date | {date:YYYY-MM-DD} |
;dt | {datetime:YYYY-MM-DD HH:mm:ss} |
动态 Snippet:
{clipboard} # 当前剪贴板内容
{date:YYYY-MM-DD} # 当前日期
{datetime} # 当前日期时间
{time} # 当前时间
{user} # 当前用户名
{app} # 当前应用名使用方式:
在任何文本输入框中输入关键字,自动替换为内容。
3.3 Workflow(工作流)
Workflow 是 Alfred 最强大的功能,允许你创建自定义的自动化流程。
四、Workflow 开发入门
4.1 Workflow 结构
一个典型的 Workflow 包含:
Workflow
├── Triggers(触发器)
│ ├── Keyword(关键字触发)
│ ├── Hotkey(快捷键触发)
│ ├── File Filter(文件过滤)
│ └── Clipboard Trigger(剪贴板触发)
├── Actions(动作)
│ ├── Run Script(运行脚本)
│ ├── Open URL(打开 URL)
│ ├── Copy to Clipboard(复制到剪贴板)
│ ├── Show Notification(显示通知)
│ └── Conditional(条件判断)
├── Output(输出)
│ ├── Script Filter(脚本过滤)
│ └── List Filter(列表过滤)
└── Connections(连线)4.2 创建第一个 Workflow
步骤 1:创建 Workflow
- Preferences → Workflows → "+" → "Blank Workflow"
- 填写名称、描述、关键字
步骤 2:添加触发器
右键 → Triggers → Keyword
步骤 3:添加动作
右键 → Actions → Run Script
步骤 4:连接
从触发器拖动连线到动作
步骤 5:测试
按 option + space 输入关键字
4.3 Script Filter
Script Filter 允许你通过脚本动态生成搜索结果:
Python 示例:
#!/usr/bin/env python3
import sys
import json
def main():
query = sys.argv[1] if len(sys.argv) > 1 else ""
items = [
{
"uid": "item1",
"title": "搜索 Google",
"subtitle": f"搜索: {query}",
"arg": query,
"icon": {
"path": "google.png"
}
},
{
"uid": "item2",
"title": "搜索 GitHub",
"subtitle": f"搜索: {query}",
"arg": query,
"icon": {
"path": "github.png"
}
}
]
print(json.dumps({"items": items}))
if __name__ == "__main__":
main()输出格式:
{
"items": [
{
"uid": "唯一标识",
"title": "显示标题",
"subtitle": "副标题",
"arg": "传递给下一个动作的参数",
"icon": {
"path": "图标路径"
},
"valid": true
}
]
}4.4 常用动作
Run Script:
#!/bin/bash
echo "Hello, $1"#!/usr/bin/env python3
print("Hello, World")Open URL:
https://www.google.com/search?q={query}Copy to Clipboard:
直接复制文本或变量到剪贴板
Show Notification:
title: 任务完成
subtitle: 备份已成功
message: 文件已备份到 ~/backup/Conditional:
根据条件执行不同的分支
4.5 变量与环境变量
Workflow 变量:
在 Workflow 设置中定义:
{var:WORKFLOW_NAME} # Workflow 名称
{var:HOME} # 用户目录环境变量:
echo $HOME
echo $PATH
echo $USER自定义变量:
在 Workflow 设置 → Variables 中添加
五、实用 Workflow 推荐
5.1 必备 Workflow
| Workflow | 功能 | 下载地址 |
|---|---|---|
| Alfred GitHub | GitHub 搜索、查看仓库 | Packal |
| Dash | 文档搜索(需安装 Dash) | Dash |
| Spotify Mini Player | Spotify 控制 | Packal |
| Clipboard History | 增强剪贴板 | 内置 |
| Snippets | 代码片段 | 内置 |
| Kill Process | 快速结束进程 | Packal |
| Emoji Search | Emoji 搜索 | Packal |
| Currency Converter | 货币转换 | Packal |
5.2 开发者 Workflow
Git Workflow:
#!/usr/bin/env python3
import subprocess
import json
def get_git_status():
try:
result = subprocess.run(
["git", "status", "--short"],
capture_output=True, text=True
)
return result.stdout.strip()
except:
return ""
def main():
status = get_git_status()
if status:
items = [{"uid": "git", "title": "Git Status", "subtitle": status}]
else:
items = [{"uid": "no-git", "title": "Not in a git repo"}]
print(json.dumps({"items": items}))
if __name__ == "__main__":
main()IP 查询:
#!/bin/bash
curl -s https://ipinfo.io/$1 | python3 -m json.tool5.3 效率提升 Workflow
快速打开项目:
#!/usr/bin/env python3
import os
import json
PROJECTS_DIR = "~/code"
def main():
items = []
projects = os.listdir(os.path.expanduser(PROJECTS_DIR))
for project in projects:
path = os.path.join(os.path.expanduser(PROJECTS_DIR), project)
if os.path.isdir(path):
items.append({
"uid": project,
"title": project,
"subtitle": path,
"arg": path,
"icon": {
"path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericFolderIcon.icns"
}
})
print(json.dumps({"items": items}))
if __name__ == "__main__":
main()快速搜索文件并打开:
#!/usr/bin/env python3
import subprocess
import json
def search_files(query):
result = subprocess.run(
["mdfind", query],
capture_output=True, text=True
)
files = result.stdout.strip().split("\n")[:10]
return files
def main():
query = sys.argv[1] if len(sys.argv) > 1 else ""
files = search_files(query)
items = []
for f in files:
if f:
items.append({
"uid": f,
"title": os.path.basename(f),
"subtitle": f,
"arg": f
})
print(json.dumps({"items": items}))
if __name__ == "__main__":
main()六、高级技巧
6.1 快捷键设置
全局快捷键:
在 Preferences → Features → Hotkeys 中设置:
| 快捷键 | 功能 |
|---|---|
cmd + shift + c | 剪贴板历史 |
cmd + shift + v | 粘贴上次剪贴板 |
cmd + shift + s | Snippets |
cmd + shift + d | 字典 |
Workflow 快捷键:
在 Workflow 中添加 Hotkey 触发器
6.2 自定义主题
下载主题:
- https://www.alfredapp.com/themes/
- Packal 社区
创建自定义主题:
- Preferences → Appearance → Themes
- 选择一个主题 → "Duplicate"
- 自定义颜色、字体、背景
推荐主题:
- Alfred 默认主题 - 简洁
- Yosemite - 扁平化
- Dark - 深色模式
- Nord - 北欧风格
6.3 调试技巧
查看日志:
- 在 Workflow 编辑器中点击右上角的 "bug" 图标
- 查看脚本输出
测试脚本:
cd /path/to/workflow
python3 script.py "test query"使用 Debug 动作:
添加 "Debug" 动作到 Workflow 中查看变量值
6.4 性能优化
减少脚本执行时间:
- 缓存结果
- 使用快速语言(Python 比 Shell 快)
- 避免不必要的 API 调用
优化搜索:
- 使用
mdfind代替find - 设置搜索范围
- 使用文件类型过滤
七、自动化脚本示例
7.1 Python 脚本
天气查询:
#!/usr/bin/env python3
import sys
import json
import requests
def get_weather(city):
url = f"https://api.openweathermap.org/data/2.5/weather?q={city}&appid=YOUR_API_KEY&units=metric"
response = requests.get(url)
data = response.json()
if response.status_code == 200:
temp = data["main"]["temp"]
desc = data["weather"][0]["description"]
return f"{city}: {temp}°C, {desc}"
else:
return "City not found"
def main():
query = sys.argv[1] if len(sys.argv) > 1 else "Beijing"
weather = get_weather(query)
items = [{
"uid": "weather",
"title": f"Weather in {query}",
"subtitle": weather,
"arg": weather
}]
print(json.dumps({"items": items}))
if __name__ == "__main__":
main()7.2 Shell 脚本
快速备份:
#!/bin/bash
SOURCE="$1"
DEST="$HOME/backup/$(date +%Y%m%d)"
mkdir -p "$DEST"
cp -r "$SOURCE" "$DEST"
echo "Backup completed: $DEST"7.3 AppleScript
控制 Safari:
tell application "Safari"
activate
open location "https://www.google.com"
end tell八、效率提升建议
8.1 常用操作习惯
| 操作 | Alfred 方式 | 传统方式 |
|---|---|---|
| 打开应用 | option + space → 输入应用名 | Launchpad / Dock |
| 搜索文件 | option + space → 输入文件名 | Finder 搜索 |
| 计算 | option + space → 输入计算式 | 打开计算器 |
| 网页搜索 | g query | 打开浏览器 → 输入 |
| 复制历史 | cmd + shift + c | 重新输入 |
8.2 学习路径
第一周:基础功能
- 掌握应用启动、文件搜索
- 学会自定义搜索
- 设置剪贴板历史
第二周:Snippets
- 创建常用代码片段
- 学会动态 Snippet
第三周:Workflow
- 创建简单的 Workflow
- 学会 Script Filter
第四周:进阶
- 开发复杂 Workflow
- 学习调试和优化
8.3 资源推荐
官方文档:
社区资源:
- https://www.packal.org/ - Workflow 分享平台
- https://github.com/deanishe/alfred-workflow - Python 库
- https://github.com/nikitavoloboev/my-mac-os - 效率配置
九、常用命令速查
# 基础操作
option + space # 呼出 Alfred
enter # 打开选中项
cmd + enter # 在 Finder 中显示
cmd + l # 查看文件信息
cmd + shift + c # 剪贴板历史
# 文件搜索
type:pdf report # 搜索 PDF
kind:image vacation # 搜索图片
last:7d work # 最近 7 天
# 计算与转换
100km to miles # 单位转换
10:30 + 45m # 时间计算
sqrt(256) # 计算
# 系统控制
lock # 锁定屏幕
sleep # 睡眠
restart # 重启
empty trash # 清空垃圾桶
# 自定义搜索
g query # Google
gh query # GitHub
mdn query # MDN十、总结
Alfred 是 Mac 用户的效率神器:
- 基础功能:替代 Spotlight,更强大的搜索和计算
- Powerpack:剪贴板历史、Snippets、Workflow
- Workflow:无限可能的自动化平台
- 社区生态:丰富的 Workflow 资源
- 可定制性:完全按照自己的习惯配置
⚡ 效率工具的价值在于使用,而不是拥有。花时间学习 Alfred,让它成为你日常工作的得力助手。
相关文章推荐: