共计 2547 个字符,预计需要花费 7 分钟才能阅读完成。
作为 Mac 用户,想要高效使用 ChatGPT 提升工作效率,其实有很多种方法和技巧。今天我就来分享一下自己在 Mac 上使用 ChatGPT 的完整经验,从基础访问方式到进阶生产力技巧,希望能帮助到各位 Mac 开发者朋友。

Mac 环境下的 ChatGPT 访问方式对比
在 Mac 上使用 ChatGPT 主要有三种方式,各有优缺点:
- 网页端 :直接访问 chat.openai.com,最简单但功能有限
- API 调用 :最灵活的方式,适合开发者集成到工作流中
- 客户端应用 :如 MacGPT 等第三方客户端,提供更好的本地体验
对于开发者来说,API 调用是最推荐的方式,因为它可以完美融入我们的开发工作流。
终端 curl 命令调用 API 实战
先来看最基本的 API 调用方式。首先你需要在 OpenAI 官网获取 API 密钥,然后我们可以用 curl 命令测试:
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"model":"gpt-3.5-turbo","messages": [{"role":"user","content":"Hello!"}]
}'
这个基础命令有几个关键点需要注意:
- 一定要替换 YOUR_API_KEY 为你自己的密钥
- 目前推荐使用 gpt-3.5-turbo 模型,性价比高
- messages 数组是对话的核心,role 可以是 user、system 或 assistant
进阶:带错误处理的 Shell 脚本
实际使用时,我们需要更健壮的脚本。下面是一个带超时和重试机制的完整示例:
#!/bin/bash
API_KEY="your_api_key_here"
MAX_RETRY=3
TIMEOUT=10
query_chatgpt() {
local prompt="$1"
local retry=0
while [$retry -lt $MAX_RETRY]; do
response=$(curl -sS --max-time $TIMEOUT \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{"model":"gpt-3.5-turbo","messages": [{"role":"user","content":"'"$prompt"'"}]}' \
https://api.openai.com/v1/chat/completions 2>/dev/null)
if [$? -eq 0]; then
echo "$response" | jq -r '.choices[0].message.content'
return 0
fi
((retry++))
sleep 1
done
echo "请求失败,请检查网络或 API 密钥" >&2
return 1
}
# 使用示例
query_chatgpt "用 Python 写一个快速排序算法"
这个脚本有几个实用功能:
- 设置了 3 次重试机制
- 10 秒超时防止长时间等待
- 使用 jq 解析 JSON 响应,直接提取回复内容
- 完善的错误处理
使用 Automator 创建工作流
对于非技术用户,可以创建 Automator 工作流来一键调用 ChatGPT:
- 打开 Automator,选择 ” 快速操作 ”
- 添加 ” 运行 Shell 脚本 ” 操作
- 粘贴上面的脚本代码
- 保存为 ”Ask ChatGPT”
- 之后可以在任何地方通过右键菜单或快捷键调用
常见问题排查
在实际使用中可能会遇到这些问题:
- 证书错误 :通常是因为系统时间不正确或代理问题
- 代理设置 :如果使用代理,需要配置 curl 的代理参数
- 响应超时 :适当增加 TIMEOUT 值或检查网络连接
- 钥匙串权限 :首次使用可能需要授权钥匙串访问
生产力提升技巧
预设 prompt 模板
创建常用 prompt 的模板文件,比如 code_review.txt:
请以专业软件开发者的身份审查以下代码。指出:
1. 潜在的安全问题
2. 性能优化点
3. 不符合最佳实践的部分
4. 可读性改进建议
代码:
然后可以这样调用:
query_chatgpt "$(cat code_review.txt)\n$(pbpaste)"
格式化输出
使用 jq 工具可以漂亮地格式化输出:
echo "$response" | jq
或者提取特定字段:
echo "$response" | jq -r '.choices[0].message.content'
避坑指南
Mac 特有的几个问题及解决方案:
- 沙箱限制 :某些应用可能无法访问网络,需要在系统偏好设置中授权
- 钥匙串权限 :首次使用 API 密钥时需要授权钥匙串访问
- 命令行工具缺失 :确保安装了 jq 等必备工具(
brew install jq)
性能优化
- 本地缓存 :对相同查询缓存结果,减少 API 调用
- 并发请求 :使用 parallel 或 xargs 并行处理多个请求
- 流式响应 :对于长响应,可以使用流式 API 逐步获取结果
动手实验:自动化日报生成
最后来实践一个实用场景 – 自动生成工作日报。创建一个脚本 daily_report.sh:
#!/bin/bash
# 获取当天完成的任务
completed_tasks=$(osascript -e 'tell application"Notes"to get body of first note whose name contains"TODO"')
# 生成日报
report=$(query_chatgpt "根据以下任务列表生成一份专业的工作日报,使用 Markdown 格式:\n$completed_tasks")
# 保存到文件
echo "$report" > "DailyReport-$(date +%Y-%m-%d).md"
open "DailyReport-$(date +%Y-%m-%d).md"
这个脚本会:
- 从 Mac 的 Notes 应用读取 TODO 列表
- 调用 ChatGPT 生成格式化的日报
- 保存为 Markdown 文件并自动打开
通过这种方式,你可以每天一键生成专业的工作日报,大大提升效率。
结语
在 Mac 上使用 ChatGPT 可以极大提升开发效率,关键是要找到适合自己的工作流。本文介绍的方法都是我在实际工作中验证过的,希望对你有帮助。建议从一个简单的自动化脚本开始,逐步构建你自己的 AI 助手工具集。
