# 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/)