Markdown Rendering in cmux 是一个针对 cmux 环境的技能,用于在 cmux 面板中可靠地打开 Markdown,并在渲染表面空白时进行恢复。
用途
当在 cmux 中打开 Markdown 时出现空白面板或布局错误,或需要把 Markdown 文件稳定显示在 cmux 右侧面板时使用本技能。
问题背景
cmux markdown open 默认每次都会生成一个全新面板,即使使用 --direction right 也是如此。常见的“修复”做法是用 move-surface 把新的 Markdown 表面移入已有的右侧面板,但这样做会出现缺陷:移动后的查看器渲染为空白。该表面仍保持 type=markdown,看起来健康,却不显示任何内容。因此会陷入两难:要么多出一个游离的额外面板,要么移动后得到一个空白查看器。
规则
贡献者针对某个特定 cmux 版本观察到两种变通方法。请先核实已安装的命令与版本;空白渲染问题可能已经变化。优先在不改动无关面板的前提下重新打开一个自己拥有的查看器。
方案 A — 第一次就正确打开
如果还没有可用的右侧面板,就让 cmux 自行创建一个,并保持它落在的位置:
cmux markdown open /abs/path/file.md --direction right --focus false
之后不要移动它。如果它生成在你想要的位置,就完成了。
方案 B — 先关闭已有的右侧面板,再重新打开
如果有其他右侧面板挡路(且它们未被使用或无关),先关闭它们,再以新的右侧面板方式重新打开 Markdown:
1. 查找本工作区中的面板
cmux list-panes --workspace "$CMUX_WORKSPACE_ID"
2. 通过关闭其表面来关闭未使用/无关的右侧面板
cmux list-pane-surfaces --pane pane:NN cmux close-surface --surface surface:XX # 对该面板中的每个表面重复
3. 然后重新打开 Markdown —— 它会创建自己干净的右侧面板
cmux markdown open /abs/path/file.md --direction right --focus false
硬性规则
绝不对 Markdown 查看器使用 move-surface。移动后它会渲染为空白。这是本技能存在的核心缺陷。
要么第一次就正确打开(方案 A),要么关闭冲突的右侧面板并从头打开一个全新的右侧面板(方案 B)。
只关闭为本任务创建或明确授权关闭的表面;表面看似无关并不能证明其中没有未保存的工作。
始终锚定 $CMUX_WORKSPACE_ID;绝不要假设视觉上获得焦点的工作区就是目标工作区。
传入 --focus false,以免抢占用户焦点。
使用实际宿主机上任何受支持的读取/渲染检查手段。如果无法检查查看器,应报告该限制,而不是声称成功。
限制
本技能改编自 davidondrej/skills;在操作前请核实本地路径、工具、凭据和智能体功能。
对于命令、远程访问、调度、浏览器自动化或会修改文件的工作流,请先获得用户明确批准,并确认目标环境。