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,讓它成為你日常工作的得力助手。
相關文章推薦: