- 新增 PermissionGuideWindow 替代 NSAlert 权限引导 - 辅助功能用 AXIsProcessTrusted() 实时检测 - 输入监控因 macOS 15 API 限制标记为手动确认 - 每项权限有「打开设置」按钮跳转系统设置页 - 轮询刷新,辅助功能就绪后可关闭窗口启动 |
||
|---|---|---|
| Agent | ||
| Dependencies/DynamicNotchKit | ||
| scripts | ||
| skills | ||
| Sources | ||
| .gitignore | ||
| agents-md-writer.skill | ||
| AGENTS.md | ||
| Makefile | ||
| Package.swift | ||
| README.md | ||
| VoiceInput-20260425.dmg | ||
VoiceInput
macOS 菜单栏语音输入应用 —— 按住 Fn 键录音,AI 帮你处理。
功能
三种模式(双击 Control 切换)
| 模式 | 图标 | 功能 |
|---|---|---|
| Input 语音输入 | 🎤 | 语音转文字 + LLM 纠错 → 注入光标 |
| Assist AI 助手 | 💬 | 语音提问 → AI 回复(弹窗 + 可选朗读) |
| Agent 个人助手 | 🤖 | Better Siri — 多轮对话 + 记忆系统 + 工具调用 + 流式输出 |
Agent 个人助手亮点
- 🧠 记忆系统:自动记住你的偏好、习惯、待办,跨对话持久化
- 🖥 Mac 原生集成:充分利用 osascript、系统命令等 macOS 能力
- 🎤⌨️ 统一弹窗:语音/打字输入使用同一刘海界面,按 Fn 即弹出
- 📝 语音自动发送:说话内容自动填入输入框并发送(可关闭)
- 💬 对话持久化:对话自动保存,启动时恢复;token 计数跟踪
- 🔄 自动新建对话:token 超限时自动开启新对话(阈值可配)
- ⚙️ 可定制身份:设置 AI 助手名字、语气、对你的称呼
- 🔧 工具调用:读写文件、执行命令、网络搜索等
其他亮点
- 🎤 按住 Fn 说话:全局监听,长按录音松开注入
- 📝 流式识别:Apple Speech Recognition 实时转录
- 🌐 多语言:简中 / 繁中 / English / 日本語 / 한국어
- 🪟 刘海弹窗:AI 回复在 DynamicNotch 弹窗展示,支持复制和继续对话
- 🔊 语音朗读:macOS 原生 TTS 朗读 AI 回复(Assist/Agent 可独立开关)
- 🎚 实时波形:5 条 RMS 驱动的球形波动画
系统要求
- macOS 14+
- 辅助功能权限(监听 Fn 键)
- 输入监控权限(Fn 键长按检测)
- 麦克风权限
- 语音识别权限
快速开始
make build # 编译 + 生成 .app
make run # 构建并启动
make dmg # 生成分发包(自动清空 API Key)
首次运行需授权辅助功能和输入监控两个系统权限。
使用
- 点击任意文本输入框
- 双击 Control 切换到想要模式
- 按住键盘左下角 Fn / 🌐 键
- 说话,胶囊窗口显示实时转录
- 松开 Fn → 文本注入(Input)/AI 回复弹窗(Assist/Agent)
点击菜单栏图标可切换语言、模式或配置 LLM。Agent 模式下可从菜单进入助手设置和记忆管理。
三种模式详解
Input(语音输入)
语音转文字 → LLM 纠错(可选)→ 注入光标。适合日常输入。
Assist(AI 助手)
语音提问 → LLM 回复。可选择直接注入或刘海弹窗展示。 弹窗模式下可开启朗读,AI 回复自动语音播报。
Agent(个人助手 / Better Siri)
语音或打字输入 → 多轮对话 → 工具调用 → 流式输出。 Agent 被设计为个人 Mac 助手,会自动记住你的偏好、习惯和待办, 熟练使用 macOS 原生能力(如 osascript、系统命令)帮你完成任务。
记忆系统自动工作,跨对话持久化:
- 你说"记住明天下午3点开会"→ Agent 记下待办
- 你说"我不喜欢蓝色"→ Agent 记下偏好
- 你下次问"给我推荐一个壁纸"→ Agent 自动避开蓝色
内置 Node.js 运行时,无需额外安装。
配置
| 模块 | 配置方式 | 存储位置 |
|---|---|---|
| Input LLM | 菜单栏 🎤 Input LLM → Settings |
UserDefaults |
| Assist LLM | 菜单栏 💬 Assist LLM → Settings |
UserDefaults |
| Agent LLM + 助手设置 | 菜单栏 🤖 Agent LLM → Settings / ⚙️ 助手设置 |
~/Library/Application Support/VoiceInput/ |
| 记忆管理 | 菜单栏 🧠 记忆管理 |
~/Library/Application Support/VoiceInput/memory/ |
Agent 支持多模型配置,在 Settings 中添加/编辑/删除。覆盖安装不会丢失配置。
构建
make build # Debug 构建
make release # Release 构建
make run # 构建并启动
make install # 安装到 /Applications
make dmg # 签名 + 创建 DMG(自动清空 API Key)
make clean # 清理
项目结构
Sources/
├── 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 依赖
许可
MIT