Loading...
基本对应代码仓库下src/main/的相关代码,并对其进行补充描述
该部分主要解释客户端中数据的存储逻辑以及重要数据的流向
Loading...
静态资产
自定义组件
设置和预定义数据结构的集中存储库
状态管理和环境配置
数据库的结构定义、版本管理、格式转换与更新
Redux 状态管理
Loading...
Loading...
渲染页面
Loading...
知识库队列管理
业务层核心代码
模块化状态管理
TS接口
工具类
联网搜索相关类
快捷助手相关代码
支持多服务商集成的AI对话客户端
对 Cherry Studio的代码和开发环境进行简单描述
Cherry Studio是一个基于electron开发的AI对话客户端,在拥有基本的AI对话功能的前提下,Cherry Studio融合了多种可以增强AI对话的交互功能,包括但不限于本地知识库,MCP,联网搜索,多种软件/格式导出 等等。截止到3月28日,Cherry Studio的总代码行数已经超过了5w行。所以,对于想要对其进行二次开发或者进行软件维护的开发者来说,开发文档的搭建迫在眉睫。
基于该开发文档,GitHub Issues & Pull Request,以及与其他开发者的沟通,每一位开发者都能够以更快的速度上手,为Cherry Studio贡献自己的一份力量。
对于新手来说,怎么开始第一次PR?怎么帮助开发者社区进行文档修改?这些工作和“写代码”没有直接关系,但是却是作为开源程序员不得不学习的流程。
该part用于对于当前代码的分析,包括每个代码的函数使用、结构分析、数据流向等
在 GitHub 中,拉取请求(Pull Request,简称 PR)是一种协作机制,允许您通知他人您对仓库所做的更改,并请求将这些更改合并到主项目中。这对于协作开发、代码审查以及确保项目质量至关重要。有关拉取请求的更多详细介绍,请阅读
当然,如果你只是想快速进行一次拉取请求的操作,且曾经还没有过给项目提交修改的经验,那么在提交代码前相信一定能帮到你,请务必仔细阅读(不仔细也没事就是小心被人骂罢了)。
适配AI服务提供商接口
项目国际化(internationalization)
📝代码语言:TypeScript |📘阅读时间:10分钟
此模块包含多个自定义 Hook,用于在 Cherry Studio 应用中管理助手、主题以及相关设置。通过这些 Hook,可以方便地读取和更新 Redux 状态,从而实现助手的创建、修改和删除,同时还支持主题的管理和模型的设置。
function
useAssistantsuseAssistants 钩子提供对所有助手列表的访问,同时支持更新、添加和删除助手操作。删除助手时,还会清理与该助手关联的所有主题。
本函数使用 useAppSelector 从 Redux 中获取当前助手数组。
本函数通过 useAppDispatch 触发对应的 Redux 动作(action),实现对助手的更新。
当删除助手时,会遍历该助手的所有主题,并调用 TopicManager.removeTopic 对其进行清理。