各位 V 友大家好,
想必最近很多人的 Github 信息流都被 Anthropic 官方的那个破天荒的项目 **claude-code**( https://github.com/anthropics/claude-code )刷屏了。这个被大家称为地表最强 AI CLI 工具的工程源码一放出,就引起了不小的轰动。
由于官方主仓库体量极大且带有一定的内部环境要求,为了吃透它的逻辑,我拉取了社区针对官方源码做了即刻可用封装的变体项目 **claude-code-best**( https://github.com/claude-code-best/claude-code )。作为一个最近正在痴迷研究 AI 辅助开发和小 Agent 架构的菜鸟,我把这套纯前端 + Node (Bun) 技术栈的源码仔细扒了一遍。
脱掉所谓的黑盒外衣,看它内部的真实工程实践,真的让我大受震撼。今天总结了几点我最核心的学习笔记,和各位一起探讨交流一下:
打开项目包管理配置,它是极其纯粹的 Bun 工程。对于 CLI 这种对用户极度关注“毫秒级响应”的强交互工具,一个 25MB 大小、包含了数千模块的单文件核心,硬是被调教成了敲回车瞬间随叫随到,这在以往的 Node 环境下不敢想。在构建高频调用 CLI 时,这次完全印证了 Bun 的潜力。
在 src/tools.ts 文件里,竟然集成了超 40 个具体的 Tool 指令:
BashTool 自带沙盒监控防护,避免一上来就瞎删项目。AgentTool,也就是说要是主线程扛不住复杂的架构意图,它可以自动分裂出各种子级 Agent 在后台跑分支任务。在上下文暴增时代的 Token 管理,官方给了一个极其暴力的做法:
git status 状态有几万行,它的系统截取上线死死压在 2000 个字符长度直接截断,绝不让冗余日志污染大模型视线。CLAUDE.md 或者内存存储里面,这套状态挂靠技术让它的回答稳如泰山。CLI 界面是用 Ink (终端的 React) 堆出来了全套响应式。为了避免黑白框里渲染巨大块 Diff 造成控制台的掉帧卡顿,他们在底座包引了基于 C/C++ 封装的原生渲染引擎 (color-diff-napi),甚至配上了 React Compiler 的组件锁缓存。原来在黑客界面里,交互也能这么高级。
大概读了下服务发现的模块,里面上万行的代码全在为主流的 Model Context Protocol (MCP) 铺路。Anthropic 完全没想把它做成孤立脚本,而是想要个随时可以插拔各位公司私有仓库、甚至接 AWS 的总枢纽。
这次扒源码的精力非常值,很多类似权限分级、意图折叠的前沿技巧都对我平常写开发辅助工具提供了太多灵感。
不知在座有没有大佬自己平常也折腾此类 AI Agent 或者看这类大源码,有什么想法可以一起碰撞一下呀!
1
kuhung 15 小时 32 分钟前
这意图压缩也不是啥新东西吧,古早 chatbot 时代就有了
|
2
esee 12 小时 33 分钟前 via Android
没看懂,好像说了很多,又好像什么都没说
|