语音输入与智能意图识别系统
- 全局监听右侧 Ctrl 键,触发语音输入
- 智能语音转文字(基于智谱AI ASR)
- 意图识别与函数调用(基于GLM function calling)
- 可配置的角色和提示词
- 跨平台支持(Linux)
- 按键监听: 全局捕获按键事件
- 音频采集: 实时录制麦克风输入
- IPC服务: 进程间通信
- ASR客户端: 调用语音识别API
- 意图识别: 理解用户意图
- 功能执行: 执行系统命令和应用
# 克隆或下载项目后,运行:
./install_deps.sh # 安装系统依赖
./build.sh # 编译并运行# 自动检测Linux发行版并安装所需依赖
./install_deps.sh
# 支持的发行版:Ubuntu/Debian/CentOS/RHEL/Fedora/Arch Linux编辑 config/config.yaml,填入您的智谱AI API密钥:
asr:
api_key: "your_zhipu_api_key_here"
glm:
api_key: "your_zhipu_api_key_here"# 编译并运行
./build.sh
# 或者分别执行
./build.sh --no-run # 只编译
./run.sh start # 运行系统# 启动系统
./run.sh start
# 停止系统
./run.sh stop
# 查看状态
./run.sh status
# 查看日志
./run.sh logs- 按住右侧 Ctrl 键
- 说话
- 松开按键,系统自动识别并执行
在 config/config.yaml 中可以配置不同的AI角色:
roles:
assistant:
name: "智能助手"
prompt: "你是一个专业的AI助手..."
functions: ["search", "calculate", "translate"]
programmer:
name: "程序员"
prompt: "你是一个资深程序员..."
functions: ["code_review", "debug"]定义语音命令和对应的功能:
intents:
open_app:
keywords: ["打开", "启动", "运行"]
function: "execute_command"
search:
keywords: ["搜索", "查找"]
function: "web_search"security:
allow_system_commands: true
allowed_commands: ["ls", "cd", "cat"] # 留空表示允许所有命令- "打开浏览器" - 启动默认浏览器
- "搜索 Python 教程" - 打开搜索结果
- "翻译 Hello 到中文" - 翻译文本
- "计算 2+2*3" - 数学计算
- "执行 ls -la" - 运行系统命令
确保当前用户有权限访问音频设备:
sudo usermod -a -G audio $USER确保X11服务器正在运行,或者使用xhost +允许本地连接。
检查麦克风是否正常工作:
arecord -D plughw:0,0 -d 5 test.wav
aplay test.wav- Phase 1: 基础架构
- Phase 2: 核心功能
- Phase 3: 优化完善
- Phase 4: 打包发布
欢迎提交Issue和Pull Request!
MIT License