Compose Multiplatform+Kotlin Multiplatfrom 第六弹跨平台 AI应用
文章目录
- 引言
- 功能效果
- 平台功能
- 全平台
- desktop端
- 热点方向
- 其他问题
- 总结
引言
Compose Multiplatform+Kotlin Multiplatfrom开发多平台应用,这篇文章续上之前的大模型对话开发实现的功能展开分析,因为放假没有时间整理 代码,后面再补充吧,实现了更全面的多平台AI问答应用,支持Android、iOS、Windows、Mac、Linux。有疑问的评论加关注谢谢。
功能效果
平台功能
我是使用硅基流动、deepseek、腾讯混元等大模型,文本问答用deepseek-v3,深度思考用deepseek-R1,图片问答用hunyuan-vision,助手工具问答Pro/Qwen/Qwen2.5-VL-7B-Instruct。
全平台
- 1.多轮机器对话 ,支持多个大模型切换
- 2.本地会话记录缓存,文本、图片会话加载
- 3.黑暗模式切换,支持所有系统,支持代码框包裹
- 4.富文本对代码支持,对部分公式函数支持
- 5.系统图册选择后模型问答,支持每轮引用图片问答
- 6.desktop端截图后的模型问答,手机拍照回答图片的问答
- 7.多端编译,一套代码开发,适配不同机型和系统,磨平差异性
- 8.大模型自动调度,接入深度思考R1
- 9.消息对话内容可选择,可复制,可重新生成问答
- 10.图片预览
- 11.欢迎语动画welcome,支持lottie动画
- 12.消息列表、历史列表根据内容自适应滚动条
- 13.消息列表过长可一键置底
- 14.抽屉布局自适应,桌面端可隐藏,手机端是抽屉
- 15.点击头像跳转默认浏览器
- 16.设置回答用中文或英文,实时生效
- 17.接入联网搜索,暂未有免费api,博查收费
- 18.本地知识库构建,离线小模型处理,多场景搜索算法智能调用,更多助手工具的使用。
desktop端
- 1.截图功能,第五弹文章单独放出实现代码,后面再融入更多需求后扩展了,截图可windows/mac,Mac使用时就会询问权限,windows添加了全局快捷键Alt+A响应快速截图然后拉起应用直接问答。Alt+B全局拉起应用主窗口。
- 托盘隐藏最小化,托盘菜单有打开、退出,双击打开应用主窗口。
- 这次实现了类似豆包的AI划词工具,但是支持的应用有限,选中的速度也没它快,因为是纯Java实现,用了JNA+UIAutomation组合技术架构,获取系统钩子监听鼠标状态,部分win32应用,如记事本和notepad++直接可用user32消息命令检测所选文字,主要支持Chrome浏览器、Edge浏览器,火狐不知道为啥只能定位到首个标签页。
- 划词后,全局AI浮窗显示,可一键搜索、总结、复制,快速拉起主应用窗口进行问答。
热点方向
Agent模式、助手api、mcp、更多模型融合,离线RAG,本地文件规则自动补充请求,后面会加入文件解析、翻译文本
其他问题
- windows下关闭主窗口托盘隐藏时,快捷键响应了但是显示代码无效。
- 联网搜索,未找到免费api,博查,bing都要钱充。
- 助手工具,实现了天气询问的调用工具,发现openAI内置工具,其他大模型基本没有。
- 我用的openai-kotlin三方库处理大模型请求,发现v4.0.1版本没有reasoning_content字段,这个是深度思考返回的数据值,但是不影响结果,但是思考过程就没有显示了。
- 默认每个button内的Text的文字都会偏上,什么原因?
- 划词工具其实我实现的不好,很多应用都不支持,用UIAutomation要测试出目标应用的焦点布局控件,很繁琐没有通用的代码,试过剪切板方式,很简单就获取划词了,但是为了不污染用户剪切板去恢复文件或文字,在恢复文件无法解决lostOwnership()接口多次粘贴后丢失问题,有知道豆包实现原理可讨论下,要c#实现的那不会。
总结
现在大模型应用迭代很快,主要是开源的大模型的能力越来越强,还有使用上的新形式,很多以复杂的Agent模式来交叉处理任务,能自行规划任务流输出,在特定使用场景下效果很炸裂。我尝试openAI的助手工具api,效果不太好,后续再找其他模型试试,其实对我们还是想在办公场景下提效,对工具的调用上做更多的处理。整个多平台应用的开发,还有些高级的写法没怎么用到,基础功能开发没啥问题。