1、今天先试一下上周五新增的Tavily联网搜索功能是否可用,但在Xcode模拟器中打开应用发现,添加Tavily API字段之后原本保存的模型都被删掉了,先添加一个deepseek v3试试,果然可以在AI回答内容中融合最新信息,并且会标注信息的来源(以“来源1、来源2、来源3”的文字形式),我需要增加参考的搜索结果数量至5条,并且在回答内容中带上链接,点击可以直接跳转到来源链接,然后结合Cursor的建议添加更多的搜索触发词,毕竟现在已经很少会完全让AI基于训练数据回答了
2、Cursor大幅扩展了搜索触发词列表,可以通过更多自然语言触发搜索,并且支持调用Tavily API获取5条搜索结果,在AI回答下方显示参考链接区域,点击链接可以直接跳转到浏览器,甚至还设计了卡片和蓝色主题?同时还有一些性能优化,比如链接信息轻量化存储、异步处理避免阻塞主线程等等,实测并没有出现“参考链接”区域,链接也无法点击、跳转,只能看到网址,而且Xcode中还有一些警告信息,截图反馈给Cursor调整
3、在修改过程中,同步让Cursor修改了对话页面的收藏逻辑,去掉消息右侧的收藏按钮,改为长按消息弹出菜单,菜单中包含收藏、复制、删除,目前已经可以看到AI回答内容底部的“参考链接”区域,且链接可以点击跳转至浏览器打开
4、测试发现复制和收藏功能已经实现,但“删除”功能好像不管用,让Cursor修复,然后优化了“选择模型”界面(ModelSelectorView)的视觉效果,采用和“AI模型管理”界面(AIModelManagementView)一致的视觉效果
5、发现在AI模型管理界面,AI模型列表上方有大片的空白,Cursor认为是因为AIModelManagementView使用了NavigationView包装整个界面,这回自动添加导航栏的空白区域,修复之后选择模型界面和AI模型管理界面样式已经一致
标签: 模拟器
DevLog:2025年8月5日
1、今天先处理一下ChatWith在使用深度思考模型时的显示效果问题,目标是如果模型支持深度思考,那就在对话过程中先展现思考过程,思考过程结束后折叠思考内容,继续展现回答内容,整个过程都需要流式输出,且能随着输出过程自动向下滚动
2、Cursor在修改过程中,根据我提供的调试信息再次添加了更详细的调试信息,再次测试时发现1.虽然可以看到思考过程,但却是在回答结束后才发现在回答内容上方有思考过程,应该先让我看到思考过程,思考结束后再呈现回答内容 2.思考过程显示不全,只能看到一部分 3.一旦折叠或展开思考过程,就会自动跳到对话界面的底部,体验也不是很好,最好是我在折叠或展开思考过程时,仍然停留在当前位置
3、这三个问题还没有解决,又发现在AI输出过程中,CPU占用率可以飙升到100%,且回答内容越长应用就会越卡顿,一旦回答完成或点击返回到对话列表后CPU占用率立即下降到0%,Cursor认为这种性能问题是由于存在多个重复的滚动监听器,并且每次流式输出都会触发频繁的UI更新,优化后性能有了明显的改善
4、多次修改后仍然不能完美解决思考过程的展现,决定暂时简化掉这一功能,去掉对深度思考过程的展现,直接流式输出回答内容,已实现
5、然后测试时发现MarkdownRenderer需要再完善一下,比如AI回答的内容里如果有链接,还会显示成带有Markdown语法的形式,不会直接显示成链接,另外还需要优化一下对话界面,在发送问题之后,发送按钮变为停止按钮,点击可以打断AI的回答,已实现
6、目前的对话列表中,长按对话可在菜单中选择置顶,但置顶后的对话和其它对话在样式上没有区别,让Cursor优化一下显示效果,Cursor优化的效果还不错,比如加上了与启动界面颜色一致的细边框、PIN图标、置顶标识、渐变背景等等,之后又边测试边让Cursor处理了无法取消置顶、对话列表不按最后对话时间排序、对话时间只显示小时和分钟等问题,并且去掉了多余的置顶和模型图标
7、出于好奇,询问了Cursor有没有必要将对话列表和收藏列表拆分成单独的视图,Cursor表示强烈建议拆分,目前这两个列表均在ChatView内,而ChatView已经有1300多行代码,包含了太多不同的功能模块,违反了单一职责原则,且代码组织混乱、状态管理复杂,建议拆分除单独的ConversationListView、FavoritesView、SearchView,并创建一个ConversationManager数据管理器来处理共享状态
8、Cursor还给出了分步骤的实施建议,先创建新文件结构,拆分独立文件,再优化数据管理,创建ConversationManager,减少重复代码,之后再组件化,提取可复用组件并创建Components目录,以提高代码复用性
9、虽然现在应用功能并不多,但拆分过程中也容易出现各种错误,比如已经拆分为单独文件的视图和原有的代码并存导致冲突,需要边修改边构建,之后再详细测试每一个功能确保应用功能正常,Cursor在拆分完成后表示,现在应用有了更好的架构基础,便于未来的功能扩展和维护
10、在Xcode模拟器中测试调整架构后的应用,发现如下问题,可能是拆分单独的视图之后导致的功能丢失:对话内容无法通过长按复制/收藏;发送问题之后会出现错误提示“请先配置API密钥”,但我已经配置了模型信息;“设置”界面左上角需要添加“返回”按钮;收藏列表需要以对话列表的样式显示,每条收藏在列表中仅显示两行文字即可
11、在修复上述问题的过程中遇到了对话长度超限的问题,不得已开启了新对话,在修复几处错误之后,Cursor试图开启模拟器帮我测试应用,我更习惯自己在模拟器中测试,回复“以后我自己”(其实还没有打完就点了发送),Cursor竟然理解了我的意思,回复说“好的,我理解您想要自己处理后续的操作”
12、再次测试,发现这些问题:新收藏的对话内容没有出现在收藏列表里;发送问题之后没有“AI正在思考中”的提示;回答过程中会同时出现两条一样的回答内容,回答结束后仅显示一条
13、Cursor没能一次解决上述问题,测试发现还有新问题:发送问题之后仍然没有“AI正在思考中”的提示;我需要以流式输出显示回答内容,不要一次跳出全部回复内容;对话界面需要跟随流式输出向下滚动,始终显示最新的回答内容;收藏列表需要按收藏时间倒序排列
14、在修改过程中,Cursor建议将ChatView的body结构拆分为更小的组件,比如消息列表、输入框、头部等分别提取为独立组件,以减少嵌套和条件判断,但多次修改后仍然频繁出现错误,比如问题提交之后应用就会卡死、新建对话后原有的对话会消失、同时输出两条一样的回答内容、对话中只能看到最早的一个问题,其它的内容都不显示 等等问题,猜测可能是在将ChatView拆分成多个文件之后,在拆分组件时,出现了功能上的重复和冲突,于是让Cursor继续检查ChatView和Views目录下的文件有没有功能重复的情况
15、目前在对话界面提交问题后应用还是会卡死,也没有了“AI正在思考中”的状态提示,明天让Cursor继续拆分ChatView,检查有无功能重复,并添加调试信息定位问题,还有另一个问题也明天处理:目前的ChatWith用StoryBoard作为启动页面,NoteWith和DoitWith则是用SplashView作为启动页,这两种形式有啥区别?
16、最近Cursor在更新之后添加了一个Context Usage的提示,以后注意时刻关注这个用量提示,如果要对应用做比较大的改动,但用量快到顶了,就开启一个新对话,虽然可以选择参考上次的对话内容,但好像参考的效果不太行
DevLog:2025年7月30日
1、继续对NoteWith进行优化,先对比DoitWith的启动页代码,调整了NoteWith启动页的标题和副标题字体大小,之后让Cursor调换AI对话和备忘录TAB的顺序
2、之后主要调整设置界面,首先把底部的设置改成“我的”,左上角的“设置”也改成“我的”,然后把AI模型相关的设置改成弹窗,目标是:点击“我的”可显示模型设置(点击AI模型设置后打开弹窗,在弹窗中设置API密钥、API地址、模型名称)、数据管理(包含回收站,需要删除回收站的图标)、数据统计(包含AI会话数量、备忘录数量),Cursor在修改完成后没有主动构建,跟Cursor强调了下以后完成每次修改后都构建一下试试
3、发现Cursor在修改底部的导航文字(“设置”改成“我的”)之后,原本的齿轮图标就不合适了,需要替换成比较合适的图标,另外需要在“我的”页面增加深色模式切换功能,可在 跟随系统、浅色、深色 三个选项间切换
4、在模拟器中测试发现,“我的”页面的AI模型、回收站,以及外观设置的三个按钮只有在点击文字和箭头时才会触发对应操作,需要改成点击整行时都能触发对应操作,继续让Cursor修改,Cursor表示是对按钮点击区域进行了优化,移除了Button和buttonStyle(PlainButtonStyle()),改用HStack + contentShape(Rectangle()) + onTapGesture
5、然后优化AI对话中的收藏操作,目前消息右侧的收藏按钮有点小,且位于消息的中间位置,消息比较长时不便于点击收藏,需要调整到消息的顶部位置,并且适当增大收藏按钮,在点击收藏按钮后需要提示收藏成功,在Cursor修改完成后,再对提示文字“已收藏”进行优化,改成了浮在对话界面中间停留一秒后自动消失,Cursor不仅完成了需求,还增加了阴影、动画效果、平滑动画,效果不错,今天到此结束,明天再测试和优化其它功能
DevLog:2025年7月29日
1、今天的目标是把DoitWith的分组功能加回来,目标是:
1.点击右上角的“+”可以选择创建新Todo、创建新分组
2.创建新Todo时可以选择分组
3.点击左上角“Edit”后,每条Todo右侧的删除按钮左边增加一个编辑按钮,点击弹出编辑界面,类似添加Todo界面,可以选择这条Todo的分组、设置截止日期和重复频率
4.设置中增加分组管理功能,可以删除分组,确认后即删除
2、决定让Cursor分步操作,先实现上面和1和2,Cursor增加了分组颜色设置等细节优化,但存在这些问题:新创建的分组不会出现在Todo列表里,我的需求是 即使目前已有的分组下都没有Todo,也要呈现在Todo列表里;另外新创建的Todo也没有出现在Todo列表里,检查一下是怎么回事;还有,创建完分组或Todo后,ActionSelectionView能否自动消失?目前还需要手动点一下取消才会消失
3、让Cursor修正这些问题之后,继续优化,发现点击左上角“Edit”时,只有General分组下的Todo支持拖动排序,其它分组下的Todo同样需要支持拖动排序,另外设置页面的TODO统计,数字也不对,是不是只统计了General分组下的Todo?然后去掉设置中的Reset to Default Data按钮和功能,我不需要
4、Cursor快速修复了上述问题,发现给Cursor的需求要尽量具体到某个按钮的某个功能,还有就是在付费之后Cursor的效率有明显的提升
5、继续修复一些小问题:点击左上角“Edit”后,我需要暂时隐藏掉Todo条目最左侧的圆圈,可能会让人误解这是多选按钮;另外现在每条Todo在点击完成后都无法撤销,我需要在再次点击时撤销完成状态
6、Cursor快速修复了上述问题,继续测试后发现还有问题,从回收站中恢复的Todo条目,不会回到原本所属的分组,而是到了General分组里,继续让Cursor修复问题,Cursor甚至还给出了“如果原来的分组被删除了,恢复的Todo会添加到General分组作为降级处理”的额外方案
7、从2-6的需求全部完成,接下来继续增加编辑Todo、管理分组的功能,先增加编辑Todo的功能,需求是:点击左上角“Edit”后,每条Todo右侧的删除按钮左边增加一个编辑按钮,点击弹出编辑界面(类似添加Todo的界面)可以在编辑界面修改这条Todo的标题、描述,设置截止日期和重复频率
8、Cursor在修改后仍然存在一些问题,一是编辑、删除、拖动排序三个按钮离的有点近,可以稍微拉大一点间距,防止误触,二是点击编辑按钮弹出了“删除”的弹窗,没有进入编辑界面,关于间距的修复,由于编辑、删除按钮和拖动按钮不属于同一个组件,无法调整边距,在尝试两次后撤销了间距调整操作,第二个问题已经修复完成,但存在首次打开Todo编辑界面立即消失,需要再次打开才能编辑Todo的问题,继续让Cursor修复,多次修改未果,点击编辑按钮会弹出删除的弹窗
9、决定换一种交互形式,去掉每条Todo右侧的编辑和删除按钮,改成长按每条Todo弹出菜单,菜单里包含编辑Todo、删除两个功能,点击编辑Todo进入编辑界面,点击删除弹出弹窗,确认后即删除(Cursor认为这样更加简洁,且符合iOS的设计规范)
10、实现这一需求后,发现首次长按Todo条目、编辑Todo时会弹出一个空白页面,再次编辑Todo时才会弹出完整的编辑界面,继续让Cursor检查并修正该问题,多次修改后解决
11、我发现即使不点击左上角的Edit按钮,也能通过长按和拖动来调整Todo的顺序,可以让Cursor去掉左上角的按钮,以及点击按钮后界面的变化相关代码,但要保留拖动调整Todo顺序的功能,Cursor边修改边检查/修复问题,涉及了TodoView.swift、TodoRowView.swift、GroupTodoRowView三个文件
12、接下来继续优化应用,主要针对分组管理:一是在Todo界面搜索栏下方添加几个按钮,按钮上显示分组的名字,点击可以直达该分组所在位置,创建新分组时自动在添加新按钮(Cursor说这叫“分组导航按钮”);二是需要在设置中增加管理分组功能,可以在这里删除分组,删除后该分组内的Todo自动移动到General分组,先增加第一个功能,增加分组导航栏
13、接下来让Cursor实现管理分组功能,Cursor创建了一个新的GroupManagementView视图来管理分组,可以在设置-管理分组中统一查看分组颜色标识、分组名称、分组内的Todo数量,也能点击删除,删除时会有确认对话框,并告知删除后的Todo会移动到General分组里
14、下一步优化搜索功能,目前的搜索框不是很好用,搜不到部分Todo条目,Cursor对搜索功能进行了优化,输入关键词即可在全部Todo内搜索,快速定位到搜索结果,但是有一个问题:在搜索到不在General分组内的Todo时,会同时显示搜索结果和“No Results”的提示,继续让Cursor优化,解决了这个小问题
15、之后让Cursor修改创建分组和Todo界面的英文,改成中文,Cursor还自动同步检查了编辑Todo界面,之后再让Cursor把设置界面的一些英文改成中文,模拟器测试OK,然后让Cursor结合当前应用的功能刷新了一下README
16、检查一下目前的文件中有没有深色模式相关的代码,Cursor检查后发现的确存在深色模式相关代码,但设置界面中没有对应的选项,于是开始修复,涉及了主应用入口、设置、SplashView、RecycleBinView等文件,并且发现存在两个设置文件SettingsView和SettingView,检查后删掉了SettingsView,测试深色模式可正常启用
17、DoitWith先到这里,回到NoteWith,在Xcode模拟器中运行时出现三处被弃用的语法警告,先让Cursor处理一下,之后对NoteWith的功能进行测试
18、首先是备忘录相关功能,点击创建备忘录按钮或右上角加号后,添加内容并保存,并没有出现在备忘录列表里,需要检查一下原因,多次修改后仍然无果,决定先让Cursor把数据存储方式从Core Data改回UserDefaults,这样可以简化数据管理,避免Core Data的复杂性
19、Cursor删除了8个涉及Core Data的文件,并清理其它文件中对Core Data的引用,创建了一个新的简化项目文件,移除所有Core Data相关的引用(已经自动备份了当前的项目文件),之后果然能够正常保存备忘录了,Cursor还是厉害,Core Data等以后比较熟悉了再切换吧,现在先用着UserDefaults
20、目前格式设置按钮在备忘录详情页标题下方,但选中文字时弹出的剪切、复制等按钮就会把格式设置按钮挡住,继续让Cursor修改:需要把格式设置按钮全都挪到备忘录详情页底部、字数统计栏上方,并且增加删除线、设置文字颜色按钮;删掉右侧的“清空内容”按钮;目前工具栏中的“A”图标对应的是什么功能?点击之后会卡死
21、Cursor在修改之后,格式设置功能还是有问题,决定让Cursor修改这些:备忘录详情的格式设置还是有问题,选中文字后,可以设置格式,但再次点击格式按钮后不会取消格式;另外在备忘录列表页,在某条备忘录的空白位置点击就会被标记星号,我的需求是只有点击到星号时才会被标记星号;还有,移除备忘录详情页标题旁边的分享和删除按钮,我暂时不需要;在设置中添加一个回收站功能,管理我删除的备忘录,可以在回收站中恢复已删除的备忘录,这些需求均被Cursor快速完成
22、继续测试并让Cursor优化AI对话页,测试发现在AI对话页面点击创建AI对话按钮和右上角的加号之后,都只会创建新对话,但不直接打开新对话,点击对话列表中的条目也无法打开;另外在设置中填上API密钥、API地址、模型名称后点击右上角保存,不会提示已保存,也不会返回到其它界面,让Cursor一并检查、修复完成,创建新对话后对以弹窗形式打开对话,且对话内容互相独立,设置模型信息之后点击保存会提示已保存,至此NoteWith的基本功能已经OK
23、然后让Cursor删掉了设置页的版本号、项目主页等不重要的信息,以后再继续测试、优化,包括AI对话和备忘录TAB调换顺序,增加深色模式,优化设置界面的交互逻辑(把AI模型相关的设置改成弹窗),“设置”改成“我的”等等
DevLog:2025年7月22日
1、继续修改DoitWith,尝试让Trae完成编辑截止日期的功能:
完善添加和编辑截止日期的功能,在创建Todo时默认以当天为截止日期,也可自行选择截止日期,精确到天,长按每一条Todo可编辑截止日期,同样精确到天
2、Trae在修改过程中会反复验证语法是否正确,这一步应该可以提升在Xcode中构建成功的概率,减少因语法错误导致构建失败,Trae已经按上述要求添加了设置和编辑截止日期的功能,Xcode模拟器测试也已成功
3、接下来完善分组相关功能,比如点Todo界面右上角加号可以添加分组(目前已支持),在添加Todo时可以选择分组,默认放到用户创建的第一个分组里,长按每条Todo可编辑所属分组
4、Trae完成了上述需求,但应用存在一个问题,目前在创建Todo时,如果没有分组,应用中会提示请先创建分组,但点击无法创建分组,需要修改成这样:应用内预置“工作”和“生活”两个分组,在创建Todo时默认位于“工作”分组,且可以点击切换到其它分组(包含用户自行创建的分组)
5、同时给Trae提了另一个要求:以后除非我另做要求,都统一用iPhone 16模拟器来构建,但不在模拟器中进行测试,我自己会去Xcode中测试,但Trae貌似没有理会这个要求,也可能理解成了这是仅对上一条需求提的要求
6、发现Trae在构建成功后不会进行下一步,好像会卡在构建这步,即使底部的“终端”中已提示BUILD SUCCEEDED,当然可以选择“跳过”,没有任何影响
7、接下来完善TodayView,需在该界面显示截止日期为当天的Todo,可勾选完成,不需要其它长按菜单,如果没有符合要求的Todo,则该界面显示“今天没有待办事项 享受轻松的一天吧!”多次修改后未能完成,后来回想起之前Cursor在修改Today界面时,在 MainTabView.swift中,Today标签页显示的不是TodayView.swift组件,而是一个静态的“Today”文本,让Trae修改之后已经基本满足需求
8、下一步,让Trae添加Todo的删除和恢复机制,删除后进入回收站,可在设置界面进入回收站并恢复已删除的Todo,结合应用当前的功能写一个README文件
9、在Xcode中测试应用时再次出现了卡在启动界面,不进入Today界面的情况,但在Trae中进行测试时就正常,按指导清理了Xcode和模拟器缓存,但无效,之后暂时先在Trae的模拟器中进行测试
10、用Trae修正了在Today界面和Todo界面创建Todo和分组时,两个界面的数据同步问题,在其中任何一个界面创建Todo和分组时,都会同步显示在另一个界面
11、到现在已经把我在OpenRouter平台充的钱用完了,基本都是这两天在Trae中使用Claude Sonnet 4消耗的,这消耗的也太快了,当然Claude Sonnet 4的API价格比较贵也是原因之一,OpenRouter上的Claude Sonnet 4的价格是百万输入3美元,百万输出15美元,作为对比,DeepSeek-R1 0528的价格是百万输入和输出均为0.272美元
12、切换Trae的模型为Kimi-K2,先让它给应用增加回收站功能,可以集中查看已经删除的Todo条目,并且在右侧设置恢复按钮,可以恢复到这条Todo被删除时所在的分组中,Kimi-K2的表现好像还可以
13、决定让Kimi-K2来检查一下当前应用是否会在启动时卡在启动页,不进入Today界面,在对代码进行多次优化,比如优化数据加载逻辑,改进数据更新机制等等之后,在Xcode模拟器里测试应用仍然会卡在启动界面,但在Trae中测试时就可以正常使用,很奇怪
14、让Trae结合应用现有的功能,创建了一个README.md文件,放在应用文件的根目录里,今天到此结束
DevLog:2025年7月21日
1、继续让Cursor修正DoitWith卡在启动页的问题,结合昨天和今天修改的内容,猜测可能是因为Today页面存在问题导致卡在启动页,决定先让Cursor进一步简化应用功能试下,先去掉Today界面及相关代码
2、果然在去掉Today界面及相关代码后可以正常进入应用,并直接显示Todo页内容,之后让Cursor逐步将Today界面及功能加回来,比如先恢复Today界面,但不需要什么功能,只为测试应用能否正常打开,经测试应用确实可以正常打开,看来问题出在TodayView的具体实现上
3、逐步恢复Today界面和功能,先给这页添加标题“Today”和右上角的“设置”按钮,位置与Todo页的标题和设置按钮位置一致,顺便把启动页的副标题改成“Manage all you need to do.”
4、使用Xcode模拟器测试发现上述需求已达成,接下来继续恢复功能:
在Todo列表中点击右上角“+”,添加新Todo时,无法选择截止日期,只能添加标题,需要有可选择日期的窗口,默认选择今天,也可以手动选择之后的日期
5、Curso在实现上述需求的过程中又重复出现Ambiguous use of ‘toolbar(content:)’的问题,感觉又陷入了新的循环,决定让Cursor先去掉所有的选择日期、修改日期相关功能
6、发现Cursor在Pro试用到期之后,更多的是给到修改建议,而非之前的主动修改,在修改一个文件时,也会一部分一部分的修改,不会一次修改完整个文件,可能的确是在使用上有些限制了
7、让Trae对当前的项目进行了检查,Trae修正了目前存在的编译错误,目前已经可以正常打开,Trae还给出了如下建议,第一条是因为Cursor还没能完全去掉编辑截止日期相关的功能吗?
1.功能完善 :完成编辑截止日期功能的具体实现
2.UI优化 :考虑使用更现代的SwiftUI设计模式
3.数据模型 :考虑迁移到Core Data以获得更好的数据管理
DevLog:2025年7月20日
1、发现目前这个精简版的DoitWith存在几个问题,需要让Cursor来优化
1.设置中仍然有“Note数量”,需要删掉这一行
2.设置的数量统计改成这两个维度:进行中的Todo数量、已完成的Todo数量
3.设置中的外观选择,切换到深色时应用界面颜色没有变成深色,需要修正下
4.在Todo中添加新Todo时,目前无法选择截止日期,只能添加标题,需要出现选择日期的窗口,默认选择今天,也可以手动选择之后的日期
5.长按一条Todo,点击弹出菜单中的“修改截止日期”,需要出现选择日期的窗口,默认选择今天,也可以手动选择之后的日期
6.Today页面为空时显示的“今天没有待办事项 享受轻松的一天吧!”和绿色的对勾图标一起往下挪一些
7.需要增加启动页面,背景颜色为墨绿色,标题为应用名,副标题为“Manage all you need to do.”
2、吸取教训,每次只让Cursor改正几个问题,不一次性提出太多需求,改正几个问题之后立刻构建、在Xcode中用模拟器测试,先让Cursor修正“设置”页面的问题
3、Cursor在修正完成之后,反复卡在白屏或启动页面,无法进入应用
DevLog:2025年7月14日
1、今天对NoteWith做一些优化,包括:
1.去掉启动页面的图标,只留应用名和下面的文字就行
2.在模拟器中打开应用时,进入启动页前会有一两秒的白屏,需要去掉,打开应用直接进入启动页
3.在模拟器中运行应用时会有警告,需要修正一下:
/Users/jinlei.wu/Documents/GitHub/NoteWith/NoteWith/ViewModels/AIViewModel.swift:86:21 Capture of ‘self’ with non-sendable type ‘AIViewModel’ in a ‘@Sendable’ closure
2、修正后经Cursor构建和模拟器测试,上述优化均已完成,但还是感觉启动速度有些慢,继续让Cursor优化:感觉应用启动有点慢,虽然现在启动时没有白屏了,但还需要在蓝屏状态下等一两秒才会出现应用明和副标题
3、Cursor检测了当前的启动流程,发现SplashView会显示2秒钟,Cursor对这个问题进行了修正,并通过异步加载数据来减少启动时间,告诉我启动页显示时间由2秒缩短为0.5-1.2秒,并加入了淡入淡出动画,在启动时异步加载数据,主界面准备好后立刻切换,最大程度减少等待,Xcode模拟器测试发现冷启动时仍然会先蓝屏再显示标题和副标题,继续让Cursor优化
4、Cursor指出这是由于当前的启动页SplashView并没有在应用一启动时就立刻渲染,而是先显示了LaunchScreen,然后才切换到SwiftUI的SplashView,Cursor在修改中表示更好的方法是完全移除LaunchScreen配置,让应用直接进入SwiftUI,修改后构建测试成功,Cursor告诉我现在应用冷启动时会立即显示标题和副标题,无蓝屏过渡,直接显示内容,并且会快速进入主界面,数据加载完后立即切换,Xcode测试发现现在启动页面一闪而过,虽然给人一种快速进入应用的感觉,但不利于让用户记住这款应用的名字,决定将启动页面显示时长固定为1秒钟
5、Cursor快速修改,包括:简化启动逻辑,固定显示时间,清理不再使用的代码,但实际测试发现在冷启动时依然会先白屏,然后再显示启动页,不像ChatWith那样可以直接进入启动页,直接问Cursor:现在冷启动时还是会先白屏一下再进入启动页,为啥不能像ChatWith那样启动应用就直接显示启动页呢?
6、Cursor好像理解了我的问题(涉及两个项目之间的对比),并表示需要创建并配置Laucn Screen Storyboard文件,并对PBXFileReference等进行修改
7、Cursor一通操作之后又删除了刚刚创建的LauchScreen.storyboard文件,构建测试成功,再次用Xcode模拟器测试,好像没有任何的变化,应用启动时的表现又回到了今天最初的状态,可能是因为应用在启动时的数据加载要比ChatWith多吗?
8、直接问Cursor这个问题,Cursor表示NoteWith的确需要在启动时加载更多内容,并给出建议,比如将部分数据加载延迟到用户首次访问时,或者进行异步初始化,将数据加载移到后台线程,或者分页加载等等
9、参考Cursor的建议:延迟加载AI会话历史页面,当用户访问该页面时再行加载,以缩短启动时间,Cursor对多个文件进行了修改,将AI对话数据加载从初始化中分离,实现了备忘录数据和AI配置的立即加载,且仅在用户访问AI对话页面时加载AI会话历史,再次进行构建测试,提示成功
10、Xcode测试,好像启动速度的确比之前快了一点点,白屏时间缩短了一些,继续优化:把AI配置也改成延迟加载吧,和AI会话历史一样,仅在用户访问AI对话页面时再行加载。但我忽略了一点,用户在访问AI配置时当然也需要加载配置,但Cursor发现了这个问题,并且进行了同步修改,还是很智能的
11、Cursor总结,现在在启动应用时只加载备忘录数据,访问A对话页面时会加载AI会话历史和AI配置,访问设置页面时加载AI配置,实现了启动性能的提升和按需加载,减少启动时的内存占用,Xcode模拟器测试发现相比上一次修改没有特别明显的变化,后面等真机测试,积累一些数据之后再看看启动性能如何吧
12、用Cursor分别打开NoteWith和ChatWith,并询问同一个问题:你对目前这版应用有什么完善功能、优化性能的建议吗?
13、Cursor对当前版本的NoteWith的功能和性能方面的建议:
基于你目前对NoteWith的启动性能和数据延迟加载优化,整体架构已经非常合理,用户体验也有明显提升。以下是一些进一步完善功能和优化性能的建议,供你参考:
一、功能完善建议
多端同步与云备份
支持 iCloud 或第三方云服务(如 Dropbox、OneDrive)同步备忘录和AI会话,防止数据丢失,方便多设备协作。
搜索与筛选功能
在备忘录和AI会话列表中增加全文搜索、标签筛选、时间排序等功能,提升内容管理效率。
多主题/深色模式自定义
支持更多主题色彩和自定义深浅模式,提升个性化体验。
AI助手能力扩展
增加AI助手的多轮对话记忆、上下文理解、语音输入/输出等功能,提升智能化水平。
数据导入导出
支持导入/导出备忘录和AI会话为常见格式(如txt、markdown、csv),方便迁移和备份。
快捷操作与小组件
支持iOS主屏幕小组件、Siri快捷指令,提升便捷性。
二、性能优化建议
数据分页与懒加载
对于备忘录、AI会话等大数据量列表,采用分页加载或无限滚动,避免一次性加载全部数据。
本地缓存与异步存储
采用本地缓存机制(如 NSCache、Core Data),并将数据存储操作放到后台线程,避免主线程阻塞。
图片与多媒体资源优化
若后续支持图片、音频等多媒体内容,需考虑资源压缩、懒加载和缓存,减少内存占用。
启动流程进一步精简
检查启动流程中是否还有可以异步处理的逻辑,确保主线程尽快渲染首屏。
内存泄漏与资源释放
定期使用 Xcode Instruments 检查内存泄漏,确保大对象及时释放,避免长时间运行后内存膨胀。
三、代码结构与可维护性建议
模块解耦与协议抽象
通过协议(Protocol)和依赖注入解耦各模块,便于单元测试和后续扩展。
单元测试与UI自动化测试
增加关键功能的单元测试和UI自动化测试,提升代码质量和发布稳定性。
错误处理与用户提示
完善网络、存储等异常场景的错误处理,并给予用户友好提示。
如果你有具体想扩展的方向(如AI能力、协作功能、数据安全等),可以进一步细化需求,我可以帮你详细设计实现方案!
14、Cursor对当前版本的ChatWith的功能和性能方面的建议:
非常感谢你的信任!基于你目前的ChatWith应用(多会话AI对话、收藏、会话置顶、API配置、数据本地化、原生SwiftUI等),我有以下功能完善和性能优化建议,供你参考:
一、功能完善建议
消息搜索功能
支持在所有会话或当前会话内全文搜索历史消息,提升信息检索效率。
多模型/多API切换
支持在不同会话中选择不同的模型或API(如GPT-3.5、GPT-4、Claude等),满足多样化需求。
消息多选与批量操作
支持批量收藏、删除、导出消息,提升管理效率。
导出与分享
支持将会话导出为文本、Markdown或PDF,便于归档和分享。
自定义主题/暗色模式
增加主题切换,适配不同用户的视觉偏好。
消息撤回与编辑
支持用户撤回或编辑已发送的消息(本地层面)。
快捷指令/预设Prompt
提供常用Prompt模板,用户可一键插入,提升效率。
多端同步(iCloud/云端)
支持iCloud同步,实现多设备无缝切换。
更丰富的消息类型
支持图片、代码块、表格等富文本消息,提升交互体验。
消息上下文管理
支持设置会话上下文长度、历史消息截断策略,优化大模型调用成本。
二、性能优化建议
异步加载与懒加载
对长会话消息列表采用懒加载,避免一次性渲染全部消息导致卡顿。
本地缓存与数据归档
对历史会话、收藏等数据做分批加载和归档,减少内存占用。
UI渲染优化
使用LazyVStack、@ViewBuilder等SwiftUI高效渲染方式,避免不必要的重绘。
API请求超时与重试机制
增加网络请求的超时、重试和错误恢复机制,提升稳定性。
内存泄漏检测
定期用Instruments等工具检查内存泄漏,优化数据结构和引用关系。
启动速度优化
精简启动流程,异步加载非核心数据,提升冷启动体验。
三、用户体验提升
新手引导与帮助中心
增加首次启动引导页、FAQ或内置帮助,降低上手门槛。
交互动画与反馈
适当增加发送、收藏等操作的动画和提示,提升操作愉悦感。
无障碍适配
适配VoiceOver、动态字体等,提高可访问性。
如需对某一条建议详细展开(如实现思路、代码示例、UI设计等),请随时告诉我!
15、结合Cursor的建议,先对ChatWith进行优化:
结合你的建议,我需要为ChatWith增加如下功能:
1.增加消息搜索功能,搜索栏放在对话列表顶部,可以在所有会话的历史消息中进行搜索,无需保存搜索历史
2.对长会话消息列表采用懒加载,避免一次性渲染全部消息导致卡顿
3.使用SwiftUI高效渲染方式,避免不必要的重绘
4.在收藏消息时增加动画提示,提醒用户“收藏成功,可前往收藏页查看”
5.可长按收藏内容进行取消收藏、复制内容到剪贴板等操作,长按弹出的菜单提示“取消收藏”、“复制收藏”
Cursor对这些需求制定了实现方案,我要求“按你计划的步骤来开发吧,并且每步完成后都使用iPhone 16模拟器构建一下,先不用在模拟器中运行”,Curso开始逐条处理,中间需要多次确认,Cursor很快处理完成并提示构建成功
16、在Xcode模拟器中添加模型测试对话,提示服务器错误:HTTP 404,并且还有两处可以优化:新建对话的顶部不需要“已加载全部消息”的提示,优化一下会话列表的样式,可以改成无边框的卡片式风格,继续让Cursor修改,修改的效果也不是很理想,全部对话列表页的样式太丑了,目前每个卡片的长度是只比标题长一点儿吗?我需要即使标题特别短,卡片边缘也能到达屏幕左右两侧,另外,设置页面的API路径,有没有自动添加/chat/completions?继续让Cursor修改
17、404问题已解决了一部分,目前使用模型时需要在设置中填写不带/chat/completions的API路径,如https://api.deepseek.com/v1/,Cursor解释说实际请求的API路径时“你设置的baseURL+/chat/completions”,设置页面只需填写基础URL,不要带/chat/completions
18、经测试DeepSeek官方的API(API地址是https://api.deepseek.com/v1/)和火山引擎的API(增加了联网搜索能力之后的“应用”,API地址是https://ark.cn-beijing.volces.com/api/v3/bots/)均可正常使用,但OpenRouter的模型仍然会报错404,即使API路径只填写了https://openrouter.ai/api/v1/
19、今天用Cursor修改代码时,在构建测试环节多次出现“看起来没有iPhone 15模拟器,让我使用可用的iPhone 16模拟器来构建”的提示,需要等待iPhone 15模拟器无法进行测试,并多确认一次用iPhone 16模拟器测试(甚至后来还出现了一次用iPhone 14模拟器进行测试),可能是我的Xcode里没有安装iPhone 15的模拟器,但我没有找到从哪里设置Cursor默认的模拟器,且测试过程中还出现了Cursor自动启动模拟器、安装并启动应用的情况
20、这段时间用Cursor一直用的是默认模式,没有手动切换过模型,感觉也基本够用了,可能我的应用功能比较简单吧
DevLog:2025年7月11日
1、用Cursor将AINOTE应用的名字修改成NoteWith,并且在启动页的NoteWith下面增加一行小字“any AI LLM you like.”,将项目文件中出现的AINOTE字样也全部修改为NoteWith
2、Cursor快速修改了应用名称,甚至还同步修改了README文件中的描述,之后添加启动页面视图,用于显示应用名称和副标题,并测试编译是否正常,提示构建成功
3、继续修改部分文件夹和文件名字,并修正项目结构和路径引用等错误,Cursor总结如下:
1.主目录、工程文件夹、所有子目录、Xcode工程target、分组、路径、README、脚本等全部已改为NoteWith。
2.Xcode工程文件(project.pbxproj)所有引用、分组、target、产物名、路径等全部同步为NoteWith。
4、之后前往Xcode用模拟器测试该项目,模拟器运行成功,在GitHub里创建了一个本地库并且把项目文件都挪进去,这下ChatWith和NoteWith两个项目都放到GitHub本地库了,后面再尝试使用GitHub管理项目
5、模拟器测试NoteWith,发现有几个可以优化的细节:
1.备忘录页面,去掉顶部的“仅显示收藏”和“清空搜索”功能,不需要记录搜索历史
2.AI对话界面,去掉底部的清空对话、设置按钮,像备忘录页面那样在右上角增加一个加号,用于开启新对话
3.设置页面,去掉设置AI回复的最大长度(最大令牌数)功能和底部的预设配置选项,设置页面底部增加一个“关于NoteWith”,链接到README文件
让Cursor对这些细节进行调整和优化
6、Cursor今天好像不是很勤快,处理速度有些慢,说完“请稍等,我马上开始”之后就没动静了,再催一次之后才会继续,你不催,它就等,你一催它也能立刻开始
7、处理过程中,会话页面添加加号后Cursor告知目前的设计是点击后清空当前对话,开启新对话,但我的设想不是这样,我进一步明确需求:对话界面右上角的加号,点击后不要清空当前对话,可以直接弹出新对话窗口,并保留之前的对话,在新对话窗口左上角设置返回按钮,返回后可以查看之前的对话记录,Cursor进一步跟我明确了一些细节,比如返回后看到一个会话列表,需要为每个会话命名,以会话的第一个问题作为标题,且在会话列表中显示最后一次对话的时间,这次的改动貌似有点大,需要新增会话数据结构、支持多会话管理、新增会话列表视图、支持会话切换和新建等等,继续让Cursor修改
8、修改完之后询问Cursor目前的代码有没有什么问题和可以优化的地方,Cursor给出7条建议,包含AIService依然依赖旧的aiMessages、AIChatView新建会话按钮不会自动跳转到新会话、会话标题与时间显示优化等等,让Cursor对上述问题全部进行依次优化,之后进行构建测试提示构建成功
9、但用Xcode模拟器测试时发现存在两个错误:
Command SwiftCompile failed with a nonzero exit code
/Users/jinlei.wu/Documents/GitHub/NoteWith/NoteWith/ContentView.swift:41:21 Cannot find ‘AIChatSessionListView’ in scope
反馈给Cursor进行排查和修改,Cursor在修改后,告知如果还有类似“找不到类型/视图的报错,可以尝试清理构建缓存(Product>Clean Build Folder),然后重新编译”
但仍然存在错误,这次是3个:
Command SwiftCompile failed with a nonzero exit code
/Users/jinlei.wu/Documents/GitHub/NoteWith/NoteWith/ContentView.swift:2:8 File ‘ContentView.swift’ is part of module ‘NoteWith’; ignoring import
/Users/jinlei.wu/Documents/GitHub/NoteWith/NoteWith/ContentView.swift:3:8 No such module ‘NoteWith.Views.AIChatSessionListView’
10、原因在于AIChatSessionListView.swift文件确实存在在NoteWith/Views/目录下,但在Xcode中看不到这个文件,需要手动把这个文件添加到Xcode工程,找到这个文件并且拖拽到Xcode左侧栏的对应文件夹下,之后再构建就正常了
11、Cursor向我解释:Xcode工程的文件结构和磁盘物理文件夹是两套系统,在Finder里新建/复制的文件,不会自动出现在Xcode工程中,必须手动添加,只有Xcode工程中出现的文件,才会被编译、识别和引用
12、接下来继续优化应用,Cursor给目前应用的设置界面添加了数据管理功能,包括“清空所有备忘录”、“清空AI对话历史”、“重置所有设置”三个功能,但实际使用时基本不会用到,我都让Cursor给去掉了,另外在AI对话列表界面,最后一次对话的时间改为具体的日期和时间,而不是几分几秒前,Cursor按需求快速进行修正,Xcode模拟器测试成功
13、然后统一了备忘录列表页和AI对话列表页的显示样式,比如在AI对话列表页顶部添加搜索栏,AI对话列表的样式与备忘录列表样式保持一致等,直接开启Xcode模拟器进行测试发现会报错,Cursor分析问题在于:
你在 AIChatSessionListView.swift 里,把 .navigationTitle(“会话列表”) 用在了 VStack 或 if 语句后面,而不是直接用在 NavigationView 或 List 上。
.navigationTitle 只能用于 NavigationView 里的直接内容(如 List、ScrollView、VStack),不能用在条件语句或嵌套结构的外层。
并且给出了推荐写法,我还是让Cursor直接帮我修复了,测试构建成功,只有一处不影响功能的警告,当然也是继续让Cursor给修正,然后Xcode模拟器测试也已正常
14、回想起前几天ChatApp(现已更名ChatWith)在Xcode中测试时提示缺少Content和Preview文件夹,在指定路径手动创建文件夹后就可以正常构建,想让Cursor解决这个问题,但多次测试、修改之后,仍然需要这两个空文件夹存在于指定路径,但Xcode里好像看不到这俩文件夹,不知道怎么回事,Cursor表示:这两个文件夹如果Xcode项目结构里有引用,建议保留(哪怕是空的),如果确定用不到,可以在Xcode中移除引用后再删除
15、给ChatWith的启动界面添加了一个橙色背景,Cursor一开始给我改成了偏土色,后来在Color Hex网站试了一个稍微满意些的橙色(NoteWith的启动界面背景是稍浅的蓝色,且启动界面的文字、样式基本一致,这样会有种系列感)
16、今后任何修改都先在Cursor中进行构建测试,没有问题了再去Xcode中用模拟器测试
17、今后每周在功能补充和优化结束之后,都让Cursor基于应用现有功能更新一下README文件
18、本周对ChatWith和NoteWith的改动很大,涉及应用名称修改、功能增补、界面优化等等
19、为了完成今天这些需求,和Cursor说了十多次“好的继续”,基本上每完成一步就要说一次,还出现了两次可能存在网络问题的提示,是因为这个时间很多人都在用Cursor吗?还是因为公司网络状况不好?
20、猜测前几天在Trae中使用Claude Sonnet 4时多次出现文件被截断的问题,可能是由于触发了Claude Sonnet 4的输出字数限制?
用于训练、作战与维护 美军正寻求更先进的VR/AR头显设备
有专家表示,商业领域推动的技术提升有望带来更先进的虚拟和增强现实头显,以解决当今与美军使用的头显相关的许多问题。
虚拟现实(VR)使用户沉浸在一个由计算机生成的环境中,例如VR游戏。增强现实(AR)可以将数据或其他用数字化手段创建的图像叠加到现实世界的视场上,例如电视观众在观看足球或棒球比赛时看到的黄色或橙色的区框。
美军的官员们指出,通过提供使用数字化手段创建的敌军或其他在实际战斗中可能遇到的环境因素,VR和AR头显可以改善军队为对抗先进的对手进行的高科技战争的训练方式。
市场分析公司Frost&Sullivan的航空、国防和安全分析部门副总裁Michael Blades说:“商业领域也是所有游戏玩家都将使用这些设备的地方。他们将进行修改、更新和升级,以跟上该市场中的竞争对手的步伐,这将提升国防领域用户的能力。因此,国防领域将最终从商业市场的竞争中获胜,因为他们将获得更好的训练能力。”
美国空军的飞行员培训计划(Pilot Training Next)就是一个例子,该计划旨在提高飞行员培训的效率,并加快学员们的学习进度。虚拟现实头显的使用为学生们提供了更多磨练技能的机会。
美国空军教育与训练司令部(Air Force Education and Training Command,简称AETC)第24分部的运营官Robert Knapp中校说,在传统的飞行员训练结构中,学生都是从一些纸质出版物或带有培训文件的iPad开始。
“他们从那些培训手段起步,之后会使用一个极其昂贵的传统的模拟器,在那里他们可以进行全方位的飞行训练,”他说道。“那些昂贵的模拟器的问题在于,它们的数量太少了,而且学生进入模拟器的次数也很有限。”
现在,参加Pilot Training Next培训计划的学生可以坐在椅子上,戴上HTC Vive Pro等商业设备进行练习。
VR头显为美国空军的飞行员提供了更多接触模拟技术的机会。
“我们可以填补阅读书本或iPad上的内容与使用一些较便宜的市售设备进行高保真模拟训练之间的差距,”Knapp说。
但他指出,如今的头显有一些缺点。
“当你使用超高分辨率的头显时,视野会变窄,”他解释说。“要获得更大的视野,你需要使用较低分辨率的头显。”
“但是理想情况下,技术研发将会继续,我们将拥有超宽的视野、超高分辨率和非常高的帧率,因此不会出现抖动,”他补充说。“我们现在还没到这一步。”
但是,参考游戏行业技术的发展速度,美国空军可能会在不久的将来拥有它们所需的VR头显。
“我们对这些设备在接下来的几年中的发展趋势感到非常兴奋,因为我确实认为我们离极高保真度的头显并不遥远,到时候,任何人戴上头显都会沉浸在更像真实世界的虚拟环境中,”AETC的助理运营总监Maj.Eric Jones说。
CAE的防御和安全业务技术负责人Phil Perey说,新上市的头显比以前的系统具有更好的保真度。CAE将虚拟和增强现实头显整合到了它为军方客户(包括后勤机组人员)提供的培训解决方案中。
新的Varjo XR-1具有足够清晰的分辨率,用户可以清楚地读取仪表面板的信息,这是以前的头显所不具备的功能。他指出。
Perey预计VR和AR头显技术将继续发展。
“以后将有必要给这些头显做减重处理,”他说到。但是,这不是唯一的需求。
“他们可能会因为现有的视野而减小应用范围,但是当他们试图将视野扩展到更大时,他们的应用范围也将扩大,”他说道。“我们将看到设备重量的下降,可能会看到设备外形逐渐变大,以涵盖更大的水平视野。”
Perey说,他已经尝试了一些将于2020年上市的下一代头显,并且对它们的大体积和较轻的重量都印象深刻。他说,其中之一“几乎是羽毛般的轻盈”。
减轻系统重量可以减轻用户所承受的压力和不适感。
“有一些有前景的制造技术将使这些设备的重量减轻很多,”Perey说。“这将成为人们戴上这些设备,并持续佩戴数小时的重要因素。”
新的电池和更小的计算机也可以帮助减小头显的体积和重量。
微软公司服务美国陆军部门的主管Mark Valentine表示,重点是提升与头显相关的电池技术。他指出,材料科学的进步带来了更小的外形尺寸和更长的电池寿命。
“对电池电量的研究,以及提高电池效率是目前的关键技术之一,”他说道。
微软正在向美国陆军提供其HoloLens2增强现实头显的修改版,以用于集成视觉增强系统(Integrated Visual Augmentation System,简称IVAS)项目,该项目包括抬头显示器。美国陆军希望将这些设备用于训练目的,并向战场上的部队提供更好的态势感知和数据访问能力。
HoloLens系统具备透明的镜片,Valentine指出。
“我可以看到现实世界,同时还可以获取数据和信息,并以固定在环境中的3D全息图的形式显示出来,”他说道。“HoloLens本质上是戴在头上的Windows 10计算机,但并不是通过屏幕来显示的。现在,它是通往现实世界的混合现实传送门。”
Valentine拒绝具体讨论IVAS项目的细节,但他指出,微软认为HoloLens技术有多种潜在用途,包括用于战斗准备。
“现在,如果我是一名陆军士兵,并且要训练夺取一座建筑物,我会遇到一些敌方部队,会遇到一些突然出现的目标,诸如此类。然后我便冲入建筑物并用真正的武器射击,“他说。但是在混合现实世界中,可以用全息图来模拟敌军。
头显也可用于帮助设备维护人员。
“比如,我们可以看到工具箱,设备本身可以在智能边缘进行人工智能识别,打开工具箱,确定下一步维修所需的工具,然后就会为我突出显示这个工具,”他解释说。“我拿起工具,看着飞机,然后,维修清单中的下一步就会以全息图的形式显示出来。”
Valentine指出,与上一代HoloLens相比相比,HoloLens 2具有更小的外形尺寸和更大的视野。该公司还将计算部分从设备的正面移至后面的垫子上,以使佩戴者感到更舒适。
困扰VR和AR头显的另一个问题是用户的操作与模拟环境中相应的变化之间的延迟。美国国家训练与模拟协会(National Training and Simulation Association,简称NTSA)会长James Robb指出,这不仅降低了模拟训练的效率,而且还可能导致晕动症。NTSA是美国国防工业协会(National Defense Industrial Association)的附属机构。
然而,新兴的5G无线技术可能会改变这方面的游戏规则,Robb说。预计5G网络的速度将是4G的20倍。
“5G的延迟应该很小,”他说道。“每当你需要将模拟训练内容从服务器传输到头显时,传输过程中都会有所延迟。因此,只要你提高架构的效率,将无线架构合理地直接用于高速计算机上,就可以减少该问题。”
Blades说,这种技术是未来的潮流。
他说:“这项技术将朝着使一切无线化,并且眼镜本身具有大量计算能力的方向发展,”他说道。“我们已经有了5G。因此,我确定在任何头显与它们所连接的设备(无论是PC还是其他头显或其他设备)之间的延迟几乎可以忽略不计。”
五角大楼即将启动一项5G计划,其中包括将该技术整合到军事任务计划中,以及在训练领域的虚拟和真实环境中进行训练。
Robb还期望下一代头显在训练场景中能够具有更强的数据收集能力和更强的利用AI的能力。
“在这种情况下,机器将在确定你的工作方式并帮助提升表现方面进行很多工作。从帮助你提供决策选项,到提供信息,或者帮助你获得正确的可视化效果,它将无所不包,”他说道。“支持人员越聪明,用户从中获得的好处就越多。”
美国陆军作战能力发展司令部(Combat Capabilities Development Command)模拟和培训技术中心主任Matthew Clarke表示,他不太担心VR技术的改进。
他在最近一次与记者会面时说:“VR行业会采取行动,因为这与游戏行业有关,而游戏业务正在增长。”
他指出,增强现实是一个更大的问题。
“这是因为你正在尝试将真实世界与虚拟世界融合在一起,并且面临着巨大的挑战,”他解释说。“例如,如果你没有将这两个世界进行绝对的对齐,那么,当你在使用时会产生偏离,但我们不能有这种偏差。”
“因此,我在AR中要面临的具体挑战是对齐、跟踪、动态遮挡,”他补充道。
美国陆军希望有一个可以从AR过渡到VR的套件,因此军方可以“从中获得双重收益”,他指出。
同时,美国陆军还想要具备功能更强的被动型传感器的头显。
“美国陆军讨厌主动型传感器,因为敌人可以检测到它们,”他说道。“我们需要被动型传感器。如今,被动型传感器存在的问题是无法获得距离信息,无法获得范围能力,这是我们进行单元训练所需要的。”
Clarke还设想了一个AR技术看起来与今天完全不同的世界。
“我们将不用佩戴头显,而是佩戴增强现实隐形眼镜,”他说道。“对我来说,这就是未来,摆脱处理过程,将人体产生的能量转换为电源,你无需携带额外的电池。”
Blades表示,在未来,AR技术的进步可能不需要用户佩戴任何的头显设备。
“这些设备很多都是显示了某物的3D外观,”他指出。“如果这只是由某种视频产生的,你不需要眼镜就可以在面前显示一个3D物体呢?增强现实的有趣之处在于,其中一些应用程序,甚至可能不需要眼镜就能体验。”
最初发布于2020年1月8日
原文链接:https://www.nationaldefensemagazine.org/articles/2019/11/27/pentagon-eyeing-more-advanced-virtual-augmented-reality-headwear