一个逗号与一个问号
摘要
一位开发者创建了一个个人工具,将本地AI模型(通过 llama.cpp 运行的 Qwen 3.6)和一个小型代理(Pi)集成到 zsh 终端中,使用逗号前缀来建议 shell 命令,使用问号来回答问题,重点在于安全性,即仅提出命令建议而不实际执行。
暂无内容
查看缓存全文
缓存时间: 2026/05/26 03:51
# 一个逗号和一个问号
来源:https://www.thetypicalset.com/blog/a-comma-and-a-question-mark
我使用终端已经超过二十年,对 `find` 标志和 `git` 命令形成了肌肉记忆。不知从何时起,伸手敲 `--help` 变得愈发不自然。我开始不再键入命令,而是敲出*句子*:“找到最大的 5 个文件”、“显示最后 3 次提交”。
`command not found`
不断提醒我:电脑不会说话。真的不会吗?在这个遍地都是“灌水”内容的辉煌时代,任何(人)(事物)都能侃侃而谈。当然它也能;只需大约一百行代码,就能把 zsh (https://www.zsh.org/)、llama-server (https://github.com/ggml-org/llama.cpp)、Qwen3.6 (https://huggingface.co/Qwen) 和 Pi (https://pi.dev/) 拼接起来,再加上三个命令:
- 逗号用于“给我一个命令”
- 问号用于“回答我的问题”
这很有趣,也很简单,只花了我 7 千美元买了一台配备 128GB 统一内存的 M5 Max MBP。
## 逗号
现在我可以先输入一个逗号,再跟上普通英语,描述我想做的事。几秒钟后,我会得到一列简短的建议命令,每条都附带一行说明。我选中一条,它就会落到我的提示符行。我看看它,也许编辑一下,然后自己按回车执行。
当然,身为结构化输出公司™ 的 CEO(https://dottxt.ai/),我不得不用一些小技巧:用 JSON Schema (https://json-schema.org/) 来获取 `{command, note}` 列表,再用一些语法技巧强制命令前缀(`ls`、`git` 等)。
回答我逗号问题的是一个运行在本地 llama.cpp 上的 27B 参数模型。它并不是前沿模型,也不必是。我并不要求它有多聪明;我只让它提出四种列出大文件的方法。固定输出格式加上本地模型已经绰绰有余,用我的笔记本就够了。
而问号则承担不同的任务,所以它使用不同的工具。
一个问题可能仅凭模型已知的知识就能回答,也可能需要读取我磁盘上的某个文件,或者查一下网上的最新信息。因此,问号把提示交给了一个小型本地代理(神奇的 Pi (https://pi.dev/))。我给了它一个故意限定的工具集:它可以读取文件,可以搜索网络,仅此而已。不能写,不能编辑,不能运行 shell 命令。我只想让它*查东西*,而不是擦掉我的硬盘。答案会以 Markdown 格式渲染出来,直接显示在终端里。
## 重点不在于它能做什么
逗号从不执行任何东西。它提议,我决定。这个模型足够好用,能草拟出 `git log --oneline --graph`,但远远不值得信任到可以不经检查就运行它,所以命令会落在我的提示符行,等我按回车。从“这是候选”到“好,执行吧”之间就隔一个按键,完全安全。
那两个用来*执行*指令而非建议命令的感叹号还在酝酿中。允许一个代理在我的 shell 里做事,而不仅仅是查找信息,那是另一种境界的傍晚,我不急于一时。那是以后要写的内容了。
## 一晚值得的投入
我很享受实现这个功能,程度远超我的预期。整个过程在关闭 Wi-Fi 的情况下运行,不需要信用卡。我仍然无法在 shell 里敲一句话就*安全地*执行,但已经非常接近了。足够接近了。电脑依然不会说话,但我的电脑在帮我更好地与它对话上,稍微进步了一点。
相似文章
Pi编码代理如何控制Qwen的思考长度?(Qwen 35B A3B,llama-server)
讨论Pi编码代理如何在llama-server上控制Qwen 35B A3B模型的思考长度,而其他客户端却无法做到。
Qwen3.6 35Ba3 已改变我的工作流程,甚至我使用电脑的方式
一位用户描述了 Qwen3.6 35B 如何结合 'pi' 工具,彻底改变了他们的计算机工作流程,实现了通过自然语言控制操作系统和自动化任务执行。他们完全在本地通过语音消息成功构建了一个落地页,展示了该模型的实用价值。
回家发现Pi带着Qwen3.627B运行了rm -rf.....
一个名为Pi的AI编码代理(基于Qwen3.627B)因磁盘空间问题自动在构建缓存上执行了rm -rf,但用户认为这是险情,并赞赏该模型的智能。
Qwen3.7-Plus:多模态智能体 (36分钟阅读)
Qwen3.7-Plus 是一个多模态智能体模型,统一了视觉与语言,实现图形界面与命令行界面的无缝交互,现可通过阿里云模型服务平台使用。
我在我的 shell 中嵌入了一个 AI 代理。现在它可以运行交互式程序。
作者介绍了 'agent-sh',这是一个开源项目,将 AI 代理直接嵌入到 shell 中,以管理交互式程序和终端命令,无需手动复制粘贴。