# BotLibre
**Repository Path**: chinasoft4_ohos/BotLibre
## Basic Information
- **Project Name**: BotLibre
- **Description**: 人工智能、nlp、聊天机器人、虚拟代理、社交媒体自动化和实时聊天自动化的开源平台
- **Primary Language**: Unknown
- **License**: EPL-1.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 4
- **Created**: 2021-06-17
- **Last Updated**: 2021-10-27
## Categories & Tags
**Categories**: harmony
**Tags**: None
## README
# BotLibre
## 项目介绍
- 项目名称:BotLibre
- 所属系列:openharmony的第三方组件适配移植
- 功能:人工智能、nlp、聊天机器人、虚拟代理、社交媒体自动化和实时聊天自动化的开源平台
- 项目移植状态:主功能完成
- 调用差异:无
- 开发版本:sdk6,DevEco Studio 2.2 Beta1
- 基线版本:master分支
## 效果演示
## 使用说明
Demo中调用library组件,然后通过五个功能操作展示组件。
1、机器人语音对话界面效果:
```xml
```
其中 对话列表展示为ListContainer:
```xml
```
2、在ChatAbility中实现语音对话
```java
public void submitChat() {
ChatConfig config = new ChatConfig();
//config.instance = this.instance.id;
config.conversation = MainAbility.conversation;
config.speak = !MainAbility.deviceVoice;
config.avatar = this.avatarId;
if (MainAbility.translate && MainAbility.voice != null) {
config.language = MainAbility.voice.language;
}
if (MainAbility.disableVideo) {
config.avatarFormat = "image";
} else {
config.avatarFormat = MainAbility.webm ? "webm" : "mp4";
}
config.avatarHD = MainAbility.hd;
config.message = editText.getText().toString().trim();
if (config.message.equals("")) {
return;
}
this.messages.add(config);
handler.sendEvent(LIST_CONTAINER);
HttpChatAction action = new HttpChatAction(ChatAbility.this, config);
action.execute();
editText.setText("");
resetToolbar();
webView.load(null, "thinking...", "text/html", "utf-8", null);
//Check the volume
AudioManager audioManager = new AudioManager(ability);
int volume = 0;
try {
volume = audioManager.getVolume(AudioManager.AudioVolumeType.STREAM_MUSIC);
} catch (AudioRemoteException e) {
e.printStackTrace();
}
if (volume <= 1 && volumeChecked) {
ToastUtils.show(this, "Please check 'Media' volume");
volumeChecked = false;
}
//stop letting the mic on.
stopListening();
//its Important for "sleep" "scream" ...etc commands.
//this will turn off the mic
MainAbility.listenInBackground = false;
}
```
在sdk6,DevEco Studio2.2 Beta1下项目可直接运行,如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件,并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
## 测试信息
CodeCheck代码测试无异常
CloudTest代码测试无异常
病毒安全检测通过
当前版本demo功能与原组件基本无差异
## 版本迭代
- 1.0.0