DevLog:2025年9月17日

1、昨天已经基本实现了模型添加、AI对话的基础功能,今天继续完善,首先是添加多个模型并在对话时切换模型,首先在添加两个模型之后,发现设置-可用模型的模型列表里,两个模型之间有两条分割线,而且创建新模型时,无法保存我填写的新API密钥和基础URL,而是沿用了我添加的第一个模型的API密钥和基础URL

2、首先更新了AIModel结构体,添加了apiKey和baseURL字段,移除了isDefault字段,修复了ModelEditView的保存逻辑,更新了模型测试逻辑和对话配置逻辑,使用模型自己的API配置进行对话,而不是使用全局的API配置(早就应该这样了),然后移除了modelRow函数中的Divider():,去掉了多余的分割线,再次测试,两个问题成功解决

3、但AI对话窗口里又出现了回答在上、问题在下的情况,另外切换模型的弹窗显示也有问题,先修复切换模型的弹窗的显示效果,同时修复一下AI对话列表的选中状态,目前根本看不出来选中了哪个对话,修改后仍然不能在对话列表中标示出当前选中的对话,还需要再修改

4、先用硅基流动的DeepSeek R1 API测试了一个需要联网获取最新信息的问题,发现目前思考过程没有展示、AI回答内容没有经Markdown渲染、看不到Tavily提供的资料链接,决定让Cursor同时修复这些问题,并明确要求使用MarkdownUI来进行Markdown渲染,其实之前已经有了一部分支持这些功能的代码,但功能不完整,Cursor列出了Todo,一步步修改,稍后一并给Cursor反馈问题

5、Cursor一次修改了思考过程展示/折叠和展开、Markdown渲染、Tavily资料链接显示等功能,其中在Markdown渲染上,先创建了一个新的文件MarkdownView,但没有添加到项目里,提示构建失败,于是又重新启用现有的MarkdownRenderer,并且引入了MarkdownUI,同时还保留了自定义AttributedString实现作为备选方案,原因貌似是MarkdownUI只支持14.0以上的macOS,我觉得没有必要保留备选方案,之前修改NoteWith时已经验证了MarkdownUI的渲染效果,于是要求Cursor去掉了自定义实现相关代码,使用MarkdownUI作为唯一的渲染方案,MarkdownRenderer代码更加简洁了

6、接下来测试一下思考过程、Markdown渲染、Tavily链接的显示效果,先把AI对话内容的显示顺序搞定,然后处理了一下点击AI对话右上角无法切换模型的问题(原因是ChatView的模型选择回调中代码被注释掉了,没有实际实现模型切换功能,而且每个对话都显示第一个可用模型,而不是用户选择的模型,模型切换没有保存到对话中,我需要为每个对话独立保存选择的模型),Cursor自称目前已经实现如下目标:新对话默认使用第一个可用模型、点击右上角的模型名称选择其它模型、选择的模型立即保存到该对话中、每个对话都有自己独立的模型选择、重启应用后每个对话仍然使用之前选择的模型

7、模型可以正常切换了,但试了几个问题,发现无法触发应用通过Tavily获取最新信息,Cursor分析发现虽然Tavily密钥已经存储在模型中,但实际的消息发送逻辑中没有使用Tavily服务,需要实现Tavily集成,创建了一个新的Tavily服务类TavilyService,并修改了OpenAIService,表示当提问时应用会自动通过Tavily获取最新信息

8、测试发现即使是不支持深度思考的模型,回答内容里也会出现思考过程区域,而且回答内容没有经过Markdown渲染,也看不到Tavily的资料链接,在用MarkdownUI来实现Markdown渲染效果的过程中,Cursor多次创建和删除Package文件(因为一直没有真正引入MarkdownUI),多次用命令行修改MarkdownRenderer,多次尝试不使用MarkdownUI,而是换用SwiftUI的原生功能来实现基本的Markdown渲染,不知道为啥今天反复出现这种“退步”的操作,我多次打断,反复强调要用MarkdownUI来渲染

9、已经有部分文字可以呈现渲染后的效果,但表格还是无法正常显示,参考NoteWith,可能要对表格和代码块的显示进行单独的优化,猜测上面重复同样的操作可能是因为这个对话的上下文太长了导致的,后面在Cursor里开一个新对话再修改这些内容

10、又遇到了刚刚进行的问答没有被保存到对话里的问题,在修改ChatWith,将用户消息和AI消息更新后都调用onUpdate将其保存到Core Data后,问题解决

11、在修改MarkdownRenderer以支持对表格和代码块的渲染优化时,Cursor反复检查MarkdownUI的版本、添加MarkdownUI默认的表格和代码块渲染样式、添加自定义的表格和代码块渲染样式,然后删除这些内容,多次操作后相当于没有做任何的修改

12、决定试试让Cursor创建单独的文件来处理表格和代码块的渲染,并且使用MarkdownUI,Cursor创建了TableRenderer和CodeBlockRenderer,并将新文件添加到项目,但多次尝试后,即使已经将这两个新文件集成到AssistantMessageView之后,仍然未能实现对表格的正常渲染

13、由于目前的ChatWith是由iOS应用修改而来,且在修改过程中对代码和架构进行了大量的调整,怀疑目前有部分文件功能是重复的,让Cursor列举结构和分工后发现ChatWrapper是多余的、ChatView过于庞大、且组件职责不清晰,比如ChatMessageListSection和ChatMessageListView功能重复、ChatInputSection和ChatInputView功能重复,Cursor建议简化架构、删除冗余文件、重新组织文件结构,决定让Cursor实施这些优化

14、修改完成后架构更清晰(每个文件职责单一,易于维护,减少了不必要的中间层),代码更简洁(ChatView从436行减少到约280行,移除了重复的组件子定义),维护性更好(组件独立,便于单独测试和修改,文件结构更符合SwiftUI最佳实践),当然每次Cursor在修改完后都会这么说,还是要实际测试一下修改成果

15、继续测试具体的功能,首先发现在与支持深度思考的DeepSeek R1模型对话时,思考内容和回答内容混在了一起,未能像之前规划的那样分成两块,并且思考内容要可以折叠,可以展开,Cursor在分析后修改了OpenAIService中的seperateThinkAndAnswer函数,以正确解析思考内容,但仍然没有解决问题

16、我现在觉得可能将iOS版的ChatWith修改成Mac版,再逐个测试、恢复功能,可能是做了大量的重复工作,既然之前NoteWith for Mac已经基本可用了,那其实可以对它进行简化,实现我对ChatWith for Mac的一系列需求,于是复制了一份NoteWith for Mac的源文件,并要求Cursor将应用的名字改成ChatWith,这一过程包括将应用名称由NoteWith改为ChatWith、更新XCode项目文件中的名称引用、更新Swift文件中的名称引用、更新Info.plist文件、重命名相关文件夹和文件等

17、Cursor很快完成了修改,并且按照我的反馈替换掉了一些漏网之鱼,接下来就是去掉待办事项模块、测试功能了,后面可能还要把备忘录替换为收藏,去掉待办事项模块及相关功能包括了分析待办事项模块的组件和依赖、移除待办事项相关的数据模型、移除待办事项相关的视图、移除待办事项相关的视图模型、从DataManager中移除待办事项相关代码、从导航中移除待办事项相关项目、从项目文件中移除待办事项相关文件等步骤,并且根据我的反馈删掉了两处遗留的待办事项相关功能

18、构建成功后,整理了文件结构,特别是Views文件夹下既有AIChat和Notes两个文件夹来存放AI对话和备忘录相关的视图文件,又有大量视图文件散落在Views文件夹下,ViewModels文件夹也有类似问题,移动文件并更新project.pbxproj中的路径后,问题解决,结构清晰了一些

DevLog:2025年8月12日

1、今天先继续优化NoteWith的AI对话使用体验,发现两个小问题:1.提交问题之后,“AI正在思考中”显示的位置有点靠下,需要手动滑动一下屏幕才能看到,在回答结束后,“回答完成”和时间的显示位置也有点靠下,也需要手动滑动屏幕才能看到 2.为什么即使我用的是deepseek r1这种支持深度思考的模型,在对话时也看不到思考过程?
2、Cursor在修改时专门添加了对DeepSeek模型的deepseek_thinking字段支持,现在可以正确显示思考过程了,并且也优化了滚动体验,解决了上述两个问题,看样子在给Cursor下需求时还是要尽量详细,之前多次反馈看不到思考内容,但没有点名deepseek r1
3、但是深度思考内容的样式需要调整一下,现在使用了和回答内容一样的字体和颜色,需要在文字上做一些区分,要求Cursor将思考内容的字号缩小一点,并且使用稍浅色的字体,和回答内容有所区分
4、但第一次修改后未能生效,回想起我之前给MarkdownRenderer限定了所有文本的字体样式,可能是受此影响,于是让Cursor修改了AIChatView,让思考内容部分直接使用纯文本,不使用MarkdownRenderer,这下思考和回答内容有了明显的区别,有点理解为什么会有人说改过去的代码和改别人的代码有多痛苦了
5、发现在备忘录列表页,点击星号时列表中条目的时间会变,我的需求是:这个时间只有我在添加收藏和编辑收藏内容时才变,不能因为加星和取消星号就变,Cursor修复了DataManager和NotesDataService中的toggleFavorite方法,实现了这一需求
6、再次细化需求:在保证点星号时间戳不发生变化,只有真正编辑备忘录内容时时间戳才会更新 的基础上,我还需要点亮星号后让这条收藏置顶显示,未点亮星号的收藏按照更新时间排序,Cursor优化了NotesViewModel的排序逻辑,搞定
7、继续优化细节,发现在AI对话列表里,可以通过滑动触发删除操作,在这里增加一个“编辑”按钮,点击可以编辑这条对话的标题,并把“Delete”改成“删除”;然后也把备忘录列表滑动菜单里的“Delete”也改成“删除”,需求很快达成
8、发现在Cursor中开启一个新对话后,原本提醒Cursor的一些注意事项会失效,比如我之前已经提示了不止一次,代码修改完之后只需要构建一下就行,不需要帮我启动应用,但每次开启新对话,修改代码后就会构建并且想要启动应用,还得手动skip一下
9、决定把AI对话列表这种滑动的交互方式应用到AI模型管理界面,在条目上滑动时出现编辑、删除按钮,点编辑可以进入AI模型编辑界面,点删除可以删除当前这个模型,Cursor修改了AIModelManagementView,将原来的菜单按钮改为滑动操作
10、接下来多试试不同的AI应用,看看有没有其它比较高频同时又不太复杂(不知道实现起来会不会复杂)的功能可以增加到NoteWith里,以及找一个更好用的富文本编辑器,之前使用了UITextView,但体验一直不是很好,问了下火山引擎提供的DoubaoPro,有哪些比较容易集成的富文本编辑器,它也推荐UITextView,再结合NSAttributedString处理富文本属性,优点在于稳定性好,性能开销小,上手容易,缺点在于功能相对有限,且样式设置较为繁琐,看看先增加一个tab来测试富文本编辑器,没问题了就删掉现有的Markdown编辑器

DevLog:2025年8月8日

1、NoteWith默认模型的切换还是存在问题,正确的逻辑应该是:我将模型B设置为默认模型时,模型A自动取消默认模型状态,反之亦然,但现在我将模型B设置为默认模型时,模型A仍然还是默认模型;并且我将模型B设置为默认模型时,新建AI对话后自动使用模型B,多次修改后无果,决定先简化一下模型的选择和切换逻辑
2、简化内容包括:去掉“默认模型”和“当前模型”相关设置,在模型设置中不需要这两个功能,也不需要设置这两种状态,在创建新对话时,直接用AI模型列表里的第一个就行
3、测试发现Cursor直接把AI对话界面右上角的模型切换功能也给去掉了,还得加回来,在加回这个功能的过程中,我询问Cursor“你看下是否需要单独的视图文件来管理这个功能”,Cursor的确创建了一个单独的ModelSelectorView文件,但在将这个文件添加到项目文件的过程中,Cursor又突然说项目文件被损坏了,并且决定不创建单独文件,改为在AIChatView中直接内联定义ModelSelectorView,并且又恢复了昨天备份的一版项目文件,再次更新引用,感觉有点绕圈了,为什么之前可以直接修改项目文件,现在不行了呢?而且它这样恢复备份之后,我还得关掉Xcode,重新打开项目所在文件夹,好在测试后实现了我的需求
4、模型管理相关功能已经基本OK了,接下来就是思考内容的流式输出,在ChatWith上花了很多时间想完善这个功能,但一直没能达成,先跟Cursor明确下需求,针对支持深度思考的大模型,目前的应用是否会对思考内容进行流式输出?我需要看到支持深度思考的模型的思考过程,先流式输出思考内容,再流式输出回答内容,且思考内容和回答内容在样式上要有所区别,思考内容要支持折叠和展开
5、Cursor表示目前已经有部分功能支持了 ,但需要完善流式输出逻辑,更好地处理思考内容和回答内容的分离,并且优化UI交互(思考内容的折叠和展开),修改完成后测试,发现即使用的是DeepSeek-R1(深度求索官方的API)也不会出现思考过程,另外还有两个影响使用的问题1.在同一个对话里多次对话后,AI的输出就会变得特别卡,我再提出新问题时也会变卡 2.目前的markdown渲染也不是很完善,比如回答内容里有python代码时就无法正常渲染,可以看下截图,是不是还要再完善下MarkdownRenderer
6、Cursor认为可能是历史消息过多导致内存占用过大、每次发送消息时都加载全部历史记录、流式输出时的状态更新过于频繁,优化了AIViewModel、AIService中的历史消息处理,之后完善MarkdownRenderer,以支持代码块、语法高亮和图表,修改完成后连续回答多个问题之后应用还是会卡顿,对代码块的渲染效果也不是很好,另外还发现,在切换一个对话的模型之后,其它对话的模型也都会随之切换,我需要在每个对话中保存对模型的选择,比如在对话1中选择模型A,对话2中可以选择模型B,对话3中选择模型C,应该互不影响
7、Cursor认为卡顿是因为每次流式更新时都在主线程更新UI,并且频繁的状态更新导致界面卡顿,继续优化了AIViewModel中的流式更新逻辑,关于模型的选择,需要在每个对话中独立保存模型选择,修改之后前者略有改善,后者已经搞定
8、继续优化一下模型选择器的触控区域:点击AI对话界面右上角选择模型时,选择模型时,需要加大触控选取的范围,我需要点击整行时都可以选择对应的模型,现在只有点击文字区域时才会选择对应的模型,Cursor修改成了整个模型行都是可点击区域,并且认为这更符合iOS用户习惯
9、昨晚GPT-5刚发布,今天早上打开Cursor就提示已支持,并且可以免费使用,但我没有试用
10、突发奇想,问Cursor能否通过Tavily实现联网搜索,竟然可以,快速创建了一个Tavily搜索服务TavilySearchService,并且在AIConfig中添加Tavily API密钥配置,修改AIService集成Tavily搜索功能,Cursor表示需要在对话过程中输入搜索、查找、最新、新闻、今天、现在、实时、当前、最新消息、最近、近期等关键词才能触发联网搜索,并且会将搜索结果作为上下文提供给AI,但目前会自动获取前3个最相关结果
11、以后再测试集成Tavily搜索的效果如何,再看看要不要增加搜索结果数量,要不要调整填写Tavily API的位置等等
12、发现这两天Cursor明显变慢了,经常在修改过程中等待很长时间

Mac端vivo办公套件使用体验

前段时间入手了vivo X100 Ultra,趁正在熟悉新手机,我也使用了一段时间的vivo办公套件,给大家分享一下这款App的使用体验。说明一下,电脑是2024款MacBook Air,M3芯片,以下体验内容可能并不是很深入,仅供参考。

vivo办公套件整合了原子笔记(含笔记、待办、文档)、日历、相册、远控PC四大模块,并且实现了一些类似Mac和iPhone之间的互联功能,接下来一个一个说吧。

一、原子笔记

通过vivo办公套件,可以在电脑上同步查看并添加、修改原子笔记、待办、文档。

1、原子笔记

原子笔记功能中规中矩,除了一般的笔记应用都具备的分文件夹管理、格式设置、插入图片/表格之外,还支持插入录音、音频,以及查看笔记字数(苹果的备忘录一直都不支持)。在最近的新版本中,原子笔记还支持了图片转文字、录音转文本(记录会议发言、AI总结重点)等功能。

单独提一下原子笔记的AI写作功能“小V写作”,该功能可以对已有文字进行续写、润色、改写等等,也可以直接输入指令,或者创作指定类型的内容,比如朋友圈文案、小红书文案等。在笔记页面双击command键就可以调出小V写作,也可以在选中文字后的右键菜单里使用小V写作进行修改。目前小V写作还是免费的,手机端叫“AI创作”。

其实已经有很多工具有类似功能,比如WPS、腾讯文档、印象笔记,还有做的比较早的Notion。不过我个人不太习惯直接用AI输出内容,即使要用AI,也是用豆包、ChatGPT之类给文章初稿润色。

在用原子笔记写了几篇笔记后,我发现了它的几个问题,希望后续可以改进:
1)遇到了“冲突笔记”问题,提示多端冲突,但并未告知该如何处理,也不提示我到底是哪儿冲突了。在手机和电脑端都登录一次之后这个提示就自动消失了,并且自动创建了一个新的笔记,内容基本一致,但却出现了修改未能同步的情况。对于一款能够多端同步的笔记应用来说,这是一个很要命的问题;
2)在笔记间切换时,会自动跳回到笔记的最开头,不会记忆上次查看时的位置;
3)需要在设置-笔记中才能找到已经删除的文档,个人觉得不如直接放在主界面的笔记文件夹下用着方便;
4)在不同的设备上记录的文字内容,字体大小偶尔会不一样,我手机端和电脑端设置中的默认字号都是14号,但有部分文字内容不知道为啥变成了16号;
5)不支持导入笔记,通过其他App记录的笔记内容不能导入到vivo办公套件里,如果只有几条还好说,但数量多了想要迁移过来就非常麻烦。

2、待办

接下来说待办。可以添加事项,设置提醒时间、重复频率、提醒方式等。我在用iPhone时一直在待办事项App中记录重要事项,并且设置了定时提醒,有些是每个月提醒一次(比如还信用卡),有些三个月提醒一次(比如交房租),有些则是一年提醒一次(比如居住证签注),但原子笔记这个待办好像不能三个月提醒一次,还是有持续优化的空间。在待办中添加的事项也会同步到OriginOS的日历中,并且可以在vivo办公套件的日历中查看。

3、文档

再简单说下文档。在电脑端、手机端都可以新建文档,电脑端可以导入本地文档,手机端可以导入其它应用中的文档,比如在微信中接收到比较重要的文档,可以选择用vivo文档打开,就会直接保存到vivo的文档里,方便集中管理。并且可以对文档进行一些编辑操作,比如转图片、转格式、修改文档内容等等。这里支持的文件类型包括PDF、DOC、XLS、PPT和TXT,日常办公基本够用了。

这里需要注意的是,电脑端上传和新建的文档会直接同步到手机端,但手机端上传和新建的文档默认不会同步到电脑端,需要在设置中将自动同步的文档范围改为“全部文档”。并且这些文档会占用云存储空间,如果确实有需求可以购买。

二、日历

如上文所说,待办事项会自动添加到日历中,并且实现手机和电脑端的同步。另外还可以在电脑上添加日程、设置类型、添加备注等,并且会自动同步到手机端的日历上,便于我们记录重要的工作生活相关事项。

三、相册

vivo办公套件支持查看和管理手机端相册,可以直接从电脑往手机上导入照片和视频,可以删除照片、查看已删除的照片,但不像Mac端的“照片”App那样有丰富的编辑功能。

个人建议查看相册时的照片显示比例可以再丰富一些,只有三个档位,照片要么太大要么太小,建议再增加一两个档位。另外,电脑端相册跟手机端的同步好像有点问题,比如我手机端显示有9300+照片,电脑端显示只有8200多张,手机端相册的设置中已经开启了自动同步照片功能,且两端均显示同步成功,两个数字相差的1000张去哪儿了?我只有“相机”一个相册,已经允许同步,问题到底出在哪儿?

对了,如果你想在电脑端查看手机拍摄的所有视频的话,记得在设置中打开“同步200MB以上的视频”开关,默认是关闭的,可能是为了节省云存储空间?

四、远控PC

按照该功能模块界面的描述,它可以用vivo手机或平板远程控制电脑,输入设备代码和临时密码就可以了。当然需要先在电脑端开启屏幕录制、辅助功能、麦克风、完全磁盘访问的权限,并在手机和平板端安装“vivo远控PC”App。

但是,远控PC功能只支持vivo X Fold折叠屏手机和vivo平板,vivo X100、X200系列直板手机是不支持的,故未测试。

五、连接手机

另外,Mac端的vivo办公套件可以连接手机,在登录相同的vivo账号,连接到同一个无线网络且解锁亮屏时,手机和电脑即可自动连接。可以实现通知接力、浏览器链接接力、图片接力、原子笔记接力、管理和备份手机端文件、手机投屏至电脑等操作,和iPhone与Mac的互联功能类似,但也有一些创新。

其中通知接力功能,可以将手机端的通知同步到电脑上,这样在工作时可以根据通知内容决定要不要拿起手机,也能提高一些工作的专注度。

建立连接后,在笔记中添加图片和视频时,也可以直接用手机拍照、扫描,直接添加手机中的照片和视频,还是非常方便的。

手机投屏至电脑类似华为的多屏协同,可以把手机端的文件拖拽到电脑、用电脑编辑手机端“文件管理”内的文件等等,开启投屏之后即使手机端熄屏也能在电脑上继续操作。

六、蓝心小V接入DeepSeek-R1

点击vivo办公套件界面右上角的蓝色图标可以启动蓝心小V直接对话。在最近的更新中,电脑端蓝心小V也接入了DeepSeek-R1,支持深度思考、联网搜索、查看引用链接,对话内容可以直接复制、插入到当前笔记、保存为新笔记,有需要的朋友们可以试试。

最后我还想说,希望vivo能把云服务功能整合进来,让保存和查看文件都更方便一些。

对上面这些内容,大家如果有疑问的可以评论或留言,毕竟我用这款手机的时间还不够长。也真心希望vivo办公套件能够修正其中的问题,越来越好用。

最初发布于2025年4月10日

稳定使用Claude 3.7 Sonnet的方法(不免费)

Claude官方网站是出了名的难注册+易封号,我之前好不容易注册的账号第二天就被封了,即使写了申诉邮件也没有任何回应,导致我从Claude 3发布到现在一直没能用上。

但办法总比困难多,最近我综合网上的一些教程,找到了可以稳定使用Claude 3.7 Sonnet等大模型API的方法。

首先去OpenRouter网站注册账号,申请API并充值,可以用国内的信用卡充值(但是需要架梯子才能打开OpenRouter网站)。注册、登录、充值、申请API Key之后,再去AI对话客户端中添加大模型。

关于AI对话客户端,个人比较推荐在电脑端用Cherry Studio,在手机端用Chatbox,但Chatbox其实不是很好用,特别是最近还偶尔会出现不明详情的网络错误,即使更新了几个版本这种问题仍然存在。期待Cherry Studio能尽快推出手机版。

接下来说说设置方法:

Cherry Studio
设置-模型服务-OpenRouter
启动OpenRouter服务
填上API Key
API地址(默认的,不用改):https://openrouter.ai/api/v1/
模型:拉到最底下,管理,找到“Anthropic: Claude 3.7 Sonnet”并添加

Chatbox
API模式:OpenAI API兼容
名称:随便填
API域名:https://openrouter.ai/api/v1
API路径:默认的,不用改
填上API Key
模型:anthropic/claude-3.7-sonnet

建议大家在使用时打开Cherry Studio或Chatbox的联网搜索功能,Claude 3.7 Sonnet的训练数据截止到2023年年底,不知道啥时候能更新一下,如果不打开联网搜索功能,给到的结果会比较陈旧。

价格方面,OpenRouter网站上有标示,Claude 3.7 Sonnet的API价格为:
$3/M input tokens、$15/M output tokens
的确比国内常见AI的API要贵很多。

关于Claude 3.7 Sonnet、Claude 3.7 Sonnet (thinking)、Claude 3.7 Sonnet (self-moderated)三个模型的区别,我也问了下Claude 3.7 Sonnet,答曰:需要直接答案选标准版,需要了解思维过程选thinking版,需要更保守、更安全的回答选self-moderated版。

OpenRouter提供了大量的国外大模型API,比如Gemma/Gemini、Grok、Llama、Phi、GPT、Cohere、Mistral、Perplexity等等,也有来自国内的Qwen和DeepSeek,实测Gemma、Gemini、Perplexity的API都可以直接使用,但Grok、GPT无法直接使用,如果不架梯子,会报错This service is not available in your region或unsupported_country_region_territory,其它的我还没试过,有兴趣的朋友们可以试试。

最初发布于2025年3月26日

打工人接入DeepSeek-R1 API不完全指南

这段时间DeepSeek爆火,工作中使用DeepSeek-R1的频率也越来越高,但DeepSeek官方的服务经常会出现服务器繁忙问题,基本无法正常使用,相信大家也经常遇到。解决办法有两个,一是使用已经接入了DeepSeek-R1的其它AI App,比如腾讯元宝、百度App、纳米AI搜索、Monica、Poe等等,二是使用云服务厂商或者硅基流动这种MaaS提供商都提供的DeepSeek-R1的API。这篇笔记结合这段时间的使用经历,给大家盘点一下哪家的客户端和API更好用。

说明一下,申请API,和在客户端中接入API都需要一点点动手能力,如果懒得搞,可以用去用上文提到的那些App。但对于工作场景来说,我还是更推荐去申请、接入API,更利于专注工作,不被各家厂商各种形式的广告或引流手段干扰。而且这不仅仅是DeepSeek官方服务不稳定时的一个过渡手段,更能给后续使用其它API积累一些经验。

1、怎样申请API

去DeepSeek开放平台、硅基流动或火山引擎官网注册账号、实名认证、选择模型、获取并复制API Key,不同平台在操作上略有区别。

2、用哪个客户端接入API

这里我主要推荐两款App,Chatbox和Cherry Studio,需要注意的是这段时间两款App更新非常频繁,如下内容仅说明了我在写这篇笔记时使用的版本功能。

Chatbox(Mac端版本号1.10.4,安卓端版本号1.9.8)

优势:

电脑端和手机端都有App;

接入API非常简单,预置了一些常用的AI服务,只需填写API Key就能使用;

预置了一些“搭档”可以添加使用,可以分别调用不同的模型;

支持联网搜索,会给出所有的参考链接,并且免费,点亮工具栏的地球就可以了。

不足:

不同模型的切换略显复杂;

思考过程的展现和对话内容的输出会卡顿,一段一段的蹦出来,不够流畅;

界面设计较为粗糙,或者说复古;

对话记录和模型设置无法做到多端同步(没有账号系统,希望后续能够上线)。

Cherry Studio(Mac端版本号1.0.4,安卓端无)

优势:

接入API非常简单,预置了比Chatbox更多的常用的AI服务,特别是大量国内的大模型,只需填写API Key就能使用;

支持自行设置助手,分别调用不同的模型;

预置了一些“智能体”可以添加使用,可以分别调用不同的模型;

不同模型的切换非常简单;

思考过程的展现和对话内容的输出都非常流畅;

以小程序(或者说网页)的形式提供了40余个大模型,点击并登录就能使用;

界面美观,设计比较现代;

支持翻译、生成图片等等办公中常用的功能;

最新版本可通过申请tavily的API实现全部模型联网搜索,会给出所有的参考链接,每月可以免费使用1000次,解决了下文会说到的部分API无法联网获取最新信息的问题,默认会提供5个搜索结果,可调整至最多20个,并且可以设置搜索结果黑名单,屏蔽来自部分网站的搜索结果。

不足:

暂无手机端App,仅有电脑端App;

对话记录和模型设置无法做到多端同步(没有账号系统,希望后续能够上线);

支持知识库功能的模型非常有限,我接入了DeepSeek官方、硅基流动、火山方舟三家的多个模型,其中仅有硅基流动提供的BAAI/bge-m3向量模型支持知识库。

3、哪家的API好用?

DeepSeek官方提供的API:

服务不稳定,经常遇到因繁忙不响应的情况,且API本身不支持联网搜索最新信息,时不时的就用英文回答我,像极了GPT-4刚上线那段时间。

硅基流动提供的API:

服务稳定性居中,偶尔会不响应,或者响应速度比较慢,且API本身不支持联网搜索最新信息,也会时不时的就用英文回答我。

不知道大家有没有遇到这个问题,硅基流动的API貌似需要先充值(充几块钱就行)才能使用,如果不充值会提示连接失败,充值之后立刻就能正常使用。

火山引擎提供的API:

服务稳定,响应速度快,在我使用的这段时间基本没有遇到不响应的情况,且API本身就已支持联网搜索最新信息(唯一的不足是看不到具体参考了哪些链接)。

综上,目前看来最稳定、功能最完整的API,是火山方舟提供的deepseek-r1 。

3、哪家的API更便宜?

DeepSeek官方API价格(deepseek-reasoner):

百万tokens输入(缓存命中)1元,百万tokens输入(缓存未命中)4元,百万tokens输出16元。

硅基流动API价格(Pro/deepseek-ai/DeepSeek-R1):

百万tokens输入4元,百万tokens输出16元,目前赠送14元。

火山引擎API价格(deepseek-r1):

百万tokens输入4元,百万tokens输出16元,目前赠送50万tokens免费额度。

综上,个人比较推荐的两个组合是:

电脑端:Cherry Studio+火山引擎/硅基流动的DeepSeek API

手机端:腾讯元宝/Chatbox+火山引擎的DeepSeek API

大家还有哪些用起来很顺手的组合?欢迎讨论。

最初发布于2025年3月5日