native-feel-skill

WindowsmacOSLinux

一项用于设计拥有原生体验的跨平台桌面应用的Agent技能 — 源自Raycast 2.0技术深度剖析,并基于对已发布的Raycast Beta.app二进制文件的反向工程。

这两个目标通常相互制约:便利的跨平台开发和接近原生的性能。本技能捕捉了结构性的选择——八大架构原则、四层架构、WebKit/WebView2生存指南、75项发布检查清单——让应用能够兼得这两点。

这是什么

为架构师、技术主管和工程师而设的参考,他们需要构建一个桌面应用,该应用必须:

这就是四层架构:原生外壳→系统WebView(WKWebView/WebView2)→Node后端→Rust核心,通过一个单一的带类型IPC模式连接起来,为每个运行时生成客户端。

这不是什么

运行checklists/decision-tree.md来确定该架构是否适合你的项目。它本身已排除了几种常见情况——直接说明比过度调整建议更有用。

设计哲学

该架构解决的核心矛盾:当便捷的跨平台开发与接近原生的性能这两个目标通常相互制约时,桌面应用如何能同时实现两者?八大原则指明了结构性举措:

  1. 将分界点置于渲染表面——在WebView之上共享,在其之下分离;这是唯一能同时保证开发体验和原生感受的层次。

  2. 单一模式,多种语言——在声明处一次性支付多语言税,在调用点再不用付。

  3. 采纳平台而非与之竞争——操作系统绘制的模糊、滚动、材质和深色模式效果优于你能做到的。

  4. 性能是感知的属性——用户感受到的,而不是活动监视器报告的。

  5. 短迭代循环就是产品——200毫秒热重载对比30秒原生重建,是150倍的复合优势。

  6. 有意地跨越边界——IPC有成本;将每次跨越设计为异步、批处理、带类型模式。

  7. 身份认同是肌肉记忆——快捷键、排序、操作符就是应用本身;其他都是实现细节。

  8. 区分基线边界——WebView+Node底层是租借的;只有你的脏页才是你自己的优化空间。

先阅读references/01-philosophy.md。其他都是由此衍生。

关于Agent技能

Agent技能是封装领域知识的新兴标准,任何兼容的Agent(Claude Code、Claude Agent SDK或其他支持Agent技能的运行时)都可以发现并加载。通过此README顶部的提示安装后,当Agent的对话涉及跨平台桌面架构、WebView特性问题或Raycast风格的应用时,技能会自动激活——触发条件在SKILL.md的前置元数据中声明。

来源

SHARE

分享

分享这个开源项目。

Skills

native-feel-skill · 开源项目 · HeyBinyang