一、前言
在科技日新月异的今天,人工智能正以前所未有的速度改变着我们的生活方式。OmniSteward 作为一款基于大语言模型的全能 AI 管家系统,致力于打破人机交互的壁垒,为用户打造一个智能、高效、便捷的生活和工作环境。
二、项目概述
OmniSteward 是一个正在积极开发中的全能管家系统,它借助大语言模型的强大能力,实现了与用户的语音和文字交互,旨在帮助用户轻松控制智能家居设备以及管理电脑程序。该项目遵循 MIT License 开源协议。其具备诸多亮点,如支持多轮对话、可调用工具执行复杂任务、兼容多种 LLM 模型且拓展性强,用户能够方便地自定义和分享工具。

三、功能特性
- 多模态交互体验
- OmniSteward 提供了语音和文字两种交互模式。语音交互利用先进的语音识别技术,准确理解用户的语音指令;文字交互则为用户提供了精确表达复杂需求的途径。支持多轮对话功能,系统能够依据之前的对话内容和上下文,连续回答用户问题。
- 强大的功能集成
- 智能家居控制:与巴法云等平台对接,用户可通过语音或文字指令控制家中的灯光、电器、窗帘等设备。
- 电脑程序管理:轻松实现电脑程序的启动、关闭以及运行状态查看。
- 在线信息检索:借助 step_web_search 工具和 Kimi AI,用户能快速获取各类在线信息。
- 文件管理:支持文件检索、读写、压缩文件夹和列出文件夹内容等操作。
- 命令行操作:满足专业用户对命令行操作的需求,用户可通过语音或文字执行复杂的命令行任务。
- 模型灵活性与拓展性
- 支持多种大语言模型,用户可根据自身喜好和需求切换。同时,系统具有很强的拓展性,用户能够方便地自定义工具,还可以将其分享给其他用户。
四、技术架构
语音处理技术采用 pyaudio 和 sounddevice 等技术进行语音处理。pyaudio 负责音频的输入输出,sounddevice 则在音频设备管理方面发挥关键作用。 AI 模型应用集成了 Qwen2.5、BGE Reranker 和 Silero VAD 等先进模型。Qwen2.5 作为核心语言模型;BGE Reranker 用于优化搜索结果排序;Silero VAD 实现精准的语音活动检测。 Web 服务架构后端基于 Flask 框架构建 Web 服务,利用 zerorpc 实现高效的远程过程调用。 浏览器自动化技术运用 Selenium 实现浏览器自动化操作。 其他辅助技术requests 用于发送 HTTP 请求,beautifulsoup4 用于解析 HTML 和 XML 文档。
五、安装与使用
1、系统要求
确保您的设备已安装 Python 3.8 及以上版本。需安装 Chrome 浏览器,这是用于实现 Kimi AI 功能的必要组件。目前主要在 Windows 操作系统上进行了功能测试。
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 基础 URL
OPENAI_API_KEY=your_api_key # OpenAI 格式 API 密钥
SILICON_FLOW_API_KEY=your_api_key # Silicon Flow API 密钥
BEMFA_UID=your_bemfa_uid # 巴法云平台 UID(可选)
BEMFA_TOPIC=your_bemfa_topic # 巴法云平台 Topic(可选)
KIMI_PROFILE_PATH=path_to_chrome_profile # Chrome 用户数据目录(可选)
LOCATION=your_location # 你的地理位置(可选)
LLM_MODEL=your_llm_model # 使用的 LLM 模型,默认使用 Qwen2.5-7B-Instruct
备注:获取 OPENAI 格式的 API 密钥和 API 基础 URL 参见 大语言模型平台。
4、启动方式
OmniSteward 支持两种使用方式,即命令行模式(CLI)和 Web 模式。
4.1 命令行模式(CLI)
- 麦克风语音输入模式: 首先,启动 VAD(语音活动检测)服务:
python -m servers.vad_rpc
启动 VAD 服务后,新开一个命令行窗口,执行以下命令使环境变量生效并运行 CLI:
call examples\env.cmd python -m core.cli --config configs/cli.py
- 文字输入模式: 若您希望使用文字输入方式与 OmniSteward 交互,在配置好环境变量后,在命令行中输入:
call examples\env.cmd python -m core.cli --query"打开网易云音乐"--config configs/cli.py
- 简单添加自定义工具: 如果您想要添加自定义工具,可在命令行中输入:
call examples\env.cmd python -m core.cli --query"打印 你好"--config configs/cli_custom_tool.py
4.2 Web 模式
- 启动后端服务: 在项目根目录下,执行以下命令配置环境变量并启动后端服务:
call examples\env.cmd python -m servers.steward --config configs/backend.py
- 启动前端服务: 前端服务的启动请详见 OmniSteward - Frontend 项目的相关说明。
- 使用:
完成后端和前端服务的启动后,使用 Chrome/Edge 浏览器,打开
http://localhost:8000,即可开始使用 OmniSteward。如果需要在外网使用,由于 Chrome/Edge 默认禁止 HTTP 下的麦克风,您需要进行额外的设置。具体操作是,在浏览器地址栏中输入chrome://flags/#unsafely_treat_insecure_origin_as_secure,将其值设置为http://ip:port。
六、应用场景与未来展望
- 家庭生活场景:成为智能家居的控制中心。早晨可通过语音指令打开窗帘、播放音乐;晚上可控制灯光关闭、设置闹钟等。
- 办公学习场景:帮助用户快速启动办公软件、查找资料、管理文件。对于学生学习,可作为智能学习伙伴,解答学习问题、推荐学习资源。
- 未来发展趋势:随着技术的不断进步,OmniSteward 将在更多领域发挥重要作用。在智能家居方面,与更多设备深度集成;在智能健康领域,与健康监测设备结合提供健康建议。
七、结语
OmniSteward 作为一款充满潜力的全能 AI 管家系统,以其丰富的功能、先进的技术架构和广阔的应用前景,为我们展示了智能生活的美好画卷。尽管目前仍处于积极开发阶段,部分功能有待完善,但它已经迈出了坚实的步伐。
项目地址:https://github.com/OmniSteward/OmniSteward



