GoForum🌐 V2EX

我又 Vibe Coding 了一个 Agent 项目

vodmaker · 2026-01-06 17:43 · 0 次点赞 · 0 条回复

最近 Vibe coding 和 Agent 都比较火,最近还是比较有空,就用 Cursor 随手撸了一个命令行 agent 工具,取名 shex ( shell + execute )。

起因

每次用终端的时候,总有那么几个命令死活记不住。比如 tar 的参数到底是 -xvf 还是 -cvf ,find 命令的语法又是什么来着… 以前都是现查,现在有了大模型,干脆让它帮我生成命令算了。

市面上类似的工具不少,但要么功能太重,要么配置太麻烦。我就想要一个最简单的:输入自然语言,执行命令,完事。

效果

安装:

pip install shex

使用:

shex 列出当前目录所有文件
shex 查看磁盘使用情况
shex 找出所有 python 文件
shex 压缩 logs 文件夹

首次运行会引导你选语言、选大模型、填 API Key ,之后就可以直接用了。

特性

  • 支持十来个大模型:DeepSeek 、OpenAI 、Claude 、Gemini 、通义千问、Kimi 等等,也支持任何兼容 OpenAI 接口的 API
  • 失败自动重试:命令执行失败会自动分析错误,换个方法再试
  • 危险命令确认:涉及删除、格式化这类操作会先问你
  • 实时输出:命令执行过程中的输出会实时显示
  • 跨平台:Windows 、macOS 、Linux 都能用

实现

核心思路是用 OpenAI 的 Function Calling ( Tool Calling )机制,把命令执行封装成一个 tool 。用户输入自然语言后,大模型决定要执行什么命令,然后调用这个 tool 。

大概架构:

用户输入 -> LLM 分析 -> Tool Call (execute_command) -> 执行结果 -> LLM 判断是否需要重试

如果执行失败,LLM 会根据错误信息自动尝试其他方法,最多重试 3 次。

危险命令的判断也交给 LLM ,它会在调用 tool 时传一个 is_dangerous 参数,程序根据这个参数决定是否弹确认。

代码

项目已经发到 PyPI 了,源码在 GitHub:

代码量不大,核心逻辑就几百行,感兴趣的可以看看。

最后

整个项目从想法到发布大概花了一个下午,大部分代码都是 Cursor 帮忙写的,我主要就是提需求、调调 prompt 、修修 bug 。不得不说现在 vibe coding 的效率确实高,以前这种工具起码得写两三天。

欢迎试用,有问题可以提 Issue 。

另外再附上上一个 Agent 项目链接: https://fin-agent.chat

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: vodmaker
发布: 2026-01-06
点赞: 0
回复: 0