Releases: haoyn231/xiaozhi_linux_rs
Release list
v0.4.1
What's Changed
- 添加 GUI 适配相关文档
- 修复与 GUI 通信时的消息发送逻辑
已实现的功能
-
✓ 音频处理
- 支持 I2S 声卡和 USB 声卡
- ALSA 实时音频采集与播放
- Opus 音频编码(16kHz、PCM16)与解码
- SpeexDSP 实时处理(降噪、AGC、重采样)
- 支持自定义音频设备配置,参考音频设备配置说明
-
✓ 云端交互与协议
- WebSocket 全双工长连接与心跳保活
- 设备鉴权认证与 Hello 握手
- TTS(文本转语音)、STT(语音转文字)、IoT 控制指令
-
✓ 设备管理
- 自动设备激活与绑定
- 设备身份持久化(Client ID、Device ID)
- 状态机管理(空闲、聆听、处理、说话、网络错误)
-
✓ GUI 交互
- 基于 UDP 的轻量级进程间通信(IPC)
- 实时状态同步(聆听、处理、说话、空闲等)
- 云端 TTS 文本播报同步
- 灵活的解耦架构,支持对接独立 GUI 进程,参考GUI 适配说明
-
✓ 配置系统
- TOML 文件配置加载
- 运行时参数持久化
- 环境变量覆盖
-
✓ MCP 扩展能力
- 解耦的 MCP 网关设计,支持外部工具动态集成
- 标准 JSON-RPC 消息处理与工具生命周期管理
- Subprocess、HTTP、TCP 多种通信方式
- sync 和 background 两种模式
- 支持动态工具配置,修改后无需重新编译,参考MCP 功能说明
- 提供多种 MCP 示例,参考
examples目录
部署说明
Release 中分发的二进制文件基于 GCC8.3 构建,无法在 glibc 版本低于 2.28 的系统上运行,低于 2.28 的系统请参照编译脚本自行编译。其中 uclibc 的二进制文件基于arm-rockchip830-linux-uclibcgnueabihf工具链构建,uclibc 比较少见,目前只遇到过 rv1103/rv1106 使用,如后续遇到其他 vendor 的 uclibc 系统,欢迎提交 issue。
开源协议与分发说明
本项目核心代码采用 MIT 协议开源。项目依赖的音频组件(ALSA 相关库)基于 LGPL 协议。
鉴于开源协议限制,本项目分发的静态链接二进制文件仅建议用于测试与评估。若您计划对本项目进行二次开发或商业分发,请务必遵循 LGPL 协议规范(例如:采用动态链接方式,或开源您的衍生作品)。开发者需自行承担因违反开源协议而产生的法律风险,本项目不承担任何连带责任。
v0.4.0
Release 发布说明
新特性
-
✨ 丰富 MCP 拓展能力
- 解耦的网关设计:程序仅作为 MCP 网关,负责与云端大模型的 JSON-RPC 消息交互、协议解析及工具生命周期管理。
- 配置即生效:支持动态工具配置,修改
xiaozhi_config.json并重启程序即可生效,无需重新编译主程序。 - 多传输协议支持:支持 Subprocess(子进程)、HTTP 和 TCP Socket 三种传输方式,可通过配置灵活切换。
- 双执行模式:
- Sync(对话级同步):等待工具执行完成,结果直接返回给大模型(适用于耗时短的工具)。
- Background(对话级异步):后台执行任务,立刻返回大模型以维持对话流畅性(适用于长耗时工具)。
- 统一超时与纯异步非阻塞:所有工具调用均有超时保护(默认 5000ms),底层基于
tokio异步运行时,防止外部脚本假死阻塞系统。 - 详见 MCP 功能说明文档
- 在
examples目录下增加 MCP 拓展的示例
-
移除 musl 构建支持,新增 uClibc 构建支持
-
规范 release 和 tag 发布方式
当前尚处于架构探索期,会有很多功能更新和迭代,并不稳定,因此 tag 采用v0.x.x 的方式发布,待整体功能趋于稳定后,会采用 v1.x.x 的方式发布。
部署说明
Release 中分发的二进制文件基于 GCC8.3 构建,无法在 glibc 版本低于 2.28 的系统上运行,低于 2.28 的系统请参照编译脚本自行编译。其中 uclibc 的二进制文件基于arm-rockchip830-linux-uclibcgnueabihf工具链构建,uclibc 比较少见,目前只遇到过 rv1103/rv1106 使用,如后续遇到其他 vendor 的 uclibc 系统,欢迎提交 issue。
开源协议与分发说明
本项目核心代码采用 MIT 协议开源。项目依赖的音频组件(ALSA 相关库)基于 LGPL 协议。
鉴于开源协议限制,本项目分发的静态链接二进制文件仅建议用于测试与评估。若您计划对本项目进行二次开发或商业分发,请务必遵循 LGPL 协议规范(例如:采用动态链接方式,或开源您的衍生作品)。开发者需自行承担因违反开源协议而产生的法律风险,本项目不承担任何连带责任。
v1.2.0
新特性
- ✨ MCP 扩展能力正式实现
- 解耦的 MCP 网关设计,支持外部工具动态集成
- 标准 JSON-RPC 消息处理与工具生命周期管理
- 通过 stdin/stdout 与外部脚本通信
- 支持动态工具配置,修改配置文件后无需重新编译主程序即刻生效
- 详见 MCP 功能说明文档
部署说明
Release 中分发的 GNU ABI 二进制文件基于 GCC8.3 构建,无法在 glibc 版本低于 2.28 的系统上运行,低于 2.28 的系统请参照编译脚本自行编译。
非必要不建议用基于 musl 构建的二进制,因为涉及底层 alsa 交互,如果设备的 alsa 使用 pipewire 作为后端,则 musl 构建的二进制无法链接对应的 alsa-plugins 库,导致无法使用。
开源协议与分发说明
本项目核心代码采用 MIT 协议开源。项目依赖的音频组件(ALSA 相关库)基于 LGPL 协议。
鉴于开源协议限制,本项目分发的静态链接二进制文件仅建议用于测试与评估。若您计划对本项目进行二次开发或商业分发,请务必遵循 LGPL 协议规范(例如:采用动态链接方式,或开源您的衍生作品)。开发者需自行承担因违反开源协议而产生的法律风险,本项目不承担任何连带责任。
v1.1.1
新特性
- 修复 musl 版本不能使用 default 音频设备的问题
- 添加 armv7-unknown-linux-gnueabihf 和 aarch64-unknown-linux-gnu 交叉编译支持,并发布基于 GCC8.3 编译的二进制文件,其中,alsa 为动态链接,opus 和 speexdsp 为静态链接
部署说明
Release 中分发的 GNU ABI 架构的二进制文件基于 GCC8.3 构建,无法在 glibc 版本低于 2.28 的系统上运行,低于 2.28 的系统请参照编译脚本自行编译。
非必要不建议用基于 musl 构建的二进制,因为涉及底层 alsa 交互,如果设备的 alsa 使用 pipewire 作为后端,则 musl 构建的二进制无法链接对应的 alsa-plugins 库,导致无法使用。
开源协议与分发说明
本项目核心代码采用 MIT 协议开源。项目依赖的音频组件(ALSA 相关库)基于 LGPL 协议。
鉴于开源协议限制,本项目分发的静态链接二进制文件仅建议用于测试与评估。若您计划对本项目进行二次开发或商业分发,请务必遵循 LGPL 协议规范(例如:采用动态链接方式,或开源您的衍生作品)。开发者需自行承担因违反开源协议而产生的法律风险,本项目不承担任何连带责任。
Source Mirror
小智 Linux 客户端正式版 v1.0.0
已实现的功能
-
✓ 音频处理
- ALSA 实时音频采集与播放
- Opus 音频编码(16kHz、PCM16)与解码
- SpeexDSP 实时处理(降噪、AGC、重采样)
- 支持自定义音频设备配置,参考音频设备配置说明
-
✓ 云端交互与协议
- WebSocket 全双工长连接与心跳保活
- 设备鉴权认证与 Hello 握手
- TTS(文本转语音)、STT(语音转文字)、IoT 控制指令
-
✓ 设备管理
- 自动设备激活与绑定
- 设备身份持久化(Client ID、Device ID)
- 状态机管理(空闲、聆听、处理、说话、网络错误)
-
✓ 配置系统
- TOML 文件配置加载
- 运行时参数持久化
- 环境变量覆盖
待实现的功能
-
☐ IoT 与智能家居联动
-
☐ 本地离线唤醒与音频前端处理(AFE)
-
☐ MCP 扩展能力
暂不提供编译好的可执行文件,待解决音频相关 C 库静态链接后会提供 musl 的版本。
开源协议与分发说明:
本项目核心代码采用 MIT 协议开源。项目依赖的音频组件(ALSA 相关库)基于 LGPL 协议。
鉴于开源协议限制,本项目分发的静态链接二进制文件仅建议用于测试与评估。若您计划对本项目进行二次开发或商业分发,请务必遵循 LGPL 协议规范(例如:采用动态链接方式,或开源您的衍生作品)。开发者需自行承担因违反开源协议而产生的法律风险,本项目不承担任何连带责任。
Release v0.3.0
Release v0.2.0
What's Changed
- feat: 修改参数加载逻辑,第一次运行时基于默认参数生成配置文件,后续执行时从已有配置文件中读取,可以在部署环境中动态修改参数 by @haoruanwn in #1
New Contributors
- @haoruanwn made their first contribution in #1
Full Changelog: v0.1.0...v0.2.0
Release v0.1.0
Full Changelog: https://github.com/haoruanwn/xiaozhi_linux_core/commits/v0.1.0