客户端、后端服务、共享 UI、Agent CLI 与运行时,一个仓库,全部开源。
AI 编程工具现在一抓一大把,但大部分都遵循同一个套路:命令行可以给你用,好用的界面就得收钱。智谱(Z.ai)最近开源的 ZCode 偏偏反着来:整个工作台连锅端,桌面应用、浏览器界面、终端 Agent,客户端后端全部开源,代码规规矩矩地放在一个仓库里。目前项目已经攒了 7800 多颗星,10 月 10 日刚更新到 v3.15.1。
今天咱们就摊开聊聊,这玩意儿到底开源了哪些东西,跟 Claude Code 这类工具又有什么区别。在云栈社区的技术讨论中,这类"开源产品形态"的话题一直热度不低——毕竟能直接把商业产品的内部设计看得明明白白的机会并不多。
一个工作台,三种形态

ZCode 是一个 AI 编程工作台,同一个产品给了你三种打开方式:
桌面版(Electron 应用):双击即用的完整客户端,Windows、macOS、Linux 都能打包。
Web 版(浏览器界面):一条 zcode --web 就能起个本地服务,浏览器直接访问,还能开局域网供团队使用。
CLI 版(终端 TUI):命令行里跑 Agent,服务器上也能干活。
三种形态共用同一套后端和 Agent 运行时。也就是说,你在终端里跑的活,切到桌面版里能接着看,会话数据是同一套,不用重新开上下文。
Web 模式还有个细节值得注意:默认只监听本机、不开启令牌。你要是想通过局域网访问,它会自动生成访问令牌,必须拿到终端输出的带令牌链接才能进。安全这条线,考虑得确实细。
仓库里都有啥

这个仓库不是空壳子,是真把家底掏出来了:
packages/desktop:桌面客户端,Electron Main、Host、Renderer 与桌面打包
packages/web:Web 客户端,浏览器里的完整工作台界面
packages/server:后端服务,HTTP / WebSocket 服务与远程连接
packages/ui:共享组件库,React 组件、hooks 与 Zustand 状态管理
packages/rpc 和 packages/client:RPC 框架与 Agent SDK,共享协议和类型
apps/zcode-cli:Agent CLI 与运行时,TUI、运行时与工具
连第三方声明、打包维护的脚本都规规矩矩放在仓库里。想照着抄一套自己的 AI 编程产品,这基本就是一份现成的参考答案。
技术栈也相当主流:Electron + React + Node.js,用 pnpm workspace 管理多包仓库,Node 24 起步。想自己编译打包的话,README 里从环境初始化到最终打包写得明明白白,一条 pnpm bootstrap 就能把依赖全部拉起来。
三个值得单独拎出来的设计

翻完 README 和配置文件,有三个点让我觉得这项目不是"开源个玩具":
远程工作区
支持 SSH / WSL 连接远程项目。资源走 SFTP 上传到远程机器,不依赖公网 CDN。这意味着你的代码在服务器上,AI Agent 也能直接上去干活,本地只当个驾驶舱。
UI Plugin 插件系统
ZCode 支持往界面里装插件。官方给的开发示例是从 Excalidraw 的画布协作开始做的,插件能往工作台里塞自己的页面和交互逻辑。有独立插件仓库,PR 流程也已经定好了。
Provider 自己配
模型接入层是可配的:内置 Provider 配置可以换成自己的文件。接哪家模型、走什么网关,你说了算,数据不过别人手。配合 Web 版自带的认证机制,放在自己服务器上跑一套,完全自主可控。
怎么跑起来
想试试的话,三步就能启动:
git clone https://github.com/zai-org/ZCode.git
cd ZCode
pnpm bootstrap
然后启动桌面版:
pnpm dev:desktop
如果不想要 Electron 的图形界面,直接走命令行:
zcode # 进终端交互界面
zcode --web # 起 Web 界面,浏览器打开
--md 模式的开发文档写得比较全,仓库结构、打包命令、环境变量都有对应章节。踩坑了先翻 README,基本都能找到答案。
收个尾
说白了,ZCode 真正值钱的地方,是一个商业公司把整套工作台的产品形态摊开了。桌面端怎么和 Agent 运行时通信,Web 端怎么做认证,插件系统怎么设计,远程工作区怎么传资源——这些在别的项目里你只能靠猜,在这里全是源码。
7800 星还在往上涨,更新频率也勤快,10 月一个月就发了两个版本。搞 AI 编程工具的、想私有化部署一套的,都值得扒下来仔细研究。macOS 未签名包首次打开会被系统拦截,README 里有对应的处理命令。
仓库地址:https://github.com/zai-org/ZCode