用途:以编程方式操作终端程序,形成“发送输入—等待空闲—读取屏幕—判断—再行动”的循环,适用于运行构建命令、查看输出、回应交互式提示等场景。
主要能力:发送命令并附换行回车;按预期设置等待空闲超时,如快速命令 500-1000ms、构建安装 3000-5000ms、网络操作 2000-3000ms,但空闲只是提示并非保证;读取屏幕,可优先纯文本,格式重要时用带样式;输出过长时读取回滚缓存;识别并回应 [Y/n]、Password:、> 等提示;发送 Ctrl+C、Ctrl+D、Ctrl+Z、Ctrl+L、Ctrl+U、Escape 等控制字符;通过屏幕提示或 echo $? 判断成败;轮询长时命令,避免过长空闲超时;处理命令链、管道、后台进程、分页器(如 git log --no-pager、PAGER=cat man ls、按 q 退出)、heredoc 多行输入。
使用方式:若有 wsh_* 工具则直接使用,操作名称通常对应工具名;否则为 HTTP/curl 回退模式,不要猜测端点或子命令,先查找工作区 skills/core/ 阅读 SKILL.md 获取完整 API 参考。快速引导:curl -sf --unix-socket ${XDG_RUNTIME_DIR:-/tmp}/wsh/default.http.sock http://localhost/health;若失败则 wsh server -L agent-$$ --ephemeral & 后重试。
限制与注意:发送命令通常需包含换行;发送下一条前必须等待空闲;屏幕仅显示最后若干行;注意安装器等意外提示;rm、DROP TABLE、git push --force 等破坏性命令需先向人确认、核对路径参数并优先使用 dry-run;命令卡住时依次尝试 Ctrl+C、再次 Ctrl+C、Ctrl+Z 后 kill %1,仍无效则求助;shell 状态会持续保留,需留意环境影响。资料未提供具体安装命令、收费价格或效果数据。