

简体中文
新增于HBuilderX 4.72+
uni-ai x
,是一个开源的、全平台的、原生的、云端一体的ai聊天套件。
能够连接ai大模型,真流式接收和输出内容,原生渲染markdown。
基于跨平台原生开发框架 uni-app x 可以被编译为不同平台的编程语言,如:
平台 | 编译语言 |
---|---|
web平台/小程序 | JavaScript |
Android平台 | Kotlin |
iOS平台 | Swift |
鸿蒙OS平台 | ArkTS |
市面上开源的AI聊天套件大多以Web端为主,像ChatGPT、DeepSeek等的App端并不开源。
而通过Web-view接入AI的体验差强人意,自己开发面临如下核心挑战:
uni-ai x由此应运而生,专注攻克全平台原生AI聊天场景的技术痛点。
可以满足开发者的如下需求:
uni-ai x
开发全新的ai应用uni-ai x
的sdk,给app补充ai聊天能力uni-ai x
功能上参考 deepseek 的客户端设计,并扩展了更多平台。
各端效果如下截图,依次平台为:iOS、Android、鸿蒙
web pc端:
扫码或点此下载
前提条件:uni-ai x 支持的大语言模型服务商为阿里百炼,需要先注册账户并创建 API-Key
下载示例项目
打开uni-ai x
插件下载地址:https://ext.dcloud.net.cn/plugin?name=uni-ai-x
绑定项目的服务空间
uni_modules
目录下的uni-ai-x/uniCloud
即可。不基于unicloud的项目,需要根据文档提供获取临时鉴权 token 接口。并配置到/uni_modules/uni-ai-x/config.uts
,bailian -> getToken 内
基于unicloud的项目,默认将通过 uni-ai-x-co 获取,需要将API-Key配置到uniCloud/cloudfunctions/common/uni-config-center/uni-ai-x/config.json
(需要手动创建)
配置示例:
{
"apiKey":{
"bailian": "sk-2****7"
}
}
运行项目
在菜单点击运行
,选择要运行的客户端。
注意: 运行到 App 端需要打自定义基座
配置用户信息(可选)
完整客户端配置 @cinfig-client
配置文件路径:/uni_modules/uni-ai-x/config.uts
用户信息相关 @Provider
字段名 | 类型 | 说明 |
---|---|---|
currentUser | Userinfo | 左侧菜单区域下方的用户头像信息 |
userCenterPage | string | 点击左侧菜单区域下方的用户头像信息后跳转的页面路径 |
默认例子(顶部被注释的代码)适用于基于 unicloud + uni-id-pages-x 的项目的,解开注释即可使用。 非 unicloud 项目,参考此示例简单修改即可
Provider 服务商 @Provider
字段名 | 类型 | 说明 |
---|---|---|
models | LLMModel[] | 该服务商下支持的模型列表详见 |
description | string | 服务商描述信息,用于 UI 展示 |
baseURL | string | API 基础地址,部分服务商需要 |
getToken | function | token 获取方法 |
LLMModel 模型 @LLMModel
字段名 | 类型 | 说明 |
---|---|---|
name | string | 模型名称,需与服务商实际支持的模型一致 |
目前仅支持阿里云百炼
目录结构
uni_modules/uni-ai-x/
├── components/
│ ├── uni-ai-x-setting/ // AI设置相关组件
│ ├── uni-ai-x-model/ // AI模型相关组件
│ ├── uni-ai-x-msg/ // 消息相关组件
│ ├── uni-marked-el/ // Markdown渲染相关组件
│ ├── uni-rotate-icon/ // 旋转图标组件
│ ├── uni-ai-icon/ // AI图标组件
│ ├── uni-ai-menu.uvue // AI菜单组件
│ ├── msg-code.uvue // 代码消息组件
│ ├── msg-tool-bar.uvue // 消息工具栏组件
│ ├── uni-ai-chat.uvue // AI聊天主组件
│ ├── input-tool-bar.uvue // 输入工具栏组件
│ ├── add-chat-btn.uvue // 新增对话按钮组件
│ ├── add-chat.uvue // 新增对话组件
│ ├── ai-menu-left.uvue // 顶部导航栏菜单左侧组件
│ └── ai-menu-right.uvue // 顶部导航栏菜单右侧组件
├── sdk/ // AI能力相关SDK
│ ├── index.uts // SDK主入口
│ └── types.uts // 类型定义
├── static/ // 静态资源
│ ├── ai-provider/ // AI服务商图标目录
│ └── font/ // 字体资源目录
├── pages/ // 页面目录
│ └── uni-ai.uvue // AI聊天主页面
├── uniCloud/ // 云函数相关
│ └── cloudfunctions/ // 云函数目录(属于服务器端文件,不参与打包)
│ └── uni-ai-x-co/ // AI聊天云函数
│ ├── index.obj.js // 云函数主入口
│ ├── utils.js // 云函数工具
│ └── package.json // 云函数依赖描述
├── config.uts // 插件配置文件
├── package.json // 插件依赖与元数据
├── readme.md // 插件说明文档
└── changelog.md // 插件更新日志
更多相关文档:
更多问题欢迎点此加入uni-ai官方交流群
当前项目正在快速迭代UI体验,请关注本项目,订阅更新通知。
本项目依赖以下作品