当前位置: 首页 > news >正文

Compose Multiplatform+Kotlin Multiplatfrom 第六弹跨平台 AI应用

文章目录

    • 引言
    • 功能效果
    • 平台功能
      • 全平台
      • desktop端
    • 热点方向
    • 其他问题
    • 总结

引言

  Compose Multiplatform+Kotlin Multiplatfrom开发多平台应用,这篇文章续上之前的大模型对话开发实现的功能展开分析,因为放假没有时间整理 代码,后面再补充吧,实现了更全面的多平台AI问答应用,支持Android、iOS、Windows、Mac、Linux。有疑问的评论加关注谢谢。

功能效果

mac /ios

多轮对话问答
图片问答
快捷键图片
托盘图标隐藏
划词工具
划词浏览器

平台功能

我是使用硅基流动、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,效果不太好,后续再找其他模型试试,其实对我们还是想在办公场景下提效,对工具的调用上做更多的处理。整个多平台应用的开发,还有些高级的写法没怎么用到,基础功能开发没啥问题。

http://www.xdnf.cn/news/234163.html

相关文章:

  • 大屏/门户页面兼容各种分辨率或电脑缩放
  • C++初阶-string类1
  • 手动实现二叉搜索树
  • AGI时代来临?2030年AI将如何改变人类社会?
  • Spark SQL 之 DAG
  • Linux容器大师:K8s集群部署入门指南
  • 校平机:金属板材加工的核心设备
  • 1295. 统计位数为偶数的数字
  • 大小写问题
  • 5.运输层
  • 解决在Mac上无法使用“ll”命令
  • python与c++变量赋值的区别
  • 【Linux庖丁解牛】—环境变量!
  • 深入解析词嵌入(Word2Vec、GloVe)技术原理:从词语到向量的转变
  • Transformer 模型及深度学习技术应用
  • Langchain+文本摘要-refine
  • Java零基础入门Day3:程序流程控制
  • Flowith:解放思维的AI画布让创意与效率如泉涌
  • 动画震动效果
  • 【Bootstrap V4系列】学习入门教程之 加载必要文件和入门模板
  • javascript 深拷贝和浅拷贝的区别及具体实现方案
  • 【每日八股】复习 Redis Day4:线程模型
  • NLP 分词技术学习
  • 【Dify系列教程重置精品版】第四章:实现Dify的 hello world
  • ISO 26262认证步骤
  • 【Java面试笔记:进阶】30.Java程序运行在Docker等容器环境有哪些新问题?
  • 楼宇智能化三、五章【期末复习】
  • 芯知识|小体积语音芯片方案WTV/WT2003H声音播放ic应用解析
  • 楼宇智能化四章【期末复习】
  • (eNSP)Smart Link配置实验