unship 是一款面向 AI 编码智能体的开源本地工具,核心用途是帮助开发者在真实运行的应用中,对比 AI 智能体生成的多个界面、文案或状态变体。
主要能力:你可以让编码智能体生成 UI、文案或状态的多种备选方案,然后通过 unship 的本地选择器逐一浏览这些变体,将选中的方案复制并粘贴回 AI 对话,由智能体按你的指示在源码中落实。新增的 Canvas(实时画布)功能支持把多个备选方案放在一起比较,可平移、缩放、切换画布主题,并直接与原始组件交互;状态和事件处理器仍保留在实际应用中,Canvas 不会克隆或重启应用。你可以采用堆叠分区或更小部件的网格布局,所有选项共享浏览器视口,因此可通过调整浏览器大小进行响应式测试。
使用方式:项目要求 Node.js 20 或更高版本,只需注入一段脚本,无运行时依赖、无账号、无遥测,免费且采用 MIT 许可。安装后需要重启智能体或重新加载其技能;如果检测未命中你的智能体,可显式指定:unship install codex、unship install claude 或 unship install cursor。Claude Code 插件可用 skills CLI 安装:npx skills add mbenhard/unship。其他智能体可用 unship install --print-skill 输出指令,放入其技能目录。手动命令可通过 unship --help 查看。
0.2 版本新增实时 Canvas、更广泛的智能体安装支持以及更安全的选择器更新。0.2.1 版本起,Mac 上 Cmd + 滚轮可缩放 Canvas,同时支持 Ctrl + 滚轮和捏合手势,Canvas 打开期间会抑制浏览器原生滚轮缩放。
适用场景:需要在开发环境中快速比较同一功能的不同界面呈现、文案措辞或状态处理的开发者和 AI 辅助编程用户。
限制与注意事项:Canvas 需要 Popover API;应用自有的选项根节点弹窗/对话框会保留在页面上,检测到的外部浮层会引导你返回;自定义 portal 和跨源 iframe 手势可能需要页面级测试。该工具不应进入生产构建。复制选项仅用于标识所选方案,具体变更由你的指令决定。已有对比项目还需要智能体刷新已复制的选择器,仅重启不会更新项目文件。测试未发布的构建时,应安装其确切的 tarball 而非 @latest。
官网、贡献指南和问题反馈入口在仓库中提供;仓库采用 MIT 许可。