做了一个Claude技能,让UI像真实物体一样运动。
说出它该有什么感觉:“沉重”、“有磁性”、“被抛出”。你的智能体会在一个有质量、弹簧和阻尼、处于力场中的物体上构建它。
没有手工挑选的时长。没有缓动曲线。
https://diip3sh.github.io/feel
https://github.com/diip3sh/feel
Feel 是一个面向 Claude Code 的开源技能(Skill),同时附带它所需的运行时与测试装置,由开发者 diip3sh 以 MIT 协议发布在 GitHub 上。它的核心主张非常明确:界面交互应当建立在物理模型之上,而不是靠设计师手工挑选的动画时长。你只需要用自然语言描述想要的手感,例如「一个沉重的开关」「带磁吸的抽屉」「能被甩到角落的卡片」,智能体就会基于质量、刚度、阻尼与力场,为你生成一个可用的生产级组件,并配上一套能可视化位置、速度与力场的测试装置。项目提供在线演示,也可以在本地启动静态服务直接体验,适合前端开发者、交互设计师以及正在使用 Claude Code 做界面开发的人。
传统前端动画大多依赖 transition 时长与 cubic-bezier 缓动曲线,参数靠反复试错调出来,换个场景就得重调,手感难以复用。更麻烦的是,拖拽、甩出、磁吸这类交互需要保留真实速度与惯性,手写计时器往往让重物显得轻飘、轻物显得迟钝。团队里不同人写的动画风格不统一,代码里散落着各种 300ms 和缓动函数,既难维护,也很难向他人解释「为什么是这个时长」。Feel 想解决的正是这种凭感觉调参、缺乏物理依据的交互开发方式。
Feel 把物理参数、运行时与验证工具打包在一起,让「手感」变成可描述、可复现、可导出的工程对象。
用一句话描述手感,即可得到由质量、刚度、阻尼驱动的生产组件。
实时绘制位置、速度与力场,并把模型预测叠加在实测运动上。
同一套弹簧参数可导出到 Framer Motion、react-spring、SwiftUI、Compose 或 CSS。
扫描手挑时长与缓动曲线,校验求解器精度、静止与关键停靠点。
它不只是一个动画库,而是把「交互手感」从主观审美推进到可测量、可审计的工程流程,对追求质感的界面团队有实际参考价值。
所有运动都来自物理模型,CSS 时长也由模型计算并明确标注。
以技能形式安装,在对话中直接产出组件与测试装置,缩短从想法到原型的路径。
做了一个Claude技能,让UI像真实物体一样运动。
说出它该有什么感觉:“沉重”、“有磁性”、“被抛出”。你的智能体会在一个有质量、弹簧和阻尼、处于力场中的物体上构建它。
没有手工挑选的时长。没有缓动曲线。
https://diip3sh.github.io/feel
https://github.com/diip3sh/feel