[I.2] 个人作业:软件案例分析

[I.2] 个人作业:软件案例分析

项目 内容
这个作业属于哪个课程 2025 年春季软件工程(罗杰、任健)
这个作业的要求在哪里 [I.2] 个人作业:软件案例分析
我在这个课程的目标是 学习并掌握软件工程的基本原理和实践方法,提高软件开发和管理的能力。
这个作业在哪个具体方面帮助我实现目标 通过对开源软件 Cherry Studio 的案例分析,深入理解软件的功能设计、用户体验、质量评估和改进建议等方面,培养分析和解决实际问题的能力。

我要选择进行分析的的软件类别:"✈Open source is FREE!" 开源软件
具体而言,是大语言模型桌面客户端:cherry-studio 及其竞品

第一部分 调研,评测

Cherry Studio is a desktop client that supports for multiple LLM providers, available on Windows, Mac and Linux.

软件评测

0. 软件使用:

使用软件的照片

添加自定义助手

使用软件提供的"设计元提示词"助手进行提问

默认提供的大量助手

知识库

本地和云端模型接口管理

模型设置和 ui 自定义

基本使用流程

  1. 获取软件:通过 GitHub Release 下载对应平台的安装包,安装后即可使用。
  2. 配置模型 API 密钥。
  3. 选择助手,新建一个话题,输入问题,查看模型输出。
  4. 管理模型、助手、知识库等。

1. 核心功能

  • 跨端使用:基于 Electron,支持 Windows、Linux 和 MacOS。
  • 添加 llm 提供商 api, 与 llm 聊天
  • 多模型自由切换:支持 OpenAI、DeepSeek、Gemini 等 30+ 主流云端模型,同时支持 OpenAI 兼容格式的接口,包括 Ollama 本地部署接口,实现云端与本地模型的灵活调用。
  • 模型设置管理:支持用户自定义模型参数和配置,以满足不同需求。

打分:10 分

2. 细节

  • 支持用户配置的导入导出,以及向 webdav 等云端存储同步。
  • 提供详尽的帮助文档,虽然由于项目的快速迭代,文档有些地方没有及时更新,但总体上还是很有帮助。

打分:8 分

3. 用户体验

  • 无干扰性:没有广告,用户体验流畅。
  • 软件 UI 大量使用图标,看起来很简洁,但是初次上手难免不理解 icon 的含义,以至于要挨个点开来看;而且 icon 多为扁平单色的,区分度不高,不能一眼。

打分:8 分

4. 辅助功能

  • 支持夜间模式,用户可以根据需求切换。
  • 支持自定义 CSS,满足用户个性化需求。

打分:10 分

5. 差异化功能

  • 内置 300+ 预配置助手:覆盖写作、编程、设计等场景,用户可自定义助手角色与功能,还能在同一对话中对比多个模型输出结果。
  • 多模态知识库管理:支持用户管理知识库,用于问答时调用。
    可以上传文本、PDF、图像等多种格式的本地文件,也可以通过网址/网站地图导入网络上的内容。
  • 随处可用的快捷助手:支持绑定快捷键快捷呼出小弹窗,读取剪贴板、快速提问、解释、翻译、总结。
  • "小程序":直接在软件内访问 LLM 提供商官网,提供一站式平台。
  • 提供独特的多模态知识库管理功能,支持多种格式文件的上传和管理。
  • "助手"内置 300+ 预配置助手,覆盖多种场景,极大提升用户效率。

打分:10 分

6. 软件效能

  • 毕竟是 cef 应用,内存占用不小 (400+MB),但是在使用过程中并没有出现明显的卡顿现象。

  • 另外是存储占用,此处应该有梗图喜报!这台电脑上总共有 63 个 Chromium 内核的应用

打分:7 分

7. 适应性

  • 软件在联网和断网情况下均可使用部分功能。
  • 支持大小屏幕适配,操作流畅。
  • 在无鼠标的情况下,快捷键支持良好。
  • 快捷键方面有一个 bug,后面会提到

打分:8 分

8. 成长性

由于可以自定义助手,随着使用时间的增加,添加的个性化助手越来越多,用户体验逐步优化。

打分:9 分

9. 用户控制权

  • 提供了丰富的设置选项,用户可以根据自己的需求进行调整。

打分:8 分

10. 稳定性

项目处于快速迭代阶段,v1.0.0 刚刚发布不久,此前还没有发布过正式版本,版本迭代过程中,用户数据丢失的情况时有发生。
官方汇总:

打分:6 分

总体评分:8.2 分

改进意见

对产品有什么改进意见?

见后面的质量分析建议

用户调研

用户调研

  • 采访对象的背景:
    其他软工班级的学生小王,平时使用大语言模型的频率也不低,并且有一定个性化需求

  • 你使用 cherry-studio 的需求:

    • 能够上传文件依据文件与 llm 交流 (知识库)
    • 能自定义 prompt
    • 多种模型的 api 支持(分开厂商薅羊毛)
  • 总体使用体验:

    • 体验流畅,但是有一些小问题
  • 使用软件的过程中遇到的问题

    • 知识库功能满足了上传文文件需求,但是上传的文件会被复制一份,在对话中引用文件时,链接能打开的是复制后的文件。文件有改动时又要重新上传。
  • 使用软件的过程中遇到的亮点

    • 助手功能很多,可以自定义,很方便
  • 你觉得从用户体验的角度来说需要改进的地方有哪些?

    • 知识库的文件管理,可以直接创建软链接,而不是复制一份

评测结论

给这个软件下一个评价:

  • a) 非常不推荐
  • b) 不推荐
  • c) 一般
  • e) 非常推荐

Bug 分析和提交

Bug 1. [错误]: 快捷助手禁用时,Ctrl+E 被全局注册为空操作

提交前检查
平台

Windows 10

版本

v1.0.6

错误描述

在设置中关闭快捷助手,但是快捷方式中注册的快捷键保持默认状态,ctrl+E 就被全局注册而不进行任何操作了,而这个键是 gui/cli 环境都非常常用的键。
我明白键绑定可以更改,但是创建全局空操作映射会让用户一时间无法排查是哪个软件创建了这个映射,只知道这个键"失灵了"。

重现步骤

在默认配置下 100% 复现
关闭快捷助手,隐藏 cherry studio 窗口,按 Ctrl+E

预期行为

关闭快捷助手时,快捷助手键绑定也随之禁用。或者默认禁用快捷助手的键绑定。

总之,我认为创建全局映射是一个需要谨慎的行为,最好默认禁用,由用户来管理。

Bug 分析:
  1. Bug 的成因:禁用快捷助手时,快捷助手键绑定没有随之禁用。依然会捕获全局快捷键,只是不会触发动作
  2. Bug 的严重性
    • 系统功能:不影响软件本身的功能
    • 安全性:由于捕获了全局快捷键,会与其他软件的快捷键冲突,可能导致用户误操作
      • 比较严重
    • 用户体验:用户无法知道是哪个软件创建了这个映射,只知道这个键"失灵了",影响用户体验
      • 严重
  3. 为何软件团队不能在发布前修复
    • 测试没有注意在特殊的配置或环境下测试:没有考虑到禁用快捷助手的同时保持快捷键打开的情况
  4. BUG 改进建议
    1. 评估软件此处的正常行为
    2. 描述可能可以如何实现软件在此处正常运作
  5. Bug 反馈
    我已提交此 issue 到GitHub

Bug 2. 知识库上传大量网址时软件闪退

平台

Windows 10

版本

v1.0.6

错误描述

在知识库中批量上传网址超过 100 个时,软件会在处理过程中闪退。重新打开时,未完成上传的网址会已知显示正在处理中

重现步骤
  1. 在知识库中选择添加网址,粘贴超过 100 个网址。
  2. 点击上传按钮开始上传。
    • 此时软件会在处理过程中闪退
  3. 重新打开软件,未完成上传的网址会已知显示正在处理中,实际上不会继续处理

预期行为

不应闪退,或是提示用户上传数量过多,建议分批上传


第二部分 分析

1. 工作量分析:使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数 6 人左右,计算机大学毕业生,并有专业 UI 支持)。(必答)

代码量统计:

❯ cloc $(git ls-files)
     417 text files.
     406 unique files.
     248 files ignored.

github.com/AlDanial/cloc v 2.04  T=0.32 s (1265.4 files/s, 212794.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
TypeScript                     314           4894           1438          42319
JSON                            15              0              0          14613
JavaScript                      15            126            118            918
YAML                            12             91              6            751
SCSS                             5            116              5            675
HTML                             5             53              3            521
Markdown                        10            217              0            498
CSS                              3             29              1            229
diff                             8              7            217            170
SVG                             16              0              0            119
Swift                            1             21             10             86
XML                              1              0              0             12
INI                              1              1              0              8
-------------------------------------------------------------------------------
SUM:                           406           5555           1798          60919
-------------------------------------------------------------------------------

代码量统计结果显示,项目代码量约 6 万行,其中 TypeScript 代码量约 4 万行。
估计开发团队 6 人,计算机大学毕业生,专业 UI 支持,开发此项目大约需要 3 个月时间。

事实情况是:

自 2024 年 5 月项目启动至今 (2025 年 3 月) 近 10 个月的时间里,开发者 kangfenmao 贡献了绝大多数的 commit,占九成以上。按人数换算,3 个月的时间是合理的

2. 软件质量分析

1. 分析这个软件目前的优劣(和类似软件相比)

目前大语言模型客户端有非常多,但是我想将讨论的范围缩小到真正和和 cherry-studio 同一生态位的软件: - 跨平台的桌面端,排除 webui 类 - 不直接运行本地模型,只是作为与模型交互的前端。排除 LM studio, Jan 等能够管理运行本地模型的软件

以下比较 Cherry-studio,chatbox 和 NextChat 的桌面端

核心优势对比

  1. 多模型支持
    Cherry Studio 的核心优势在于其 多样化的模型兼容性,支持 OpenAI、Gemini、Anthropic 等主流云服务模型,同时通过 Ollama 支持本地模型部署(如 DeepSeek、BGE-M3 等),并能灵活切换嵌入模型(如 nomic-embed-text)以优化知识库效果。相比之下,ChatBox 主要聚焦于基础对话功能,模型支持范围较窄(如只支持一种本地模型 ollama)。NextChat 支支持的模型更少,虽然也支持 openai 兼容格式,但是会覆盖掉原来的 openai 的配置,严重影响多模型的使用
    用户价值:Cherry Studio 的扩展性更高,适合需要结合云端与本地模型、处理复杂任务的开发者或企业用户。

  2. 知识库与文档处理能力
    Cherry Studio 内置私有知识库功能,支持通过投喂文档(如 PDF、Word)构建本地知识体系,并基于不同嵌入模型优化回答准确性。测试显示,其回答内容更贴近投喂资料,尤其在结合 nomic-embed-text 模型时效果显著。而 ChatBox 和 NextChat 缺乏原生知识库管理功能,需依赖外部工具实现类似效果。
    用户价值:Cherry Studio 在知识密集型场景(如企业文档分析、科研检索)中更具竞争力。

  3. 用户体验与工具集成
    Cherry Studio 提供 300+ 预配置 AI 助手、全局搜索、流程图可视化、代码高亮等实用工具,且支持跨平台(Windows/macOS/Linux)和明暗主题切换。NextChat 界面简洁,但功能单一,仅满足基础对话需求,缺乏高级集成。
    用户价值:Cherry Studio 的"一站式"设计适合追求效率的专业用户,而 ChatBox 更适合轻量级对话需求。

劣势分析

  1. 相比没有直接渲染 html 和执行 js 代码的功能
    ChatBox 的这一功能为代码小白提供了利用代码创作的可能,而 cherry-studio并不支持。

  2. 稳定性与社区支持
    部分用户反馈 Cherry Studio 的便携版存在设置数据保存问题,且更新频繁可能导致兼容性风险。

  3. 目前没有插件功能

NextChat 提供 api,并且支持插件:https://github.com/ChatGPTNextWeb/NextChat-Awesome-Plugins,丰富了其功能。
而 Cherry Studio 目前并没有插件功能。

质量排名与总结

在同类桌面端 LLM 工具中,Cherry Studio 可位列第一梯队,其功能丰富性、多模型兼容性及知识库处理能力显著优于 ChatBox。

然而,若用户需求仅为轻量级对话,ChatBox 的简洁性仍具吸引力。总体而言,Cherry Studio 更适合中高级用户,而 ChatBox 则定位于初级用户市场。未来,Cherry Studio 需进一步优化资源消耗与稳定性,以巩固领先地位。

具体建议

  • 稳定性优化:加强便携版设置数据保存机制,减少更新频率,提升兼容性。
  • 插件功能:考虑引入插件功能,以满足用户个性化需求。
  • 知识库本地目录同步:目前知识库虽然支持上传目录,但是不支持检测目录下的文件变化,需要手动刷新。建议增加自动检测功能,以提高用户体验。毕竟涉及文件管理,很难做到比直接在文件管理器中管理更方便。
  • 移动端支持

第三部分 建议和规划

市场现状

市场概况

  • 市场规模与用户规模
    根据 2025 年全球软件分析市场预测,LLM(大语言模型)相关工具的市场规模已达到数千亿美元级别,年复合增长率(CAGR)保持在 15% 以上,核心驱动力包括企业数字化转型、AI 技术普及以及多模态数据处理需求的爆发。
    • 直接用户:以技术开发者、企业 IT 部门、科研团队为主,全球活跃用户规模预计超过 5000 万,主要集中在北美、欧洲及亚太地区。
    • 潜在用户:随着 AI 工具向低代码/无代码化发展,潜在用户群体扩展至中小企业、教育机构及个人开发者,潜在用户规模可达 1.2 亿以上,尤其在金融、医疗、制造等数据密集型行业需求显著。

竞争产品

当前 LLM 桌面客户端领域的竞争产品可分为两类:

  1. 通用型工具:如 ChatBox、EleutherAI 的 TextGen,主打轻量级对话功能,适合基础需求用户。
  2. Webui 类型的工具,如 NextChat,open-webui, LibreChat, LobeChat 等等
  3. 专业化工具:如 Cherry Studio、dify,支持多模型集成、本地部署及复杂任务处理,面向开发者与企业用户。

产品定位

  • Cherry Studio:定位为"多模型协作平台",核心优势在于桌面端和支持云端与本地模型的灵活切换、知识库管理及 300+ 预配置 AI 助手
  • ChatBox:定位"轻量级对话工具",优势是即装即用、低资源消耗,但功能单一,缺乏扩展性。
  • 竞争态势:市场呈现"技术同质化"趋势,差异化竞争集中在多模态能力(如 Cherry Studio 的本地知识库优化)与用户体验(如交互设计、性能稳定性)。

市场与产品生态

核心用户群

  • 人群特征
    • 学历:本科及以上占比较高,以计算机科学、数据科学专业为主。
    • 年龄:25-40 岁,集中于技术从业者与中层管理者。
    • 需求
      • 表面需求:快速生成代码、文档分析、多模型对比测试。
      • 潜在需求:自动化工作流构建、私有数据安全处理、跨平台协作。

用户关系

  • 生态特征:用户群体间存在显著的"技术协作网络":
  • 生态价值:用户间的知识共享与协作可加速工具的功能优化

产品生态

  • 子产品与关联工具
    • Cherry Studio:与 Ollama 本地模型引擎、Nomic-Embed 等嵌入模型深度集成,形成"模型 - 工具 - 数据"闭环。

LLM 桌面客户端市场正处于高速增长期,但同质化竞争加剧。Cherry Studio凭借多模型支持和垂直场景优化占据技术高地,而ChatBox则以轻量化简单操作吸引初级用户。


产品规划

新功能设计

新增功能:Android/iOS 移动端支持

必要性

  • 当前仅支持桌面端,移动场景操作割裂。
    github issue 中按照 comment 数量排序,移动端支持的 issue 排名第一

团队配置

角色 人数 职责
产品经理 1 确定需求优先级,确保功能一致性。
UI 设计师 1 设计移动端界面,确保操作简单美观。
前端工程师 2 开发移动端应用,优化性能。
后端工程师 1 修改后台接口,确保数据安全和流畅。
测试工程师 1 测试不同设备,确保功能正常。
运维工程师 1 设置自动化流程,监控问题并修复。

周计划

阶段 周数 任务与交付物
需求设计 1-4 周 确定功能需求,设计界面,规划技术方案。
核心开发 5-12 周 开发移动端功能,确保数据同步和离线使用。
测试优化 13-15 周 测试应用,修复问题,准备发布。
发布准备 16 周 提交应用商店,发布更新并通知用户。

通过移动端支持,Cherry Studio 将实现全平台覆盖,预计用户增长率提升 40%,企业客户转化率提高 25%。

posted @ 2025-03-16 23:01  heartWilderness770  阅读(107)  评论(0)    收藏  举报