nicobailon/pi-interactive-shell

Pi coding agent extension that allows Pi to autonomously control interactive CLIs in an observable overlay. Full PTY emulation, no tmux, token efficient. User can take over anytime.

解决的问题

Pi Interactive Shell 允许 AI 编码代理运行并交互式地使用需要实时交互的命令行界面(CLI),例如文本编辑器(vim)、REPL、数据库外壳(psql)或长时间运行的进程(npm run dev)。它通过提供一个可观测的 TUI 叠加层,弥合了静态命令执行与交互式终端会话之间的差距,使代理和人类用户都能监控、控制并交接会话。

如何工作

该项目提供一个名为 interactive_shell 的工具,AI 代理调用它来启动子进程。它支持四种不同的操作模式:

  • 交互式:启动一个 shell,代理和用户都可以发送输入并监控状态。
  • 免提:专为长时间运行的构建或服务器设计;代理轮询更新,用户进行观察。
  • 分派:一种“发射后不管”模式,代理仅在完成或满足特定退出条件时收到通知。
  • 监控:事件驱动模式,当输出流中检测到特定触发器(正则表达式、字面字符串或文件变化)时唤醒代理。

用户可以通过直接在叠加层中输入来接管任何会话,并使用 Ctrl+G 将控制权交还给代理。

适用人群

使用 Pi 编码代理(或兼容代理如 Codex、Claude 和 Cursor)的开发者,他们需要 AI 助手处理复杂的 CLI 任务、管理子代理,或自主监控系统日志和测试。

特色亮点

  • 双控模式:实时 TUI 叠加层,支持 AI 代理与人类用户之间无缝交接控制。
  • 事件驱动监控:可根据流触发器、轮询差异或文件系统监视器唤醒代理。
  • 结构化启动:原生支持启动其他 AI 代理(Pi、Codex、Claude、Cursor)作为子进程。
  • 灵活输入:支持原始文本、命名键(如 Ctrl+C)、括号粘贴和十六进制字节,适用于复杂 TUI 导航。
  • 自动退出:在一段时间无输出后智能取消本地监督(静音检测)。
  • 可恢复输出:可选功能,保留并查询无头会话中的特定失败测试详情或日志。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目