项目概览
Native Feel Skill 是一个 AI Agent 技能包,由开发者 yetone 创建,将 Raycast 2.0 的跨平台桌面应用架构经验提炼为可复用的结构化领域知识。它包含 8 条架构准则、四层架构方案(原生外壳 → 系统 WebView → Node 后端 → Rust 内核)、WebKit/WebView2 生存指南、75 项上线检查清单、IPC 契约设计指南、内存真相手册及 Raycast Beta 逆向证据。该技能包主要解决跨平台桌面开发中开发效率与原生性能不可兼得的问题,通过精确定义共享与原生边界,在 WebView 渲染表面画线,上方共享 React/TS 代码,下方使用原生 Swift/C#,让用户无法分辨是否为原生应用。安装到 Claude Code、Cursor 等兼容 AI Agent 后,讨论跨平台桌面应用架构时自动激活,提供架构建议、问题诊断和优化方案。
解决什么问题
跨平台桌面应用开发面临开发效率与原生性能不可兼得的两难困境。纯原生开发(Swift + AppKit / C# + WPF)性能好但每个功能要写两遍,UI 改版要改两次;Electron/Tauri 跨平台方便但交互总有「网页味」,用户一眼就能看出来。具体痛点包括:「网页味」暴露(cursor:pointer 鼠标手、WebKit 右键菜单、CSS box-shadow 窗口阴影、页面过渡动画、弹窗闪烁);WebView 性能陷阱(隐藏窗口被节流、启动白闪、展开空白、窗口缩放卡顿);多语言 IPC 失控(四种运行时手写序列化,类型在一个 sprint 内就会漂移);内存幻觉(Activity Monitor 显示 400MB 实际只有一半);冷启动体验差(白闪、加载占位符、焦点不在输入框);双端一致性难保证。传统方案各有局限:Electron 抽象掉了系统 WebView、窗口类和材质 API,无法获得 Liquid Glass / Acrylic / 毛玻璃效果;Tauri 自带 WebView 包装器并抽象平台 API,失去了关键控制力;纯双端原生每个功能开发两遍,迭代速度是 WebView 方案的 1/150。
工作方式
Native Feel Skill 不是要发明新框架,而是精确定义了「应该在哪个层面共享代码、哪个层面必须原生」——在 WebView 渲染表面画线,上方共享(React/TS),下方原生(Swift/C#)。核心交付物包括:8 条架构准则(支配所有决策的核心原则)、四层架构方案(原生外壳 → 系统 WebView → Node 后端 → Rust 内核)、WebKit/WebView2 生存指南(11+ 个真实 bug 的精确修复方案)、75 项上线检查清单、IPC 契约设计指南(跨四种运行时的类型安全通信方案)、内存真相手册、Raycast Beta 逆向证据。四层架构中,原生外壳(Swift + AppKit / C# + WPF/WinUI 3)负责窗口管理、全局热键、菜单栏、平台材质、WebView 实例化和 Node 后端监督;系统 WebView(WKWebView / WebView2)渲染 React + TypeScript 单一代码库;Node 后端为单一长生命周期进程,承载 SQLite、扩展运行时、网络层;Rust 内核通过 UniFFI 桥接,负责文件索引、计算引擎、加密。IPC 通信核心原则是「一个声明,生成所有客户端」,Schema 改变 → 所有语言编译失败 → 漂移不可能发生。
核心能力
- 条架构准则支配所有决策
- 四层架构方案:原生外壳 → 系统 WebView → Node 后端 → Rust 内核
- WebKit/WebView2 生存指南:11+ 个真实 bug 的精确修复方案
- 项上线检查清单逐条审计
- IPC 契约设计指南:跨四种运行时的类型安全通信
- 内存真相手册:揭示 Activity Monitor 的 6 个谎言
- Raycast Beta 逆向证据:实际发货产品的架构验证
- 安装后自动激活,无需手动触发
- 决策树明确告诉你「别用这个架构」的场景
- ms 热重载 vs 30s 原生重编译,150 倍迭代速度优势
- 一套 React 代码服务两端,UI 代码跨平台复用
- 低门槛扩展生态:JS/TS 扩展,潜在作者群体是原生的 100 倍
使用前需要了解
- AI 整理 · 本地测试,未经人工复核;依据历史报告节选,不代表当前产品状态。
- 该技能包不适合以下场景:内存预算小于 150MB 的简单小工具(建议选 Tauri 或原生);冷启动要求小于 50ms 的瞬时工具(如剪贴板管理器,建议选原生);只需要 macOS 单平台(直接用 SwiftUI);游戏或 3D 应用(WebView GPU 管线不合适);文档编辑器(富文本在 WebView 中处理很痛苦);团队没有 Swift 和 C# 能力(学习成本太高)。该技能包不是框架或库,而是一份可被 AI Agent 消费的结构化领域知识,可以用任何编程语言、任何框架来实现这套架构。安装后不会自动获得原生体验,仍需手动实现四层架构、修复 WebView bug、审计原生规范。架构复杂度高(四种运行时、多种 IPC 通道,调试难度大);内存基线不可压缩(约 150MB 底座无法降低);双端 Shell 仍需维护(两套约 10kLoC 的原生代码);依赖私有 API(如 ,存在未来被移除风险);WebView 引擎差异(macOS 用 WebKit,Windows 用 Chromium 派生 WebView2,CSS 需要双引擎测试)。

