# deepSeekHms
**Repository Path**: scenario-samples/deep-seek-hms
## Basic Information
- **Project Name**: deepSeekHms
- **Description**: 【鸿蒙 Harmony Next 示例 代码】本示例通过调用deepseek大模型的api创建了一个AI智能助手,可以和智能助手对话,帮助解决问题。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 0
- **Created**: 2025-06-27
- **Last Updated**: 2026-02-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 使用deepseek大模型对话场景实践
## 介绍
本示例通过调用deepseek大模型的api创建了一个AI智能助手,可以和智能助手对话,帮助解决问题。
## 效果预览
## 约束与限制
* 本示例支持API Version 16 Release及以上版本。
* 本示例支持HarmonyOS 5.0.4 Release SDK及以上版本。
* 本示例需要使用DevEco Studio 5.0.4 Release及以上版本进行编译运行。
## 使用说明
1. 在deepseek官网上注册账号,申请api—key(使用api需要付费)。
2. 输入对话问题,deepseek响应后获得反映结果,最终以对话形式呈现。
## 权限说明
* ohos.permission.INTERNET
* ohos.permission.GET_NETWORK_INFO
## 实现思路
1. 通过使用三方开源库@ohos/httpclient创建服务请求,服务参数以json格式发送。
2. 通过使用三方开源库@changwei/chatui获得聊天窗口。
3. 使用JSON.parse解析返回结果,最后发送消息到聊天窗口。
4. 使用setKeyboardAvoidMode接口来修复因键盘弹出导致标题栏不固定问题。
5. 使用windowClass.getWindowAvoidArea获得底部不安全区域,通过padding避开。
```
// 使用httpclient创建请求
jsonInput(messageJson: string): string {
const jsonBody: JsonBody = {model: "deepseek-chat", messages: [{role: "system", content: "You are a helpful assistant."}, {role: "user", content: messageJson}], stream: false };
let str = JSON.stringify(jsonBody); // 输出有效JSON字符串
return str
}
let client =new HttpClient.Builder()
.setConnectTimeout(180, TimeUnit.SECONDS)
.setReadTimeout(180, TimeUnit.SECONDS)
.setWriteTimeout(180, TimeUnit.SECONDS)
.build();
let jsonBody: string = this.jsonInput(userInput);
let request: Request = new Request.Builder()
.url("https://api.deepseek.com/chat/completions")
.post(RequestBody.create(
jsonBody, new Mime.Builder().contentType('application/json').build().getMime()))
.addHeader('Content-Type', 'application/json')
.addHeader("Authorization", "Bearer sk-97ef02154e324c5b8da5ff26726fb670")
.build();
//使用chatui获得聊天组件
Chat({
title: 'demo deepseek',
needTitleBar: false,
welcomeMessage: '我是你的智能助手小萌',
botMessageBackgroundColor: Color.Brown,
botMessageTextColor: Color.White,
userMessageBackgroundColor: Color.Green,
userMessageTextColor: Color.White,
botAvatar:$r('app.media.chat'),
messageFontSize: 20,
userInput: this.userInput,
controller: this.chatController,
needBackButton:this.needBackButton,
onSendMessage: (ctl, message) => {
//发送用户消息
ctl.postMessage(message)
this.userInput = ''
//显示回复等待动画
ctl.setTyping(true)
//3秒后发送deepseek响应消息
setTimeout(() => {
this.getDeepSeekMessage(message.content);
}, 2000)
}
})
```
## 工程目录
```
├──entry/src/main/ets // 代码区
│ ├──common
│ │ └──Constants.ets // 常量
│ ├──entryability
│ │ └──EntryAbility.ets
│ └──pages
│ └──Index.ets // 主页
└──entry/src/main/resources // 应用资源目录
```
## 模块依赖
* @ohos/httpclient
* @changwei/chatui
## 参考文档
* [httpclient](https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Fhttpclient)
* [changwei/chatui](https://ohpm.openharmony.cn/#/cn/detail/@changwei%2Fchatui)
* [deepseek](https://platform.deepseek.com/usage)
## ChangeLog
| 修改内容 | 时间 |
|--------------|------------|
| 第一次提交 | 2025.06.20 |
## 一份简单的问卷反馈
亲爱的Harmony Next开发者,您好!
为了协助您高效开发,提高鸿蒙场景化示例的质量,希望您在浏览或使用后抽空填写一份简单的问卷,我们将会收集您的宝贵意见进行优化:heart:
[:arrow_right: **点击此处填写问卷** ](https://wj.qq.com/s2/19042938/95ab/)