封装 AI 为终端函数
把 AI 能力封装成一行命令就能调用的终端函数(Shell / PowerShell),让 AI 成为你终端中的常驻助手。
封装 AI 为终端函数
前面学了那么多,最终目标是把 AI 能力封装成你自己的「超级命令」——打开终端,一行命令就能调用 AI。
由于 macOS/Linux 和 Windows 的终端脚本语法不同,下面分别给出两个平台的写法。
macOS / Linux:Shell 函数
在你的 shell 配置文件(~/.zshrc 或 ~/.bashrc)中添加:
ai() {
local prompt="$*"
curl -s https://api.deepseek.com/chat/completions \
-H "Authorization: Bearer $DEEPSEEK_KEY" \
-H "Content-Type: application/json" \
-d "{\"model\": \"deepseek-chat\", \"messages\": [{\"role\": \"user\", \"content\": \"$prompt\"}]}" \
| python -m json.tool
}
然后运行 source ~/.zshrc(macOS)或 source ~/.bashrc(Linux)重新加载配置。
Windows:PowerShell 函数
在 PowerShell 配置文件中添加(运行 notepad $PROFILE 打开配置文件):
function ai {
$prompt = $args -join ' '
$body = @{ model = 'deepseek-chat'; messages = @(@{ role = 'user'; content = $prompt }) } | ConvertTo-Json -Depth 3
$response = Invoke-RestMethod -Uri https://api.deepseek.com/chat/completions -Method Post -Headers @{ Authorization = "Bearer $env:DEEPSEEK_KEY"; 'Content-Type' = 'application/json' } -Body $body
$response.choices[0].message.content
}
保存后重启 PowerShell 即可生效。
使用方式(两个平台通用)
不管哪个平台,封装好后都可以这样用:
ai 用 Python 写一个快速排序
ai 解释一下 Docker 和虚拟机的区别
ai 帮我写一封请假邮件
更实用的封装
macOS / Linux(Shell):
translate() { ai "把以下内容翻译成英文,只输出翻译结果:$*"; }
explain() { local input=$(cat); ai "解释以下命令输出的含义:$input"; }
fix() { local error=$(cat); ai "以下命令报错了,分析原因并给出修复方案:$error"; }
Windows PowerShell:
function translate { ai "把以下内容翻译成英文,只输出翻译结果:$($args -join ' ')" }
function explain { $input | ai "解释以下命令输出的含义:" }
function fix { $input | ai "以下命令报错了,分析原因并给出修复方案:" }
使用方式(两个平台相同):
translate 今天天气真好
ls | explain
npm install 2>&1 | fix
管道组合的威力
Shell / PowerShell 最强大的特性是管道——把多个命令串联起来。结合 AI 函数:
# 找出最大的 10 个文件,让 AI 分析(macOS/Linux)
du -sh * | sort -rh | head -10 | ai "分析这些文件,建议哪些可以清理"
# 检查 Git 改动,自动生成提交信息(全平台通用)
git diff --stat | ai "用一句话总结这些改动"
配置管理
把 API Key 放在一个地方统一管理:
macOS / Linux: 创建 ~/.ai-config 文件:
export DEEPSEEK_KEY="sk-你的密钥"
export QWEN_KEY="sk-你的密钥"
在 shell 配置文件中加一行:source ~/.ai-config
Windows PowerShell: 在 $PROFILE 文件中添加:
$env:DEEPSEEK_KEY = "sk-你的密钥"
$env:QWEN_KEY = "sk-你的密钥"
这样每次打开终端,API Key 就自动加载好了。
把 AI 封装成终端函数后,你就拥有了一个随叫随到的 AI 助手——打开终端就能用,比打开网页快 10 倍。