用途:该技能用于通过 wsh 操作会接管整个终端的全屏终端应用(TUI),例如 vim、htop、lazygit、k9s、midnight commander。此类程序使用终端的备用屏幕缓冲区,屏幕是由程序控制的固定网格,交互方式与命令—响应模式不同。
主要能力:识别备用屏幕模式——屏幕响应中出现 "alternate_active": true 表示处于网格模式,滚动历史无关;TUI 退出后该值变回 false,原滚动历史视图恢复。以二维方式读取屏幕:位置有意义,加粗或高亮常表示选中项,颜色区分面板、表头、状态栏,反显表示光标或选中,暗淡表示非活动元素。支持光标移动、页面翻动、Tab 循环面板、Enter 确认、Escape 取消等通用按键,以及 h/j/k/l、g/G、/、n/N、q 等 vim 风格按键。可处理覆盖在主内容上的模态框和对话框,此时按键作用于模态框。
使用方式:若工具集中有 wsh_* 工具(如 wsh_send_input、wsh_get_screen),直接使用;操作名称通常对应工具名。若没有,则处于 HTTP/curl 回退模式,不要猜测端点或 CLI 子命令,应先查找工作区中的 skills/core/ 并阅读 SKILL.md,其中包含端点和 curl 示例及引导序列。引导命令:curl -sf --unix-socket ${XDG_RUNTIME_DIR:-/tmp}/wsh/default.http.sock http://localhost/health;失败则执行 wsh server -L agent-$$ --ephemeral & 后重试。发送按键应一次一个,之间短暂等待(如 500ms)让 TUI 重绘,再读取屏幕确认位置。进入 TUI 后先通读屏幕建立布局认知:顶部常为菜单栏或标题栏,中部为内容区,底部一两行为状态栏或命令行。找不到方向时先读状态栏和按键提示,可尝试 ?、h 或 F1 打开帮助,再按 q 或 Esc 关闭。退出时优先使用程序自身的退出命令(q、:q、Ctrl+X),先按 Esc 退出模态或子模式;无法干净退出时用 Ctrl+C;最后手段用 Ctrl+Z 挂起后 kill %1。确认退出需等待空闲后检查 "alternate_active": false。
常见程序:vim/neovim 启动为 Normal 模式,i 插入,Esc 返回 Normal,:w 保存,:q 退出,:wq 两者兼做,迷失时按 Esc Esc 后 :q! 不保存退出;nano 直接输入编辑,^ 表示 Ctrl,^X 退出,^O 保存;lazygit 分面板,Tab 切换,j/k 移动,Enter 打开,space 暂存,c 提交,p 推送,q 退出;htop/top 用 j/k 或方向键移动,k 结束进程,q 退出;k9s 用 : 进入命令模式指定资源类型(:pods、:deployments),j/k 移动,Enter 进入,Esc 返回,d 描述,l 查看日志。
限制与注意事项:不要把命令当输入敲进 TUI,TUI 不是 shell,向 vim 发送 ls -la\n 会把字符插入文档;不要连续快速发送大量按键,否则无法确定落点;注意模式变化,同一按键在不同模式下含义不同;在 TUI 内再启动 TUI 时 alternate_active 仍只是 true,需自行记录嵌套层数。本资料未提供收费、价格、平台支持范围或效果数据。