我写了一个叫做 contd 的 CLI wrapper ,启动一个后台进程管理想运行的命令,然后 contd 在合适的时机(设置超时、正在等待 stdin 输入)返回中间结果来做到类似异步函数的效果,当需要再次访问命令结果的时候 attach 上去就行,这样就能让还没支持 interactive CLI 的 Agent 也能轻松跑 gdb/lldb 来动态调试了,也可以让 agent 自己通过交互式 CLI 运行一些软件的安装过程(比如需要你选 yes or no 的)
有些 interactive CLI 其实都会提供非交互式的参数,不会进入交互界面,比如 gdb/lldb 都可以做到,不过出于历史原因总有一些 CLI 是不支持的,那么 contd 就可以起到作用。
我的仓库里就用了个演示视频展示 cursor 里不支持交互式命令的 agent 用交互状态的 gdb 调试知名 CS 入门课 CSAPP 的 bomb lab ,需要逆向一个二进制文件去 debug 来找到多个密码。
最后,我也写了个 SKILL 可以让 Agent 直接学会怎么用,希望会有点帮助
仓库: https://github.com/werifu/contd

