V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
vodmaker
V2EX  ›  分享创造

我又 Vibe Coding 了一个 Agent 项目

  •  2
     
  •   vodmaker · 1 天前 · 582 次点击

    最近 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

    1 条回复    2026-01-08 00:24:30 +08:00
    codehz
        1
    codehz  
       4 小时 8 分钟前
    其实可以增加一些读取上下文的工具调用,例如拿到前一个用户执行的输出一类的(配合 shell 集成),再加点用户交互的工具调用,接入某个 TUI 库生成简单的界面(如要求用户选择某个选项,或者输入内容),就很实用了
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   937 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:33 · PVG 04:33 · LAX 12:33 · JFK 15:33
    ♥ Do have faith in what you're doing.