claw-lark Patches
自动重应用飞书插件自定义补丁,修复更新后功能失效问题。
通过 ht CLI 实现对全屏终端界面的可靠交互与状态捕捉。
openclaw skills install @inertia186/headless-terminal命令、参数、文件名以原文为准
使用 ht(来自 <https://github.com/montanaflynn/headless-terminal>)作为专用工具,处理在标准 stdin/stdout 控制下表现异常的终端程序。它提供真实的 PTY、终端状态快照以及明确的等待条件,使代理能够可靠地驱动 TUI 应用,而无需猜测屏幕何时稳定。
不要让锤子让所有东西看起来像钉子。ht 功能强大但开销较大;如果普通命令、管道、exec 配合 pty=true,或 tmux 会话更合适,请优先选择这些方案。
ht 已安装。ht;明确拒绝过度使用“锤子-钉子”式方案,优先尝试更简单的 shell 或主机代理原语,若它们适用。ht run 创建一个唯一命名的会话。ht view 进行快照。ht 与其他工具使用 ht 的情况包括:
优先使用 exec / process 的情况包括:
exec 配合 pty=true 已足够满足 TTY 检查,无需屏幕快照优先使用 tmux 的情况包括:
首先检查可用性:
command -v ht如果 ht 缺失,应明确说明,并切换到其他工具或询问是否安装。推荐安装源为 Montana Flynn 的 headless-terminal:
brew install montanaflynn/tap/ht若无 Homebrew,可从 <https://github.com/montanaflynn/headless-terminal/releases> 下载与主机操作系统/架构匹配的 release tarball,然后将 ht 二进制文件放入 PATH。
发布时的安全/信任策略:
重要澄清:并非所有名为 ht 或 headless-terminal 的包都是此 CLI 工具。在 macOS/Homebrew 上,核心公式 ht 实际指 HTE(用于可执行文件的查看器/编辑器/分析器),而非本工具。公共 npm 包 headless-terminal 是一个旧版库,可能不支持所需的 ht run / ht send CLI。切勿凭猜测安装;务必确认候选工具明确支持本技能所用命令。
ht run --name demo-$(date +%s) <cmd...>
ht send demo "keys..." --wait-idle 200ms --view
ht view demo
ht view demo --format png > screenshot.png
ht wait demo --wait-text "READY"
ht stop demo
ht remove demo命令名称和标志具有版本敏感性。若 ht --help 可用,应先查阅以确认不常用标志(如 PNG 输出、光标等待)的有效性。
这是使用 ht 的主要原因。
按优先级顺序推荐:
--wait-text--wait-cursor--wait-idle--wait-duration避免在存在真实等待条件时依赖盲目的延迟。
ht run --name notes vim /tmp/notes.md
ht send notes "ihello<Esc>" --wait-idle 200ms --view
ht send notes ":wq<CR>" --wait-exit
ht remove notesht run --name remote ssh user@host.example
ht send remote "top<CR>" --wait-idle 500ms --view
ht send remote "q" --wait-idle 200ms
ht send remote "exit<CR>" --wait-exit
ht remove remotegit add -pht run --name addp git add -p
ht view addp随后逐个发送选择项,并在每次响应后等待。
ht view 检查,再发送更多按键。ht remove 清理已退出的会话。ht 并简化方案。references/examples.md:快速适配检查、示例命令模式和等待策略示例references/keys.md:vim 风格按键表示法,如 <CR>、<Esc>、方向键、控制/元键及原始字节references/waits.md:等待策略决策树与超时指引references/recipes.md:vim、REPL、安装程序、watch、终端尺寸、截图与录制等实用配方references/troubleshooting.md:退出码、陈旧视图、等待超时、僵尸进程、守护进程问题及 ht debug 用法已收录 1 个 Skill