欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

shadcn/ui 默认迁移至 Base UI:技术决策、迁移策略与组件生态演进

2026/7/5编程开发

shadcn/ui 默认从 Radix 切换到 Base UI,并提供了渐进式迁移工具和组件级兼容策略。

一、背景:从 Radix 到 Base UI 的演进

shadcn/ui 自 2023 年 1 月发布以来,一直基于 Radix 构建。Radix 是一套无样式(unstyled)的 headless 组件库,以其优秀的 API 设计、无障碍支持和在数百万应用中的实战检验而著称。当时,市场上没有其他库能与之匹敌。

然而,Radix 的原班团队后来开始了新项目——Base UI。他们带着第一次构建 Radix 时积累的全部经验,重新设计了组件库。2025 年,Base UI 发布了 beta 版本,社区开始询问是否会用 Base UI 替换 Radix。

shadcn 的创始人当时明确表示:“对于生产环境的应用来说,最糟糕的事情就是切换组件库。”这个观点至今仍然成立。因此,团队没有采取简单替换的策略,而是采用了 shadcn 一贯的做法:为 Base UI 重建了每一个组件,保持相同的抽象层,让用户自由选择。

2025 年 12 月,npx shadcn create 同时支持了两个库;2026 年 1 月,Base UI 的完整文档上线。团队随后观察社区的实际使用情况,最终做出了默认切换的决定。

二、为什么现在切换?

Base UI 已达到稳定状态:

  • 版本号 1.6.0
  • 周下载量超过 600 万
  • 持续迭代,定期发布新组件
  • shadcn 团队自己的新项目全部使用 Base UI
  • 社区数据表明,通过 shadcn/create 创建的新项目中,选择 Base UI 与 Radix 的比例为 2:1

社区已经用行动做出了选择,官方只是将其正式化。

三、具体变更内容

  1. 新项目默认使用 Base UI:运行 npx shadcn init 后,Base UI 成为默认选项。
  2. shadcn/create 优先展示 Base UI。
  3. 文档默认展示 Base UI:组件页面默认打开 Base UI 标签页,Radix 文档只需一次点击即可访问。

四、对现有用户的影响

Radix 不会被弃用

  • 仍然完全支持 Radix
  • 每个更新和新组件都会同时为两个库发布(除非组件仅存在于 Base UI)
  • 不需要迁移:Radix 是成熟、经过测试的库,shadcn 团队自己仍在生产环境中使用

如何继续使用 Radix

如果希望在新项目中继续使用 Radix,只需添加一个 flag:
bash
pnpm dlx shadcn init -b radix

如果 CI 脚本或自动化流程中使用了非交互式的 shadcn init,记得添加 -b radix 参数以保持一致性。

注册表(Registry)兼容性

如果你在构建自己的注册表,可以发布 registry:base 配置来固定使用某个库。没有指定配置的项目将默认初始化为 Base UI。

五、迁移策略:渐进式、组件级、可逆

虽然官方不强制迁移,但如果你希望迁移到 Base UI,shadcn 团队提供了一个创新的解决方案——技能(skill),而非传统的 codemod。

为什么选择 skill 而非 codemod?

因为你拥有代码的完全控制权。你已经在组件上添加了自定义变体、修改了类名、注入了新的 props。传统的 codemod 只能处理你从未动过的组件,一旦遇到自定义修改就会出错。

因此,团队选择“注入知识”而非“执行替换”:

  • 记录了所有重命名、prop 变更、行为差异
  • 经过两个库的手工交叉验证
  • 你的 AI 编码助手(如 Claude Code、Cursor)读取这些知识,理解你的自定义修改,并智能地迁移
  • 机械性变更(如 asChild 改为 render)会被全局修复
  • 行为变更会被标记,而非静默修补——你需要手动确认

如何使用迁移 skill

bash
pnpm dlx skills add shadcn/ui

然后向你的编码助手发出指令:

migrate accordion to base-ui

迁移的渐进式特性

  • 默认逐个组件迁移,一次只迁移一个组件及其使用场景
  • 迁移过程中两个库可以共存,项目保持可构建、可发布状态
  • 可以中途停止、发布版本,下周回来继续,迁移进度会自动恢复
  • 也可以一次性请求整个项目的迁移

迁移产出的三样东西

每次迁移会生成:

  1. 可工作的代码:在报告成功之前会通过类型检查和生产构建
  2. 每个组件的迁移报告:存放在项目根目录的 .migration/ 文件夹中
    • 报告示例:.migration/accordion.md
    • 包含:日期、使用的策略、一句话结论
    • Changed:每个被修改的文件,以及修改内容和原因
    • Left alone:看起来相关但被有意保留未动的文件
    • Behavior changes:编译通过但行为不同的差异——被标记而非修补
    • Verify by hand:简短的手动验证清单(如“打开、点击、用 Tab 键导航”)
  3. 干净的 Git 历史:每个组件一个提交,放在单独的分支上。回滚只需删除该分支

技术细节

  • 进度不依赖隐藏状态,完全存储在文件和 Git 历史中
  • 任何编码助手、任何会话、任何时间点都能恢复进度
  • 团队在真实项目上测试:60+ 组件(其中 36 个基于 Radix),完整迁移约 25 分钟,每个组件约 10k tokens
  • 构建干净,自定义修改完整保留

六、2026 年 6 月更新:聊天界面组件

除了默认库的切换,shadcn/ui 还发布了一套新的聊天界面组件,这是第一阶段的工作,专注于对话层:滚动、消息行、气泡、附件和标记。

核心组件

MessageScroller:对话的滚动容器,处理以下易错场景:

  • 锚定翻转(anchored turns)
  • 流式回复
  • 保存的会话恢复
  • 历史记录预加载
  • 跳转到特定消息
  • 滚动控制
  • 可见性追踪

MessageScroller 不拥有你的消息数据、AI 状态、传输层、持久化或模型状态——你只需提供内容渲染器。它同时作为无样式的 headless 组件在 @shadcn/react 中可用。

其他组件:

  • Message:对话行布局,包含头像、对齐方式、头部、内容、底部和消息分组
  • Bubble:消息表面渲染,支持变体、对齐、反应、链接、按钮和可折叠内容
  • Attachment:文件和图片渲染,包含媒体、元数据、上传状态、操作和全屏触发器
  • Marker:状态更新、系统通知、带边框的行和标签

安装命令

bash
pnpm dlx shadcn@latest add message-scroller message bubble attachment marker

七、总结与建议

  • 如果你正在使用 Radix 且项目运行良好:无需做任何事,继续发布即可
  • 如果你要开始新项目:官方推荐使用 Base UI
  • 如果你想迁移:使用 skill 进行渐进式迁移,风险可控
  • 如果你维护 CI 脚本:检查是否需要添加 -b radix 参数

这次切换体现了 shadcn/ui 的核心哲学:用户拥有代码,工具提供选择,迁移由你掌控。

原文链接:https://ui.shadcn.com/docs/changelog

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消