Skip to content

code-100-precent/voicePilotCore

Repository files navigation

VoicePilotCore - 声驭智核

VoicePilotCore Logo

一款轻量化AI语音控制电脑助手

License: MIT Go Version React TypeScript

📚 快速导航

项目简介

VoicePilotCore(声驭智核)是一个轻量化AI语音控制电脑助手。通过集成先进的语音识别、自然语言处理和语音合成技术,使用大量的Function Tools包括办公三件套的处理,桌面应用控件树的脚本操作,应用管理,会议提醒,备忘录,多媒体控制,快捷键唤起等操作,实现语音控制桌面,自然对话AI辅助办公效力。

具体请查看 演示视频链接:https://b23.tv/eTMPpfT

🚀 快速开始

# 1. 克隆项目
git clone https://github.com/code-100-precent/voicePilotCore.git
cd voicePilotCore

# 2. 安装依赖
npm install
cd server && go mod download && cd ..

# 3. 配置文件
cp server/env.example server/.env
# 编辑 server/.env 配置 API Key 等

# 4. 启动服务
# 后端
cd server && go run ./cmd/server/main.go

# 前端(新终端)
npm run dev

详细安装步骤请查看 运行指南

选择议题二

基于大模型开发一个用语音对话的方式来控制你的电脑的应用,比如播放音乐、写一篇文章等,甚至让大模型能够组合这些能力实现复杂的场景。

议题问题回答:

1.你认为这个产品需要哪些功能?这些功能各自的优先级是什么?你计划本次开发哪些功能?

结合用户需求与技术可行性,我们认为需要覆盖以下相关的功能:

  1. 实现AI语音通话,包括单句对话和实时语音对话
  2. 快捷键唤起AI语音通话
  3. 播放音乐,多媒体控制(播放 / 暂停 / 切歌、调节音量、搜索听歌)
  4. 编写文章,文档操作(新建 / 保存文档、语音转文字写入、格式调整指令)
  5. 系统基础功能控制,系统基础控制(打开 / 关闭软件、调节屏幕亮度、搜索本地文件)
  6. 安装应用程序,实现应用控制
  7. 全局文本辅助提示,指令控制文本输入
  8. 会议提醒,通过AI语音预约会议并到点设置提醒
  9. AI语音设置备忘录TODO List,AI自动记录需要做的事情(桌面级会议助手)
  10. 办公三件套的创建,可以提供免费的文档模板辅助用户办公
  11. 智能桌宠OCR监控屏幕,实现监听实现自动操作
  12. 场景化任务组合(如 “打开 Word,新建‘周报’文档,写入上周核心工作内容框架”“打开浏览器搜索‘今日天气’,并将结果复制到备忘录”
  13. 根据应用的控件树自动操作应用的功能,或者结合OCR实现按钮操作,和自动化流程。
  14. 使用系统级别的指令编写,通过Terminal or PowerShell等去操作系统功能。

2. 功能优先级划分

  • P0(核心必做)
    • 实现AI语音通话,包括单句对话和实时语音对话
    • 播放音乐,多媒体控制(播放 / 暂停 / 切歌、调节音量、搜索听歌)
    • 快捷键唤起AI语音通话
    • 编写文章,文档操作(新建 / 保存文档、语音转文字写入、格式调整指令)
    • 系统基础功能控制,系统基础控制(打开 / 关闭软件、调节屏幕亮度、搜索本地文件)
    • 安装应用程序,实现应用控制
  • P1(重要待做)
    • 全局文本辅助提示,指令控制文本输入
    • 会议提醒,通过AI语音预约会议并到点设置提醒
    • AI语音设置备忘录TODO List,AI自动记录需要做的事情(桌面级会议助手)
    • 办公三件套的创建,可以提供免费的文档模板辅助用户办公
    • 智能桌宠OCR监控屏幕,实现监听实现自动操作
    • 场景化任务组合(如 “打开 Word,新建‘周报’文档,写入上周核心工作内容框架”“打开浏览器搜索‘今日天气’,并将结果复制到备忘录”
  • P2(未来规划)
    • 真正智能化精细操作, 可以使用控件树进行更加精细的操作,包括但不限于让AI帮忙打游戏,
    • 实现后台自动操作的完整辅助工具,并支持浏览器自动操作,包括自动操作DOM元素,自动爬取有用的知识,分析网页元素,实现桌面与浏览器皆可随意操作的复杂AI语音控制应用助手

3. 本次开发计划

聚焦 P0 级核心功能,具体包括:

  1. 实现AI语音通话,包括单句对话和实时语音对话
  2. 快捷键唤起AI语音通话
  3. 播放音乐,多媒体控制(播放 / 暂停 / 切歌、调节音量、搜索听歌)
  4. 编写文章,文档操作(新建 / 保存文档、语音转文字写入、格式调整指令)
  5. 系统基础功能控制,系统基础控制(打开 / 关闭软件、调节屏幕亮度、搜索本地文件)
  6. 安装应用程序,实现应用控制
  7. 全局文本辅助提示,指令控制文本输入
  8. 会议提醒,通过AI语音预约会议并到点设置提醒
  9. AI语音设置备忘录TODO List,AI自动记录需要做的事情(桌面级会议助手)
  10. 办公三件套的创建,可以提供免费的文档模板辅助用户办公
  11. 智能桌宠OCR监控屏幕,实现监听实现自动操作
  12. 场景化任务组合(如 “打开 Word,新建‘周报’文档,写入上周核心工作内容框架”“打开浏览器搜索‘今日天气’,并将结果复制到备忘录”

问题 2:你认为这个产品实现上的挑战是什么,你计划如何应对这些挑战?

1. 核心挑战梳理

挑战类别 具体描述
语音识别准确率不足 复杂环境(如办公室噪音、家庭电视声)下识别误差高;用户方言 / 口音(如川渝方言、粤语)导致文本转换偏差,进而影响大模型理解
大模型指令理解偏差 用户指令存在歧义(如 “打开音乐” 未说明打开哪个软件)、需求表述不完整(如 “写文档” 未说明主题 / 格式),导致大模型执行方向偏离
功能模块兼容性问题 不同电脑系统(Windows/macOS)、软件版本(如 Word 2019/365)对接接口差异大,可能出现 “在 A 系统能用,B 系统失效” 的情况
不同软件架构不同,使用控件树实现自动操作无法完美适配 不同的软件的架构,扫描得出的控件树结构是不同的,有些应用无法使用简单控件树的方式进行操作其元素实现复杂的功能
对于语音输入的实时操作,实现语音的打断和自动挂断 对于实时语音操作应用这种情况,对于语音合成的打断,会是比较麻烦的技术难点
实现复杂的操作应用的流程 对于复杂的应用流程操作,不同的软件无法完整的适配,对于不同的软件需要提前进行预设,似乎无法实现通用级别适配
实时提示与等待时间 tts过慢无法实时给出回应,用户不知道是什么情况就会持续的输入,导致整个流程的异常
复杂ai功能流程制作 对于要实现复杂的AI流程,或可类似与cursor那种复杂任务拆分并分阶段的执行,1.是流程制作的困难,2.是tts实时回应的困难

2. 应对方案

  • 语音识别准确率问题:选用支持实时降噪的语音识别 API(如阿里云语音识别、百度语音识别)或者使用本地部署的降噪模型等,同时在应用内增加 “识别结果预览” 功能 —— 用户语音输入后,先显示转换后的文本,确认无误再提交给大模型,减少识别误差传导;针对方言场景,优先适配主流方言(如粤语、四川话)的识别模型,后续通过用户反馈迭代补充。
  • 大模型指令理解偏差:设计 “指令校验机制”—— 大模型解析指令后,先通过语音 / 文本向用户确认 “是否要执行:打开网易云音乐并播放‘晴天’?”,避免歧义;针对不完整指令,预设追问模板(如用户说 “写文档”,自动追问 “请说明文档主题、格式(Word/Markdown)和保存路径”),确保需求明确。
  • 兼容性问题:采用 “分系统适配 + 主流软件优先” 策略 —— 先完成 Windows 10/11、macOS Ventura 及以上版本的核心功能适配,对接主流软件(网易云音乐、Office 2019+/365、Chrome 浏览器)的公开接口;开发时搭建多环境测试机,每完成一个功能模块,同步在不同系统 / 软件版本中测试,记录适配问题并针对性优化。
  • 不同软件架构不同,使用控件树实现自动操作无法完美适配: 针对不同的应用做专门的控件树操作脚本,也就是定制化操作,普通功能做全局适配,复杂功能做应用定制,或者可以设计应用适配插件机制,交给社区维护,然后设计插件下载即可适配更多的应用和功能
  • 对于语音输入的实时操作,实现语音的打断和自动挂断: 这里实现语音的打断和自动挂断可以通过监听,在语音服务或者语音调用的地方使用监听,当客户端或者监听处多少秒尚未有声音输入可以进行自动断开ws和webrtc的连接的方式实现自动的挂断,然后语音的打断的话也可以通过语音服务处监听的方式,如果后续有音频输入(复杂精细的话可以实时分析RTP音频流)实现自动的打断
  • 实时提示与等待时间: 这里可以在调用一些工具的时候添加提示音的方式,先给用户一个实时的回应,然后进行处理,处理完再把结果给用户,并且等待时间这里,如果生成了比较多的llm回复的话可以对文字进行分段tts,提高速度,当然如果是展示的话还可以继续优化,先返回文字,异步处理音频
  • 复杂ai功能流程制作: 这里可以使用多个Agent之间相互进行调用的方式,并且在第一步进行任务的拆分,智能拆分为需要todo list的复杂任务和一步到位的简单任务然后持续调用,并且使用通道将实时处理的数据反馈给用户观看。

问题 3:你计划采纳哪家公司的哪个 LLM 模型能力?你对比了哪些,你为什么选择用该 LLM 模型?

选择模型:DeepSeek-V3.1

模型 优势 劣势 适用场景
DeepSeek-V3.1 中文理解强
推理能力强
成本适中
API稳定
英文能力一般 中文对话、逻辑推理、代码生成
GPT-4 综合能力强
多语言支持
创意能力强
成本高
访问限制
创意写作、多语言应用
Claude-3 安全性高
长文本处理
分析能力强
中文能力一般
成本较高
长文档分析、安全敏感应用
通义千问 中文理解好
成本低
国内访问
能力相对较弱
稳定性一般
基础对话、简单问答

选择理由

技术优势
  • 中文理解能力 - DeepSeek-V3.1在中文理解方面表现优异,适合中文用户
  • 推理能力强 - 在逻辑推理和问题解决方面表现突出
  • 成本效益 - 相比GPT-4,成本更低,适合大规模部署
  • API稳定性 - 服务稳定,响应速度快,适合实时应用
业务优势
  • 本土化支持 - 对中文语境和文化理解更深入
  • 技术栈匹配 - 与我们的Go后端技术栈兼容性好
  • 扩展性强 - 支持Function Calling,便于集成外部功能
  • 维护成本低 - 国内服务商,技术支持及时

问题 4:你对这个产品有哪些未来规划中的功能?你为何觉得这些能力是重要的?

1. 未来规划功能清单

功能类别 未来功能描述
多模态交互增强 1. 视觉辅助理解:结合电脑摄像头,支持 “语音 + 视觉” 组合指令(如 “识别屏幕上的表格,提取数据生成 Excel”“圈选文档中的段落,语音指令修改格式”);2. 多轮对话记忆:大模型记忆用户历史指令习惯(如 “上次你说的‘常用文档路径’是桌面‘工作’文件夹”),无需重复说明
个性化定制 1. 用户角色适配:支持 “办公 / 学生 / 居家” 等角色切换(如办公角色默认优先对接 Office,学生角色优先对接笔记软件);2. 自定义指令库:用户可添加专属指令(如 “‘整理周报’= 打开 Word + 插入上周工作模板 + 语音录入内容”)
跨设备联动 1. 手机端控制电脑:通过手机 APP 语音输入指令,同步控制电脑执行(如出门时用手机指令 “关闭电脑所有软件并关机”);2. 智能设备联动:对接智能家居(如 “语音指令‘电脑播放电影’时,自动控制客厅灯光调暗”)
行业垂直版功能 1. 办公版:支持 “会议录音转文字 + 自动生成会议纪要 + 同步发送至企业邮箱”;2. 教育版:支持 “语音指令生成课件 PPT + 调用画图工具辅助教学演示”

2. 功能重要性分析

  • 多模态交互增强:纯语音交互存在 “信息传递局限”(如无法精准描述屏幕上的特定内容),视觉辅助可解决这一问题,让指令更精准;多轮对话记忆能减少用户重复操作,提升 “人机交互的流畅度”,符合用户对 “智能助手” 的核心期待。
  • 个性化定制:不同用户的电脑使用习惯差异大(如办公族常用 Office,学生常用笔记软件),角色适配与自定义指令库可让产品从 “通用工具” 变为 “贴合个人需求的专属工具”,显著提升用户粘性。
  • 跨设备联动:单一电脑端的控制场景有限,跨设备联动可拓展产品使用边界(如远程控制电脑、结合智能家居打造沉浸式场景),满足用户 “多场景无缝切换” 的需求,提升产品的综合价值。
  • 行业垂直版功能:通用版功能覆盖广但深度不足,行业垂直版可针对特定人群(如办公族、教师)的核心痛点提供解决方案,让产品从 “大众工具” 向 “专业助手” 升级,打开更广阔的应用场景。

三、功能模块清单

功能模块名称 核心功能描述 关键技术 / 依赖 开发优先级 预期交付物
1. 语音识别与大模型整合模块 实现语音输入采集、语音转文字(ASR)、文字转语音(TTS),并对接 LLM 大模型完成指令理解;使用 malgo 处理语音采集底层逻辑 - 语音采集:malgo 库- 语音交互:ASR/TTs 接口- 指令理解:选定的 LLM 模型(如通义千问 3.0) P0(核心必做) 1. malgo 语音采集核心代码(支持 Windows/macOS);2. ASR/TTs 接口对接封装包;3. LLM 指令理解调用代码;4. 语音识别准确率测试报告(含噪音 / 方言场景)
2. 系统软件控制模块 通过 Function Tools 定义标准化接口,实现语音指令对电脑软件的控制(如打开 / 关闭浏览器、调节音量、启动音乐软件) - 功能调用:Function Tools 框架- 软件对接:Windows/macOS 系统 API、目标软件公开接口 P0(核心必做) 1. Function Tools 接口定义文档;2. 3-5 个主流软件(如浏览器、音乐软件)的控制代码;3. 系统 API 调用权限适配方案;4. 软件控制功能测试用例(含成功 / 失败场景)
3. 组合命令实现模块 支持用户下达多步骤组合指令,自动拆解并按顺序执行(如 “打开 Word 新建文档,同时打开音乐软件播放轻音乐”) - 指令拆解:LLM 逻辑分析能力- 步骤调度:自定义任务调度算法- 执行校验:每步结果反馈机制 P1(重要待做) 1. 组合指令拆解算法代码;2. 任务调度器程序;3. 组合指令执行日志工具;4. 3 组典型组合指令(如办公 / 娱乐场景)的测试报告
4. Office 办公软件调用模块 专项对接 Word、PPT、Excel,实现语音控制文档新建 / 编辑、PPT 页面添加、Excel 数据录入与公式计算 - 办公软件对接:Office API(或 WPS API)- 格式处理:文档 / 表格 / 演示文稿格式解析库 P1(重要待做) 1. Office/WPS API 对接代码(覆盖 Word/PPT/Excel);2. 办公操作封装函数(如 “语音录入表格数据”“添加 PPT 标题页”);3. 文档格式兼容性测试报告;4. 办公场景指令示例手册
5. 手机端远程控制模块 开发手机端配套功能(如小程序 / APP),实现手机语音输入指令,远程控制电脑端应用执行操作 - 跨端通信:WebSocket/HTTP 协议- 指令同步:云端 / 本地局域网数据传输- 权限控制:手机 - 电脑配对校验 P2(未来迭代) 1. 手机 - 电脑跨端通信代码;2. 手机端基础控制 demo(小程序 / APP);3. 设备配对工具与说明文档;4. 远程通信稳定性测试报告(含局域网 / 外网场景)
6. 模糊场景处理模块 识别用户模糊指令并自动关联场景化操作(如用户说 “下班了”,自动触发 “打开音乐软件播放预设歌单”“关闭办公软件”) - 场景识别:LLM 场景语义匹配- 规则配置:预设场景 - 操作映射库- 自定义扩展:支持用户添加个性化模糊指令映射 P2(未来迭代) 1. 预设场景 - 操作映射库(含 5-8 个典型场景);2. 场景语义匹配代码;3. 用户自定义场景配置界面;4. 模糊指令识别准确率测试报告
7. AI 追问机制模块 当用户语音指令信息不全(如 “打开文档” 未说明文档名称 / 路径)时,AI 自动生成追问话术(如 “您想打开的是哪个文档?是否在桌面路径下?”),确认需求后执行 - 语义判断:LLM 指令完整性分析- 话术生成:预设追问模板库- 交互闭环:语音 / 文本追问 + 用户回复接收 P1(重要待做) 1. 指令完整性判断逻辑代码;2. 追问话术模板库(覆盖 10 + 类不全指令场景);3. 追问 - 回复交互闭环代码;4. 追问机制误判率(漏追问 / 过度追问)测试报告

我们认为这些功能重要的原因:

  1. 就AI语音领域来说,重要的功能包括:降噪处理,实时性(语音中最容易感知到的就是实时性处理这一块),还有AI对于语音的信息这里块,没有打字说明的那么详细,所以对于模糊场景的处理尤为重要,需要更加偏向生活中的处理,可能需要映射什么的
  2. 远程控制,我们希望这个工具也可以针对于开发者,在AI运维层面,使用AI语音远程监控我们的服务器,如果有问题可以让AI呼出给我,实时处理降低损失,或者我呼入给AI让它帮我操作服务器,实现简单功能AI一键处理
  3. 对于办公人来说Office办公三件套,我希望能够不用我自己制作模板,我作为打工人微调以下文档就可以解决问题,在我还在翻找模板的时候,一句话让AI帮我制作岂不更好
  4. 对于AI语音的对话,我要每次都点点点才能打开多麻烦,如果使用快捷键就可以,就能像使用Ctrl + C,Ctrl + V一样的随心所欲的控制了,做一个电脑版的Sari
  5. 对于文件,处理场景的适配也是我们需要关注的目标,特别是windows上操作文件,如果有一个智能的Everything这样的软件,自动帮我找到和打开就好了。

技术栈

前端技术

  • React 18.2.0 - 现代化用户界面框架
  • TypeScript 5.2.2 - 类型安全的JavaScript
  • Tauri 2.0 - 跨平台桌面应用框架
  • Tailwind CSS - 实用优先的CSS框架
  • Framer Motion - 动画库
  • Zustand - 状态管理
  • React Router - 路由管理w

后端技术

  • Go 1.25.1 - 高性能后端语言
  • Gin - Web框架
  • GORM - ORM框架
  • WebRTC - 实时通信
  • WebSocket - 双向通信
  • Redis - 缓存和会话存储

AI和语音技术

  • OpenAI DeepSeek-V3.1 - 大语言模型
  • 阿里云百炼 - 知识库和AI服务
  • 七牛云 - 语音识别和合成
  • 讯飞语音 - 语音处理服务

快速开始

1. 环境要求

  • Node.js 20+
  • Go 1.21+
  • Rust
  • Git

2. 克隆项目

git clone https://github.com/code-100-precent/voicePilotCore.git
cd voicePilotCore

2. 安装依赖

# 前端依赖
npm install

# 后端依赖
cd server
go mod download
cd ..

3. 配置文件

# 复制环境变量模板
cp server/env.example server/.env

# 编辑配置文件
# 至少需要配置: LLM_API_KEY, SESSION_SECRET

4. 启动服务

# 启动后端 (在 server 目录)
cd server
go run ./cmd/server/main.go

# 启动前端 (在项目根目录)
npm run tauri:dev

# 启动终端项目
wails dev

5. 访问应用

最小配置

编辑 server/.env:

APP_ENV=development
MODE=dev
ADDR=:8080

DB_DRIVER=sqlite
DSN=./pilotCore.db

LLM_API_KEY=your-openai-api-key
LLM_MODEL=gpt-4

SESSION_SECRET=your-random-secret-key

其他运行方式

桌面应用 (Tauri)

# 开发模式
npm run tauri:dev

# 构建
npm run tauri:build

Docker 部署

# 构建镜像
docker build -t voicepilotcore .

# 运行容器
docker run -p 8080:8080 voicepilotcore

常见问题

端口被占用

修改 server/.env 中的 ADDR 端口号

依赖安装失败

# 清理并重装
npm cache clean --force
rm -rf node_modules package-lock.json
npm install

VoicePilotCore 是一个智能语音控制电脑助手,包含三个主要部分:

  1. 后端服务 (Go + Gin)
  2. 桌面端应用 (Tauri + React)
  3. 终端应用 (Wails + Vue)

整体架构

架构图

整体架构

局部架构

graph TB
    subgraph "客户端层"
        D[Tauri 桌面应用]
        T[Wails 终端应用]
    end
    
    subgraph "后端服务"
        S[Go 后端服务]
    end
    
    subgraph "核心引擎"
        LLM[LLM 引擎]
        V[语音引擎]
        E[执行引擎]
    end
    
    D --> S
    T --> S
    S --> LLM
    S --> V
    S --> E
Loading

第一部分:后端架构

graph LR
    H[Handler] --> S[Service]
    S --> LLM[LLM]
    S --> T[Tools]
    LLM --> E[Executor]
    E --> TG[Task Manager]
Loading
核心模块
  • Handler: API 请求处理
  • Service: 业务逻辑
  • LLM: 大模型集成 (DeepSeek)
  • Tools: Function Tools (系统控制/文件操作)
  • Executor: 智能执行器
  • Task Manager: 任务编排

第二部分:桌面端架构

graph TB
    UI[React UI] --> API[Tauri API]
    API --> BACKEND[后端服务]
Loading

第三部分:终端架构

graph TB
    V[Vue UI] --> W[Wails API]
    W --> G[Go Core]
Loading

数据流

工作流程图

工作流

语音通信流程

WebRTC 通信

桌面宠物交互流程

桌面宠物交互

Mermaid 序列图

sequenceDiagram
    U->>C: 语音输入
    C->>S: 发送请求
    S->>LLM: 分析意图
    LLM->>S: 返回结果
    S->>T: 执行操作
    T->>S: 返回结果
    S->>C: 返回响应
    C->>U: 语音输出
Loading

团队分工

成员介绍

  • 陈挺 - 整体架构设计与核心前后端开发
  • 王悦然 - 后端模块与 Function Tools 开发
  • 赵双 - Office 三件套 LLM 操作工具与后端基础模块

具体分工

陈挺

负责模块

  • 整体架构设计与技术选型
  • 前后端联调与集成
  • AI 通话功能实现
  • Function Tools 核心框架设计
  • WebRTC 实时语音通信
  • 桌面端应用开发

主要贡献

  • 项目整体架构设计
  • 前后端通信协议设计和多种AI语音通话方式的实现
  • LLM 集成与调用逻辑
  • 语音识别与合成集成
  • 桌面宠物功能开发

王悦然

负责模块

  • Go 后端核心模块开发
  • Function Tools 具体实现
  • 系统控制相关工具
  • 多媒体控制功能
  • 文件操作工具
  • 终端应用开发

主要贡献

  • 后端服务架构实现
  • Function Tools 体系设计
  • 系统 API 集成与封装
  • 终端应用功能开发
  • 任务调度与编排

赵双

负责模块

  • Office 三件套(Word/Excel/PowerPoint)LLM 操作工具
  • 后端基础模块开发
  • 文档处理与格式化
  • 模板管理功能
  • 文件 I/O 操作

主要贡献

  • Office 文档处理工具开发
  • Word/Excel/PPT 的操作封装
  • AI 辅助文档生成功能
  • 模板系统设计与实现
  • 文件存储与管理

协作方式

graph LR
    CT[陈挺<br/>架构/前后端/AI通话] --> JS[赵双<br/>Office工具/基础模块]
    CT --> WYR[王悦然<br/>Function Tools/后端模块]
    WYR --> JS
    
    style CT fill:#4CAF50
    style WYR fill:#2196F3
    style JS fill:#FF9800
Loading

联系我们


About

welcome to our project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors