项目概述
OmniSteward 是一个基于大语言模型的开源全能管家系统,旨在通过语音和文字交互帮助用户控制智能家居设备及管理电脑程序。它支持多轮对话、工具调用及多种 LLM 模型切换,具备较强的拓展性。
功能特性
- 多模态交互:支持语音(VAD)与文字输入,适应不同场景。
- 智能家居控制:对接巴法云等平台,可控制灯光、电器等。
- 电脑程序管理:启动、关闭应用及查看后台进程。
- 信息检索与文件管理:结合搜索工具获取资讯,支持文件读写与压缩。
- 命令行操作:允许专业用户执行复杂命令。
技术架构
系统基于 Python 构建,核心组件包括:
- 语音处理:使用 pyaudio 和 sounddevice 进行音频采集与管理。
- AI 模型:集成 Qwen2.5 作为核心语言模型,配合 BGE Reranker 优化排序,Silero VAD 检测语音活动。
- Web 服务:后端采用 Flask 框架,通过 zerorpc 保障通信。
- 自动化:利用 Selenium 模拟浏览器行为,requests 和 beautifulsoup4 处理数据交互。
安装与使用
1. 环境准备
确保已安装 Python 3.8+ 及 Chrome 浏览器。目前主要测试环境为 Windows,Linux 和 Mac 兼容性待验证。
2. 安装依赖
克隆仓库并进入目录:
git clone https://github.com/OmniSteward/OmniSteward.git
cd OmniSteward
安装所需依赖:
pip install -r requirements.txt
3. 配置环境变量
编辑 examples/env.cmd 文件,设置以下关键变量:
OPENAI_API_BASE=your_api_base
OPENAI_API_KEY=your_api_key
SILICON_FLOW_API_KEY=your_api_key
BEMFA_UID=your_bemfa_uid
BEMFA_TOPIC=your_bemfa_topic
KIMI_PROFILE_PATH=path_to_chrome_profile
LOCATION=your_location
LLM_MODEL=Qwen2.5-7B-Instruct
注意:API 密钥需从相关大语言模型平台获取。
4. 启动方式
命令行模式 (CLI)
先启动 VAD 服务:
python -m servers.vad_rpc
新窗口运行 CLI:
call examples\env.cmd python -m core.cli --config configs/cli.py
若使用文字输入,可直接指定 query:
call examples\env.cmd python -m core.cli --query"打开网易云音乐"--config configs/cli.py
Web 模式
启动后端服务:
call examples\env.cmd python -m servers.steward --config configs/backend.py


