DevLog:2025年12月19日

1、测试当前版本的ChatWith for Mac,目前已经支持在打开应用后自动开启新对话,并且新对话位于置顶对话下方,之前已经要求应用在开启新对话时默认使用模型列表里的第一个模型,并且在对话过程中也可以点击右上角切换模型,但由于多次遇到切换模型后对话界面卡死的情况(也有可能是在加载历史对话时出现卡死?),决定调整模型切换的逻辑试试

2、首先,在AI模型管理界面,增加“默认模型”设置,按钮放在每个模型的“测试”按钮前面,可以将任何一个模型设置为默认模型,并且在创建新对话时直接使用默认模型,若用户需要使用其他模型,就在AI模型管理界面手动切换默认模型,再去开启新对话,这样也能防止某个对话中积累太多内容

3、另外我还发现现在每次在应用的不同界面间切换时都可能触发“创建新对话”的操作,比如首次启动应用时会创建新对话,看看收藏界面,再回到对话界面,也会创建一个新对话,这样就导致会出现多个空白的新对话,我只需要在首次启动应用时创建新对话,并且如果已经有空的新对话,就不要再自动创建新对话了

4、或者去掉自动创建新对话的机制,但在对话界面增加一个提示,比如请点击开启新对话,与默认模型对话,需要看下这种方式是否和目前的空状态提示有冲突

5、综上,本次修改内容包括:

1.在AI模型管理界面,增加“默认模型”设置,按钮放在每个模型的“测试”按钮前面,可以将任何一个模型设置为默认模型,并且在创建新对话时直接使用默认模型

2.去掉每次打开应用自动创建新对话的机制,在对话界面最右侧栏增加一个提示“请点击右上角开启新对话,若需切换模型,请前往设置中修改默认模型”

6、Cursor的修改内容包括:在DataManager中添加默认模型ID的保存和读取方法(使用UserDefaults);在AIModelManagementView中添加“默认模型”按钮(放在“测试”按钮前面);修改AIViewModel的createNewSession方法,使用模型模型而不是第一个模型;修改AIChatView的sendMessage方法,使用默认模型;去掉AIChatSessionListView中的自动创建新对话逻辑;在AIChatView的emptyChatView中添加提示信息,除此之外还增加了一条“更新removeAIConfig方法:删除的模型时默认模型时,清除默认模型设置”

7、测试发现默认模型设置功能已经具备,创建新对话时会直接使用新模型,但对话界面右侧的提示目前有两行,并且内容有重复,于是让Cursor去掉了第一行,只留新添加的一行,并且稍微加大了提示内容的字号

8、本次的修改需求基本达成,发现AI模型管理界面的“数据统计”功能好像没啥用,于是也让Cursor去掉了,至于在使用应用的过程中频繁出现的FSFindFolder failed with error=-43错误提示,Cursor认为这种提示通常出现在CoreData初始化时,系统内部可能使用旧的Carbon API(FSFindFolder)查找Application Support目录,导致出现了-43即“文件未找到”错误,Cursor改成了显式指定Core Data存储位置,使用FileManager的现代API,避免系统使用旧的FSFindFolder API,初步测试暂时未遇到这一错误

9、今天的修改就到这里,接下来测试两天,如果没有什么明显的问题就修改设置-关于页面、刷新README文档,并打包,版本号用v0.3

发表回复