SmartCLI:让 Agent 真正会用终端,而不是瞎 sleep
SmartCLI 是个 Python 工具包,让 agent 真正会用终端,就干三件事:驱动交互式程序、读屏、把画面渲染回去。核心是不靠瞎 sleep 等,而是真看屏幕再决定下一步敲什么。
底座是 smartcli_core,可插拔 PTY 后端加 pyte 屏幕模型。关键在于它把终端读成单元格网格,不是字节流,所以能看出哪一行被高亮、光标停在哪。PTY 层没绑死 tmux。
真 tmux 还没验证过,README 明写“尚未验证”,开发机截图标的是 pyte-simulation,不是真 tmux 抓屏。这点不藏。
上面挂三个 skill。cmd-art 是终端特效引擎,30 个特效,donut、fire、plasma、rain,跨 8 个主题。tui-ui 是布局引擎,吐 tmux-safe 的 ANSI frames。drive-tui 才是重点,驱动 REPL、菜单、pager、prompt,走 perceive → decide → act → wait → confirm 循环,从不盲目 sleep,demo 里端到端跑通了真实的 lazygit TUI。
装的时候注意,分发名和导入名不一样。
pip install smartcli-toolkit
能 import 的包叫 smartcli_core,短名字被占了。skills 在 checkout 里就地跑,不装系统级。
依赖上,pyte 全平台,pywinpty 只 Windows,POSIX 直接用 stdlib pty。还带个 122 条笔记的知识图谱,渲染公式、ANSI 序列、常量都在。给了 MCP server,drive-tui 的动作从任何 MCP 客户端都能调。CPython 3.14.6 测过,CI 覆盖 Windows、Linux、macOS。MIT。