Mods 是一个能让你在终端里与大语言模型(LLM)轻松交互的工具。除了直接问答,它强大的管道特性和灵活的参数配置,使其能够与Shell脚本深度融合,创造出高效的自动化工作流。
本文将分享我个人的一些mods
使用实践,通过几个自定义的Shell函数和别名,将AI能力无缝集成到日常的命令行操作中。
1. 交互式翻译工具
我经常需要翻译一些英文技术词汇或句子,因此我创建了两个工具:一个简单的别名trans
用于快速翻译,以及一个transloop
函数用于进入连续翻译模式。
查看 trans 和 transloop 脚本
# 别名:trans
# 用法: trans "要翻译的英文"
alias trans="mods -q --no-cache '/nothink将下面英文文本翻译成中文,输出格式是: - 英文:\n - 中文:\n - 例句:\n.需要翻译的内容是:'"
# 函数:transloop
# 用法: transloop
function transloop() {
echo "翻译模式启动,输入quit退出"
echo "------------------------------------"
while true; do
printf "英文:"
read user_input
if [[ "$user_input" == "quit" ]]; then
break
fi
if [[ -z "$user_input" ]]; then
continue
fi
# 调用mods进行翻译
mods -q --no-cache "/nothink将下面英文文本翻译成中文,输出格式是: - 英文:\n - 中文:\n - 例句:\n.需要翻译的内容是:'$user_input'"
done
echo "------------------------------------"
echo "翻译模式已退出"
}
Info
通过--no-cache
可以不保存对话内容,-q
参数则让输出更干净。我通过精心设计的Prompt,让AI返回固定格式的翻译结果,包括英文原文、中文翻译和例句,非常清晰。
2. 代码/命令解释器
当我遇到不熟悉的Shell命令或代码片段时,explain
别名可以快速获得解释。
查看 explain 脚本
# 别名:explain
# 用法: cat file.sh | explain 或 explain "ls -l"
alias explain="mods -q --no-cache '/nothink作为一个资深程序员和系统管理员,请用中文清晰的解释以下代码或命令的功能、逻辑和关键部分。内容是:'"
Tip
这个别名将mods
的AI设定为一个“资深程序员和系统管理员”,这样得到的解释更专业、更深入。它可以方便地通过管道接收文件内容或直接接收字符串参数。
3. 智能命令生成器
这是我最喜欢的功能:让AI根据我的需求直接生成Linux命令。我创建了cmd
别名和cmdx
函数。cmdx
在生成命令后,会先征求用户同意再生效,大大提高了安全性。
查看 cmd 和 cmdx 脚本
# 别名:cmd (直接输出命令)
# 用法: cmd "查找所有后缀为.md的文件"
alias cmd="mods -q --no-cache '/nothink你是一个Linux命令行专家,当前的系统是ubuntu24.04。请根据我的需求,生成一个单一、可执行的shell命令。请只输出命令本身,不要包含任何解释、注释或markdown的标记。我的需求是:'"
# 函数:cmdx (生成命令并请求确认后执行)
# 用法: cmdx "查找所有后缀为.md的文件并删除"
cmdx(){
local cmd_str
# 请求mods生成命令,并过滤掉思考过程的标签
cmd_str=$(mods -q --no-cache "/nothink你是一个Linux命令行专家,当前的系统是ubuntu24.04。请根据我的需求,生成一个单一、可执行的shell命令。请只输出命令本身,不要包含任何解释、注释或markdown的标记。我的需求是:'$@'" | grep -v -E '^$|<think>|</think>');
# 征求用户意见
printf "Execute '%s'? [y/n] " "$cmd_str";
read REPLY;
# 如果用户输入'y'或'Y',则执行命令
[[ "$REPLY" =~ ^[Yy]$ ]] && eval "$cmd_str"
}
Warning
cmdx
函数是cmd
的安全升级版。它通过grep
过滤掉了mods
输出的额外信息,然后使用read
和eval
与用户交互,避免了直接执行AI生成的高风险命令(如 rm -rf /
)。在执行AI生成的任何命令前,请务必仔细检查。
通过这些简单的脚本,mods
已经成为我终端环境里不可或缺的一部分,极大地提升了我的工作效率。