某知名终端源码又又又泄漏了
最近圈内又热闹起来了——某知名编程终端的源码又又又泄漏了。
先别急着激动,我得先说清楚一件事:这个源码泄漏,跟大模型本身泄漏,是两码事。
你看到的,是它的”壳”——CLI 框架、工具调度、终端渲染这些。真正的大模型参数、训练数据,还在人家服务器里待着呢。
但这个”壳”依然很有看头。
它就像把一辆特斯拉拆开给你看——电池电机你造不出来,但它的整车架构、线束布局、软件逻辑,你都能学。
接下来的日子,我会带大家把这个终端拆开看一遍,看看它是怎么把”帮我写个功能”这种自然语言,变成一行行代码、一个个 git commit 的。
这是系列第一篇,先看整体架构。
先搞清楚:它到底是个什么
某知名编程终端,本质上是一个智能体终端。
什么意思?传统的终端是”你敲命令,它执行”,它是”你说话,它理解、规划、执行”。
举个栗子:
传统终端:git commit -m "fix bug",你得自己知道用 git、知道要 commit
智能体终端:”帮我修一下这个 bug”,它自己读代码、理解问题、改代码、提交
差别在哪?它有脑子。
技术栈:一套”熟面孔”
这个终端的技术选型挺有意思:

这套组合不是我随便说的,源码里就是这么写的。
选 Bun 而不是 Node,图的就是快——CLI 工具启动慢了很烦人。
用 React 写终端,这操作挺骚的,但确实好用——组件化思维,写起来舒服。
架构:一个”洋葱”模型
把这个终端剥开,大概是这样的:

每一层各司其职:
-
• 外皮:你打字的地方,React 渲染的终端 UI -
• 皮层:解析你输入的命令 -
• 肉层:跟 AI 沟通,决定要干什么 -
• 核层:干活的工具们——文件操作、Shell 执行、网页抓取 -
• 芯层:状态管理,保证数据一致性
启动:为什么这么快?
这个终端启动只要 100 多毫秒。
怎么做到的?
并行。
普通程序启动是串行的:读配置 → 读凭据 → 加载模块 → 启动,每步等上一步。
它的做法:读配置、读凭据这两个慢活,同时后台跑,主线程加载模块的同时,凭据已经准备好了。

这就是工程优化的艺术——不是靠魔法,是靠精心设计。
核心引擎:一个”翻译官”
整个终端最核心的部分,是一个查询引擎。
它的角色就像一个翻译官:
-
1. 你说:”帮我重构这个组件” -
2. 它翻译成 AI 能懂的格式 -
3. AI 返回一个计划:”先读文件、再分析结构、然后改代码” -
4. 它按计划执行工具 -
5. 把结果翻译回给你
这个过程是流式的——你能看到它在”思考”、”执行中”,不用干等。
工具系统:一把”瑞士军刀”
这个终端能干很多事,靠的是它的工具系统:
-
• 文件读写 -
• Shell 命令执行 -
• 网页抓取 -
• 子智能体调用 -
• …

聪明的是,它不会把所有工具都加载——只加载你环境需要的。
MCP:一个”外挂”接口
这个终端支持 MCP 协议(Model Context Protocol)。
通俗点说:任何人都能给它写插件。
你想让它能调你的私有 API?写个 MCP 服务就行。
你想让它能操作你的内部工具?写个 MCP 服务就行。
这就是开源的好处——可扩展性拉满。
安全:不是你想干啥就干啥
它有权限控制:
-
• 危险操作要你确认 -
• 有白名单机制 -
• 所有操作有日志
毕竟让 AI 操作你的电脑,还是得有个刹车。
小结:不只是个工具
看完这堆东西,我的感受是:
这玩意儿不只是一个 CLI 工具,它更像AI 时代的终端操作系统。
传统终端是”命令行界面”,它是”智能体界面”。
它证明了:当传统系统工具遇上现代 AI,能产生怎样的化学反应。
下一篇,我会拆开它的工具系统,看看这把”瑞士军刀”是怎么设计的。
要是觉得这系列有用,点个关注,后续持续更新。
吃瓜结束,干活去了 🍉
夜雨聆风