项目001:AI Voice Assistant — 零成本搭建本地智能语音问答系统
AI Voice Assistant — 零成本搭建本地智能语音问答系统基于 Ollama Cherry Studio 自动发现 Windows 本地 TTS一行命令启动零配置接入大模型。项目地址https://download.csdn.net/download/qq_36963950/93246520视频地址https://live.csdn.net/v/538844项目简介AI Voice Assistant是一个轻量级的智能语音问答演示系统。你输入文字问题AI 用文字 语音双重方式回答你——全程在你自己的电脑上运行无需联网 API不花一分钱。核心理念自动发现、零配置、即开即用。如果你已经安装了 Cherry Studio系统会自动读取其中配置的 Ollama / 云端模型无需手动填写任何 API Key。功能特性特性说明多后端自动切换Cherry Studio Ollama → CherryIN → 阿里百炼 → DeepSeek → SiliconFlow → Groq → OpenAI按优先级自动发现本地 TTS 合成基于 Windows SAPI5支持多种音色慧慧中文女声 / Zira 英文女声等️语速调节0.5x ~ 2.0x 实时调节朗读速度多轮对话自动维护会话上下文最多保留 20 轮历史专业深色 UIGitHub 风格暗色主题响应式布局适配桌面端零配置启动自动读取 Cherry Studio 本地配置无需手动设置环境变量技术架构┌──────────────────────────────────────────────────┐ │ Browser (index.html) │ │ Chat UI Audio Playback │ └──────────────────────┬───────────────────────────┘ │ HTTP REST API ┌──────────────────────▼───────────────────────────┐ │ server.py (Flask) │ │ ┌─────────────┐ ┌──────────────┐ ┌────────┐ │ │ │ /api/ask │ │ /api/voice │ │/api/… │ │ │ └──────┬──────┘ └──────────────┘ └────────┘ │ │ │ │ │ ┌──────▼──────┐ ┌──────────────────┐ │ │ │ llm_client │ │ tts_worker.py │ │ │ │ 对话管理 │ │ (子进程 WAV合成) │ │ │ └──────┬──────┘ └──────────────────┘ │ └──────────┼───────────────────────────────────────┘ │ ┌──────────▼───────────────────────────────────────┐ │ config.py │ │ ┌─────────────────┐ ┌───────────────────┐ │ │ │ Cherry Studio │ │ 环境变量手动配置 │ │ │ │ LevelDB 自动发现 │ │ (多后端降级选择) │ │ │ └────────┬────────┘ └─────────┬─────────┘ │ └────────────┼──────────────────────┼──────────────┘ │ │ ┌──────▼──────┐ ┌─────────▼─────────┐ │ Ollama/WSL │ │ DeepSeek / Groq / │ │ (本地模型) │ │ SiliconFlow / ... │ └─────────────┘ └───────────────────┘模块职责config.py— 配置中心自动解析 Cherry Studio 的 LevelDB 数据提取已配置的 ProviderAPI Key、Host、Model。同时管理所有手动配置的后端按优先级检测可用后端。llm_client.py— LLM 客户端封装 Ollama 原生 API 和 OpenAI 兼容 API 的调用逻辑内建线程安全的会话历史管理内存存储重启重置。server.py— Flask 服务入口提供 REST API/api/ask、/api/health、/api/voices、/api/reset通过子进程调用tts_worker.py完成语音合成。tts_worker.py— TTS 子进程独立进程运行避免 pyttsx3 的 COM 线程冲突。接收命令行参数输出 WAV 二进制数据。后端自动发现优先级系统启动时按以下顺序检测可用的 LLM 后端1. Cherry Studio → Ollama (WSL/本地) ← 当前使用 2. CherryIN (Cherry Studio 免费服务) 3. Cherry Studio → 阿里百炼 (DashScope) 4. Cherry Studio → 硅基流动 (SiliconFlow) 5. 阿里百炼 (手动环境变量) 6. DeepSeek (手动环境变量) 7. SiliconFlow (手动环境变量) 8. Groq (手动环境变量) 9. Ollama 直连 (localhost:11434) 10. OpenAI (手动环境变量)当前项目自动检测到 WSL 中的qwen2.5:0.5b模型通过 Cherry Studio 配置发现直接运行在本地完全免费。快速开始环境要求Windows 10/11Python 3.10WSL2 Ollama可选用于本地模型Cherry Studio可选用于自动发现配置1. 克隆/下载项目gitclonerepo-urlai-voice-assistantcdai-voice-assistant2. 安装依赖pipinstall-rrequirements.txt3. 可选配置 WSL Ollama在 WSL Ubuntu 中# 安装 Ollamacurl-fsSLhttps://ollama.com/install.sh|sh# 下载模型ollama pull qwen2.5:0.5b# 启动服务ollama serve4. 启动项目python server.py浏览器打开http://127.0.0.1:8899即可开始使用。提示如果已安装 Cherry Studio 并配置了 Ollama 或其他模型系统会自动发现无需任何额外配置API 接口接口方法说明/GET前端页面/api/healthGET健康检查返回 LLM 后端状态/api/voicesGET获取可用 TTS 音色列表/api/backendGET获取当前 LLM 后端详细信息/api/askPOST核心接口提问 → LLM回答 → TTS语音/api/resetPOST重置对话历史/api/ask请求体{question:你好请介绍一下自己,conv_id:main,voice:0,speed:1.0}/api/ask响应{answer:你好我是 AI Voice Assistant...,audio:UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwA...}为什么选择这个方案对比维度云端 API 方案本项目费用按 Token 计费完全免费隐私数据上传云端数据完全本地延迟网络往返 ~500ms-2s本地推理 ~200ms-1s离线可用❌✅ (Ollama 模式)配置复杂度需要注册、获取 Key零配置Cherry Studio 自动发现模型选择丰富受限于本地硬件本项目特别适合以下场景技术演示— 向团队展示 LLM TTS 的端到端集成个人助手— 离线可用的私有 AI 对话工具二次开发— 模块化设计可快速替换 LLM 后端或 TTS 引擎学习参考— 清晰的代码结构适合学习 Flask LLM 集成未来计划支持流式输出 (Server-Sent Events)实时显示 LLM 回答语音识别 (ASR) — 用语音输入代替文字输入多模态支持 — 图片识别 文件问答Docker 一键部署对话记录持久化存储 (SQLite)技术栈Python 3.10 Flask Web 服务 Ollama qwen2.5:0.5b LLM 推理 (WSL) pyttsx3 Windows SAPI5 TTS 语音合成 Cherry Studio LevelDB 配置自动发现 HTML5/CSS3 Vanilla JS 前端界面 (零框架)许可证MIT License写于 2026年8月 · 欢迎 Star ⭐

相关新闻

华凌N8HE1Ⅲ Pro空调深度解析:神机配置如何平衡性能与成本

华凌N8HE1Ⅲ Pro空调深度解析:神机配置如何平衡性能与成本

去年夏天,我帮一个朋友处理他出租屋的空调问题。那台老空调制冷慢、噪音大,电费还高得离谱。朋友抱怨说,每次租客一开空调,他就感觉自己的钱包在“滴血”。他问我,有没有一台空调,能让他这个房东装得安心&a…

2026/10/11 9:36:50 阅读更多 →
ROS2标定板aruco apriltag

ROS2标定板aruco apriltag

ROS2标定板aruco apriltag https://blog.csdn.net/wangmj_hdu/article/details/111233878 AprilTag标记跟踪 OpenMV中文入门教程 https://blog.csdn.net/sinat_16643223/article/details/137357584 https://docs.opencv.org/3.4/d5/d1f/calib3d_solvePnP.html 安装 dock…

2026/10/4 10:05:30 阅读更多 →
蓝白斑筛选技术原理与实验操作全解析:从LacZ基因到克隆筛选

蓝白斑筛选技术原理与实验操作全解析:从LacZ基因到克隆筛选

1. 项目概述:蓝白斑筛选,一个分子生物学家的“显色”魔法 在分子克隆实验室里,每天打交道最多的,除了各种酶和试剂,就是那些肉眼看不见的DNA片段。如何从成千上万个重组子中,快速、准确地找到那个插入了目标…

2026/10/11 4:07:40 阅读更多 →

最新新闻

office ppt上面没有mathtype 插件,就会导致下面错误?

office ppt上面没有mathtype 插件,就会导致下面错误?

office ppt上面没有mathtype 插件,就会导致下面错误? 🎯 该报错和MathType插件缺失的关联结论 这个弹窗提示的错误,‌有可能是PPT里原本嵌入的MathType公式,在当前环境没有MathType插件时触发的,但它并不是MathType缺失的专属报错‌,还有很多其他场景也会弹出完全相同…

2026/10/11 9:36:44 阅读更多 →
论文初稿被批太水?师姐安利这几个AI论文写作软件

论文初稿被批太水?师姐安利这几个AI论文写作软件

写论文总是被说“太水”?选题难、逻辑乱、文献少、格式错,这些问题在学术路上几乎人人都遇到过。其实,关键不在于天赋,而在于方法——用对AI工具走对流程,效率和质量都能大幅提升。资深教授也普遍推荐:千笔…

2026/10/11 9:36:44 阅读更多 →
DeepSeek大模型本地部署与调优实战:从MoE架构到性能优化

DeepSeek大模型本地部署与调优实战:从MoE架构到性能优化

简介:这是一份聚焦DeepSeek大模型技术解析的入门宝典,面向自然语言处理研究人员、人工智能应用开发者与企业技术决策者,系统梳理了DeepSeek公司从成立到R1发布的完整脉络。文档不仅介绍R1高性能推理、完全开源和低成本三大特点,还…

2026/10/11 9:36:44 阅读更多 →
REA模型实战:用事件驱动建模解决订单库存财务对账难题

REA模型实战:用事件驱动建模解决订单库存财务对账难题

如果你维护过订单、库存、财务这三个模块,多半遇到过这种经典场面:同一个业务动作,在订单系统里是一条记录,在仓库那边变成一张出库单,传到财务又得手工生成一张记账凭证。数据从上游流到下游,口径已经在层…

2026/10/11 9:36:44 阅读更多 →
自建技能管理系统:从数据模型到状态机的完整实践

自建技能管理系统:从数据模型到状态机的完整实践

1. 为什么自建技能管理系统,而非直接用一个App最近在复盘自己这一年的学习路径时,我翻遍了手机里的打卡软件、笔记软件和备忘录,发现一个挺尴尬的事实:技能点散落得到处都是。今天在这个App里记了几条英语学习记录,明天…

2026/10/11 9:36:44 阅读更多 →
【单片机课设毕设项目】基于物联网的居室空气质量监测与自动通风补光系统设计 基于单片机的室内环境综合参数检测与手机端告警装置设计(030125)

【单片机课设毕设项目】基于物联网的居室空气质量监测与自动通风补光系统设计 基于单片机的室内环境综合参数检测与手机端告警装置设计(030125)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/10/11 9:35:44 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →