diff --git a/docs/FAQ.md b/docs/FAQ.md index f18f02aa..d5785ef3 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -65,6 +65,7 @@ VAD: 3、[如何部署MQTT网关开启MQTT+UDP协议](./mqtt-gateway-integration.md)
4、[如何自动拉取本项目最新代码自动编译和启动](./dev-ops-integration.md)
5、[如何与Nginx集成](https://github.com/xinnan-tech/xiaozhi-esp32-server/issues/791)
+6、[修改代码后怎么编译自己的Docker镜像](./docker-build.md)
### 8、编译固件相关教程 1、[如何自己编译小智固件](./firmware-build.md)
@@ -85,6 +86,7 @@ VAD: 11、[如何集成PowerMem智能记忆](./powermem-integration.md)
12、[如何配置天气插件查询天气](./weather-integration.md)
13、[如何开启设备呼叫插件](./device-call-guide.md)
+14、[如何开启联网搜索功能](./web-search-integration.md)
### 10、数字人相关教程 1、[数字人digital-human启动方法](./digital-human-wakeword.md)
diff --git a/docs/docker-build.md b/docs/docker-build.md index 118ed1c9..91d45fd5 100644 --- a/docs/docker-build.md +++ b/docs/docker-build.md @@ -1,21 +1,74 @@ # 本地编译docker镜像方法 -现在本项目已经使用github自动编译docker功能,本文档是提供给有本地编译docker镜像需求的朋友准备的。 +现在本项目已经使用`github`的`自动编译docker镜像`功能,如果您拉取的是项目发行的镜像,您没有自己编译镜像的需求,那就忽略本文档。 -1、安装docker -``` +如果您修改了源码,然后想采用`docker`的方式部署运行,可以参照以下步骤操作: + +## 1、环境准备 + +安装docker: +```bash sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` -2、编译docker镜像 -``` -#进入项目根目录 -# 编译server -docker build -t xiaozhi-esp32-server:server_latest -f ./Dockerfile-server . -# 编译web -docker build -t xiaozhi-esp32-server:web_latest -f ./Dockerfile-web . -# 编译完成后,可以使用docker-compose启动项目 -# docker-compose.yml你需要修改成自己编译的镜像版本 +## 2、编译镜像 + +当你修改好代码后,需要编译新的镜像时,需要按照以下步骤操作: + +准备好你的`你的用户名`和`新的版本号`。 +- 这个`你的用户名`是你在`docker hub`注册的用户名,例如`xiaozhi`。当然,如果你不需要推送到`docker hub`,你可以自由定义。 +- 这个`新的版本号`是你编译的镜像版本,例如`1.2.3`,你可以根据需要自定义或者使用日期格式(例如`20260609`)主要是方便和现在运行的版本号做区分,同时也方便下次回忆你是什么时候构建的,不要和现在你本机运行的版本号相同。 + +进入`xiaozhi-esp32-server`项目根目录,编译 server 和 web 两个镜像: + +```bash +cd 项目根目录 + +# 编译server镜像 +docker build -f Dockerfile-server -t 你的用户名/xiaozhi-esp32-server:新的版本号 . + +# 编译web镜像 +docker build -f Dockerfile-web -t 你的用户名/xiaozhi-esp32-server-web:新的版本号 . + +``` + +## 3、修改docker-compose配置 + +```bash cd main/xiaozhi-server -docker compose up -d +``` + +编辑 `docker-compose_all.yml` 文件,将镜像版本替换为你刚才编译的版本: + +```yaml +services: + xiaozhi-esp32-server: + image: 你的用户名/xiaozhi-esp32-server:新的版本号 # 修改为你的镜像地址 + ... + + xiaozhi-esp32-server-web: + image: 你的用户名/xiaozhi-esp32-server-web:新的版本号 #修改为你的镜像地址 + ... +``` + +## 4、重启服务 + +```bash +# 停止旧容器 +docker compose -f docker-compose_all.yml down + +# 启动新容器 +docker compose -f docker-compose_all.yml up -d +``` + +## 5、验证 + +查看日志确认服务启动正常: + +```bash +# 查看server日志 +docker logs -f -n 50 xiaozhi-esp32-server + +# 查看web日志 +docker logs -f -n 50 xiaozhi-esp32-server-web ``` diff --git a/docs/web-search-integration.md b/docs/web-search-integration.md new file mode 100644 index 00000000..25dd546a --- /dev/null +++ b/docs/web-search-integration.md @@ -0,0 +1,71 @@ +# 联网搜索插件使用指南 + +## 功能简介 + +联网搜索插件 `web_search` 支持在对话过程中实时联网搜索信息并返回结果。插件支持两个搜索源:秘塔(Metaso)和Tavily,用户可根据需要选择其中一个。 + +## API Key申请指南 + +目前我们适配了`秘塔搜索`和`Tavily搜索`。 +- Tavily搜索:每个月1000次免费额度。 +- 秘塔搜索:拥有较为优质的国内数据源。 + +## API Key申请指南 + +### 方式一:使用秘塔搜索 + +- 访问 [秘塔搜索API](https://metaso.cn/search-api/api-keys),注册并登录账号 +- 在API密钥管理页面,点击"创建新的Key" +- 复制生成的API Key(以 `mk-` 为前缀),这是配置所需的关键信息 + +### 方式二:使用Tavily搜索 + +- 访问 [Tavily控制台](https://app.tavily.com/home),注册并登录账号 +- 在控制台中创建API Key +- 复制生成的API Key(以 `tvly-` 为前缀),这是配置所需的关键信息 + +## 配置方式 + +### 方式1. 使用智控台部署(推荐) + +- 登录智控台 +- 进入"配置角色"页面,选择要配置的智能体 +- 点击"编辑功能"按钮,在右侧参数配置区域找到"联网搜索"插件 +- 勾选"联网搜索" +- 填入搜索源(`metaso`或`tavily`),并将对应的`API Key`填入配置项 +- 保存配置,再保存智能体配置 + +### 方式2. 单模块xiaozhi-server部署 + +在 `data/.config.yaml` 中配置: + +- 将搜索源填入 `provider`,可选值为 `metaso` 或 `tavily` +- 将申请到的API Key填入 `api_key` + +```yaml +plugins: + web_search: + provider: "metaso" + api_key: "你的API Key" +``` + +如需自定义返回结果数量和工具描述,可额外配置 `max_results` 和 `description`: + +```yaml +plugins: + web_search: + provider: "metaso" + description: "联网搜索工具。当用户明确需要联网搜索问题时使用此工具。" + max_results: 5 + api_key: "你的API Key" +``` + +同时在 `functions` 列表中确保已启用 `web_search`: + +```yaml +plugins: + functions: + - web_search +``` + +配置完成后重启服务即可生效。