docs: 更新 README,补全三种模式和 Agent 文档
This commit is contained in:
parent
26bf147adf
commit
6b9db7ce48
88
README.md
88
README.md
@ -1,21 +1,33 @@
|
||||
# VoiceInput
|
||||
|
||||
macOS 菜单栏语音输入应用 —— 按住 Fn 键录音,松开自动注入文本。
|
||||
macOS 菜单栏语音输入应用 —— 按住 Fn 键录音,AI 帮你处理。
|
||||
|
||||
## 功能
|
||||
|
||||
- 🎤 **按住 Fn 说话**:全局监听 Fn/Globe 键,按下录音,松开注入
|
||||
- 📝 **流式识别**:Apple Speech Recognition 实时转录,默认简体中文
|
||||
### 三种模式(双击 Control 切换)
|
||||
|
||||
| 模式 | 图标 | 功能 |
|
||||
|------|------|------|
|
||||
| **Input** 语音输入 | 🎤 | 语音转文字 + LLM 纠错 → 注入光标 |
|
||||
| **Assist** AI 助手 | 💬 | 语音提问 → AI 回复(弹窗 + 可选朗读) |
|
||||
| **Agent** 智能体 | 🤖 | 多轮对话 + 工具调用(文件读写/命令执行/搜索) |
|
||||
|
||||
### 其他亮点
|
||||
|
||||
- 🎤 **按住 Fn 说话**:全局监听,长按录音松开注入
|
||||
- 📝 **流式识别**:Apple Speech Recognition 实时转录
|
||||
- 🌐 **多语言**:简中 / 繁中 / English / 日本語 / 한국어
|
||||
- 🎚 **实时波形**:5 条 RMS 驱动的球形波动画,说话时随音量跳动
|
||||
- 🪟 **胶囊浮动窗**:屏幕底部居中,无边框,入场弹簧动画
|
||||
- 📋 **智能注入**:剪贴板 + Cmd+V,自动检测并切换 CJK 输入法
|
||||
- 🤖 **LLM 纠错**:DeepSeek 优化识别结果,修正同音字 / 拼写 / 术语
|
||||
- 🪟 **刘海弹窗**:AI 回复在 DynamicNotch 弹窗展示,支持复制
|
||||
- 🔊 **语音朗读**:macOS 原生 TTS 朗读 AI 回复(Assist/Agent 可独立开关)
|
||||
- 🎚 **实时波形**:5 条 RMS 驱动的球形波动画
|
||||
- 📋 **智能注入**:自动检测并切换 CJK 输入法
|
||||
- 🔧 **Agent 工具**:读写文件、执行命令、搜索文件、网络搜索等
|
||||
|
||||
## 系统要求
|
||||
|
||||
- macOS 14+
|
||||
- 辅助功能权限(监听 Fn 键)
|
||||
- 输入监控权限(Fn 键长按检测)
|
||||
- 麦克风权限
|
||||
- 语音识别权限
|
||||
|
||||
@ -24,47 +36,69 @@ macOS 菜单栏语音输入应用 —— 按住 Fn 键录音,松开自动注
|
||||
```bash
|
||||
make build # 编译 + 生成 .app
|
||||
make run # 构建并启动
|
||||
make dmg # 生成分发包(自动清空 API Key)
|
||||
```
|
||||
|
||||
首次运行需在 **系统设置 → 隐私与安全性 → 辅助功能** 中授权 `VoiceInput.app`。
|
||||
首次运行需授权**辅助功能**和**输入监控**两个系统权限。
|
||||
|
||||
## 使用
|
||||
|
||||
1. 点击任意文本输入框
|
||||
2. 按住键盘左下角 **Fn / 🌐 键**
|
||||
3. 说话,胶囊窗口显示实时转录
|
||||
4. 松开 Fn → 文本自动粘贴到光标位置
|
||||
2. 双击 **Control** 切换到想要模式
|
||||
3. 按住键盘左下角 **Fn / 🌐 键**
|
||||
4. 说话,胶囊窗口显示实时转录
|
||||
5. 松开 Fn → 文本注入(Input)/ AI 回复弹窗(Assist/Agent)
|
||||
|
||||
点击菜单栏 🎤 图标可切换语言或配置 LLM。
|
||||
点击菜单栏图标可切换语言、模式或配置 LLM。
|
||||
|
||||
## 三种模式详解
|
||||
|
||||
### Input(语音输入)
|
||||
语音转文字 → LLM 纠错(可选)→ 注入光标。适合日常输入。
|
||||
|
||||
### Assist(AI 助手)
|
||||
语音提问 → LLM 回复。可选择**直接注入**或**刘海弹窗**展示。
|
||||
弹窗模式下可开启**朗读**,AI 回复自动语音播报。
|
||||
|
||||
### Agent(智能体)
|
||||
语音/文字 → 多轮对话 → 工具调用(文件读写、命令执行、搜索等)→ 流式输出。
|
||||
任务完成后可选**朗读**最终结果。内置 Node.js 运行时,无需额外安装。
|
||||
|
||||
## 配置
|
||||
|
||||
| 模块 | 配置方式 | 存储位置 |
|
||||
|------|---------|---------|
|
||||
| Input LLM | 菜单栏 `🎤 Input LLM` → Settings | UserDefaults |
|
||||
| Assist LLM | 菜单栏 `💬 Assist LLM` → Settings | UserDefaults |
|
||||
| Agent LLM | 菜单栏 `🤖 Agent LLM` → Settings | `~/Library/Application Support/VoiceInput/models.json` |
|
||||
|
||||
Agent 支持多模型配置,在 Settings 中添加/编辑/删除。覆盖安装不会丢失配置。
|
||||
|
||||
## 构建
|
||||
|
||||
```bash
|
||||
make build # Debug 构建
|
||||
make release # Release 构建
|
||||
make run # 构建并启动
|
||||
make install # 安装到 /Applications
|
||||
make dmg # 签名 + 创建 DMG(自动清空 API Key)
|
||||
make clean # 清理
|
||||
```
|
||||
|
||||
## LLM 纠错
|
||||
|
||||
LLM 默认使用 DeepSeek,在菜单栏 **LLM Refinement → Enable** 开启。
|
||||
|
||||
| 配置项 | 默认值 |
|
||||
|--------|--------|
|
||||
| API Base URL | `https://api.deepseek.com` |
|
||||
| Model | `deepseek-v4-flash` |
|
||||
|
||||
设置窗口可修改 API Key 等配置,点击 **Test** 验证连通性。
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
Sources/
|
||||
├── App/ # AppDelegate + 菜单栏控制器
|
||||
├── Core/ # 按键监听、语音识别、音频电平、文本注入、输入法、LLM
|
||||
├── UI/ # 浮动窗口、波形动画、设置窗口
|
||||
└── Utils/ # 配置持久化
|
||||
├── App/ # AppDelegate + 菜单栏控制器
|
||||
├── Core/ # 按键监听、语音识别、LLM、Agent 桥接、弹窗管理
|
||||
├── UI/ # 浮动窗口、波形、设置面板、Agent 弹窗
|
||||
└── Utils/ # 配置持久化
|
||||
|
||||
Agent/ # Node.js CLI(智能体运行时)
|
||||
├── bin/node # 内置 Node.js(arm64)
|
||||
├── prompts/ # System prompt
|
||||
├── src/ # bridge.js + 工具实现
|
||||
└── node_modules/ # npm 依赖
|
||||
```
|
||||
|
||||
## 许可
|
||||
|
||||
Loading…
Reference in New Issue
Block a user