关于 platform-compatibility
一项兼容性技能,帮助 TUI 适配不同操作系统、终端模拟器、复用器、远程会话和受限环境。重点包括能力测试、支持矩阵文档及文本回退方案。
主要功能
- 01终端与操作系统支持矩阵
- 02终端复用器兼容性指南
- 03SSH 与低带宽环境考量
- 04可选协议的回退方案
- 05区域设置与终端能力检查
适用场景
- 01规划 TUI 的跨操作系统支持
- 02测试 tmux 或 Zellij 中的表现
- 03适配 SSH 与 CI 环境中的界面
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill platform-compatibility安装后在 Claude Code 中输入/platform-compatibility确认已加载。
附带文件references/emulator-platform-matrix.mdreferences/multiplexer-remote.md
详细介绍
平台、模拟器、多路复用器和远程兼容性
当 TUI 必须在不同操作系统、终端模拟器、多路复用器、SSH 会话、容器、CI 或嵌入式伪终端宿主环境中运行时,请使用此技能。
兼容性思维
终端功能依赖一整条链路:应用库、操作系统控制台或 PTY、Shell、多路复用器、SSH 传输、终端模拟器、字体、主题和用户设置。只有链路上的每一环都能保留某项功能,该功能才可靠。除非应用完全控制整个环境,否则应将所有高级协议视为可选项。
需要定义的支持矩阵
对于生产级 TUI,请记录并测试:
- 操作系统:Linux、macOS、Windows Terminal;如支持,还包括经典 conhost、WSL 和容器。
- 终端模拟器:Terminal.app、iTerm2、Kitty、Alacritty、WezTerm、foot、GNOME Terminal/VTE、Konsole、Windows Terminal。
- 多路复用器:tmux、GNU screen、Zellij。
- 远程环境:SSH、类似 mosh 的连接、串行/低速连接、跳板主机、Agent 转发策略。
- Shell 和区域设置:UTF-8 区域设置、Windows 上的代码页、
TERM和 terminfo 的可用性。 - 限制:最小尺寸、色彩级别、Unicode/ASCII 模式、鼠标/粘贴支持。
平台规则
- 在 Windows 上,应区分 Windows Terminal/ConPTY 与旧版控制台宿主。使用低级控制台 API 时,应启用虚拟终端处理;优先使用 UTF-8,并在相关情况下测试通过 ConPTY 托管子进程。
- 在类 Unix 系统上,应处理 PTY 语义、
SIGWINCH、termios 原始/半原始模式的恢复、进程信号,以及依赖区域设置的编码。 - 在 macOS 上,Terminal.app 和 iTerm2 在专有协议、Option 键行为、剪贴板/图像功能以及默认色彩/主题设置方面各不相同。
多路复用器规则
- tmux/screen/Zellij 可能会改写
TERM、过滤 OSC/DCS、转换鼠标事件、管理备用屏幕,并要求通过封装器传递剪贴板、图像、真彩色或键盘协议。 - 务必在所声明支持的多路复用器版本内外都进行测试。
- 优先提供文本回退方案,而不要硬性依赖 OSC 52、OSC 8、Kitty 图形、iTerm2 图像、焦点事件或扩展键盘协议。
远程规则
- 通过 SSH 时,应尽量减少写入量和光标移动。
- 合并连续的窗口大小变化和高频指标更新。
- 不要假定剪贴板、本地文件路径、图像协议或 Agent 转发始终可用或获准使用。
- 提供低带宽、无鼠标、无动画、纯文本和批处理模式。
参考文件
references/emulator-platform-matrix.md- 操作系统、模拟器、PTY 和功能兼容性指南。references/multiplexer-remote.md- tmux/screen/Zellij、SSH、延迟、透传和窗口大小调整实践。
评论
支持 Markdown