
源码系统概览
文章正文
Cherry Studio 是一款开源的桌面端 AI 生产力客户端,主打智能对话、自主智能体与 300+ 预设助手,统一接入国内外主流大模型。本项目为 CherryHQ/cherry-studio 的官方源码,采用 Electron 封装,适合想要自建本地 AI 工作台或进行二次开发的开发者。下面从架构、功能与部署角度拆解这套源码。
源码简介
CherryStudio 源码以 TypeScript 为主,整体是典型的 Electron 多进程结构。主进程负责窗口、本地 API 与进程编排,渲染进程承载 React 界面,preload 层做安全桥接,shared 包沉淀通用类型与工具。智能体能力集中在 packages/aiCore,提供 createAgent、上下文压缩与记忆管理等核心逻辑。模型接入通过 packages/ai-sdk-provider 与 provider-registry 实现 OpenAI 兼容与多厂商路由。数据存储使用本地 SQLite(Drizzle ORM),所有聊天记录、知识库与配置默认落在用户本地,不强制上云。
适用场景
这套源码适合多种落地场景。个人用户可基于它搭建私有的多模型聊天工作台,把 OpenAI、Claude、DeepSeek、Gemini 等聚合到一个界面统一管理。团队可将其改造成内部知识助手,接入企业文档做检索增强生成。开发者能复用 aiCore 的 Agent 编排与工具调用框架,快速试验自主智能体。教学与二次开发场景则可学习 Electron 加 React 的桌面 AI 应用工程化范式。对于需要本地优先、数据自持的 AI 工具需求,它比纯网页方案更可控。
功能亮点
第一,多模型统一接入。通过 provider-registry 聚合数十家供应商,支持自定义 OpenAI 兼容端点,模型列表动态拉取。
第二,自主智能体与 300+ 助手。aiCore 提供 Agent 运行时,可配置工具、知识与记忆,开箱即用大量社区助手模板。
第三,知识库与话题。内置知识库索引、话题树与文档检索,便于做 RAG 检索增强。
第四,MCP 服务器与市场。支持 Model Context Protocol,可挂载外部工具服务器扩展能力。
第五,本地 CLI 集成。可与 Claude Code、Codex、OpenClaw 等命令行智能体联动,把桌面客户端变成智能体调度台。
第六,跨平台与国际化。Windows、macOS、Linux 一致体验,内置多语言含简体中文。
技术架构与部署指南
| 维度 | 本套源码 | 同类通用方案 |
|---|---|---|
| 技术栈 | 前端:React 18 加 TypeScript 加 Vite(electron-vite 构建),UI 组件库自研 p | 依具体方案选型,需自行搭建与维护 |
| 部署方式 | 作为桌面应用,Cherry Studio 需要从源码构建或下载官方发行包。 | 多托管于第三方平台或订阅云服务 |
| 功能侧重 | 第一,多模型统一接入。 | 功能通用,定制深度有限 |
| 数据归属 | 数据自持,部署在自有服务器,不出站 | 数据通常留存于服务商侧 |
| 成本模式 | 获取后自主部署,无持续授权费用 | 通常按订阅或调用量计费 |
技术栈与运行环境
前端:React 18 加 TypeScript 加 Vite(electron-vite 构建),UI 组件库自研 packages/ui,国际化使用 i18next。
后端:无独立服务端,采用 Electron 主进程加渲染进程加 preload 桥接,内置轻量本地 API(路由如 /assistants、/agent-sessions、/knowledge-bases、/completions、/models)。
数据库:本地 SQLite,使用 Drizzle ORM(migrations/sqlite-drizzle.config.ts)持久化会话、知识库与话题数据。
运行环境:桌面端,需 Node.js(见 .node-version)与 pnpm;支持 Windows、macOS、Linux;大模型调用依赖本地或远端 API Key。
其他依赖:aiCore 智能体内核、ai-sdk-provider(OpenAI 兼容与 rerank)、provider-registry(多供应商接入)、MCP 服务器支持、Claude Code 与 Codex 与 OpenClaw 本地 CLI 集成。
安装与部署提示
作为桌面应用,Cherry Studio 需要从源码构建或下载官方发行包。源码构建流程:先安装 Node.js(版本见 .node-version)与 pnpm,克隆仓库后执行 pnpm install 安装依赖。开发模式用 pnpm dev 启动 electron-vite 热更新,正式打包用 pnpm build 配合 electron-builder 产出各平台安装包。配置方面可参考 .env.example 设置代理与可选的服务参数。若仅需使用而非改造,建议直接下载 GitHub Releases 的已打包安装程序,省去编译环节。二次开发时应先阅读 packages/aiCore 的 README 与 docs,理解 Agent 与 Provider 的扩展方式。
截图与演示说明
仓库自带的 build/icon.png 为项目图标,下方占位图展示樱桃主题 logo。

从源码结构看,值得关注的界面与模块包括:首页工作台(HomePage)与智能体会话页(AgentPage、AgentChat),用于发起对话与查看历史。助手广场与助手详情,提供 300+ 预设助手模板。模型供应商设置页(settings/provider),可增删 API Key 与自定义端点。知识库与话题管理页,支持本地文档索引。文件管理器与外部应用页,体现桌面端本地文件能力。MCP 服务器卡片(McpServerCard)则在设置中展示已挂载的工具服务器。由于本项目为桌面客户端,实际界面需在本地构建运行后于应用窗口中查看。
常见问题
问:Cherry Studio 是服务端程序还是桌面软件?
答:它是基于 Electron 的桌面客户端,核心逻辑运行在用户本机,不依赖自建服务器即可使用,仅大模型调用需要配置相应厂商的 API。
问:源码授权是否允许商用?
答:项目采用 AGPL-3.0 许可证,可自由使用与修改,但若对外提供网络服务或分发修改版本,需遵守 AGPL 的继续开源义务,商用前请评估合规。
问:二次开发需要哪些环境?
答:需要 Node.js(参考 .node-version)、pnpm 包管理器与 Electron 构建链,建议先在本地以开发模式跑通再考虑打包。
安全风险提示
特别提示:本源码未检测到 eval、base64_decode、混淆或后门类危险代码,整体为正常桌面 AI 客户端逻辑。需注意的是,应用为支持智能体能力会按需拉起本地命令行工具(如 Claude Code、Codex、OpenClaw)与 ripgrep 等进程,这些属于设计内的本地编排行为。使用前请确认所接入的外部 CLI 与 MCP 服务器可信,避免授予过高权限。仓库扫描曾命中一条硬编码凭证风险,经核对位于 packages/aiCore 的 README 文档示例,并非运行时代码。下载后请务必进行安全审计,删除可疑代码后再部署使用!
下载说明
源码仅供学习研究、测试部署和二次开发参考,商用前请自行确认授权、版权和安全风险。本项目为 AGPL-3.0 开源协议,使用或修改时须遵守其继续开源义务。由于应用可拉起本地命令行智能体与外部 MCP 服务器,请在受信环境中运行,谨慎授予文件与网络权限。
GitHub项目开源地址:https://github.com/CherryHQ/cherry-studio