一个有趣的事实:你在终端里看到的Claude Code界面,其实是React组件渲染的。
Claude Code运行在Bun上(不是Node.js),用React的Ink框架来渲染终端UI。全部用严格模式TypeScript编写,Schema验证用的是Zod。入口文件压缩后785KB,对一个终端工具来说体量不小,但也说明了它的功能密度。
为什么这个信息有用?因为它解释了Claude Code为什么能有那么丰富的交互体验。权限确认弹窗、多行代码高亮、进度指示器,这些在传统终端工具里很难做到的东西,用React的组件模型就自然了。你感受到的「流畅」不是错觉,是工程选型的结果。