魔改豆包输入法变电脑版,立即拥有千元AI语音输入法typeless平替

哈喽大家好,我是阿星👋

最近在用一款语音输入工具Typeless,体验确实不错——按住一个键说话,松开后自动插入,完全不打断思路。但有个问题:每个月要 84 块钱……

所以……我自己用豆包客户端的AI语音输入功能魔改了个平替,效果看大屏幕👇:

因为用了一段豆包手机输入法我就爱上了,苦于电脑不能用啊,我就在想:

1、虽然它手机版app不能电脑上用,但是豆包pc客户端有个语音输入功能啊~

2、虽然它pc端用起来中断感比较明显,每次说完话都要按enter,搞得没有用typeless时那种指挥飞机塔台的感觉。

3、虽然总是说完话覆盖我的剪贴板,这个我真的好想打人

但是我有AI啊!于是我花了2小时,用豆包做了平替——和typeless一样,按住就说,松开就写入输入框,且不会冲掉原先剪贴板内容。

核心原理(100字看懂,看不懂也无所谓)

豆包自带的语音输入需要Ctrl+D 唤醒 → 说话 → 手动按 Enter 插入。我的工具通过 Python 监听你的右侧 Command 键,当你按住时自动触发豆包的 Ctrl+D,松开时自动隐形地按 Enter 完成插入。同时在触发前保存你的剪贴板,插入后立即恢复,避免豆包的识别结果覆盖你复制的内容。

本质是把豆包的三步操作,变成按住说话一步完成。


成本对比:一年省1000

其实阿星也想过自己写个AI输入法,但豆包已经免费提供了语音识别能力。

那我只需要写个插件,让它更好用就差不多了。我自己感觉没必要重头再来。


如何使用?(3分钟上手)

第1步:配置豆包(一劳永逸)

  1. 1. 打开豆包电脑版应用,别找错了,是豆包电脑客户端app。就你平常用的豆包网页版的左下角。

  2. 然后→ 设置 → 快捷键

2. 将"语音输入"设为Control + D

(为了避免自定义快捷键冲突先固定了)

3.建议关闭语音悬浮球(虽然不是必须的,但是容易误触,无伤大雅)确认改好了,保存

第2步:下载并打开应用(1分钟)

1. 下载阿星AI输入-v2.0-macOS-final.zip(20 MB)

2.解压得到:阿星AI输入.app,就第二个icon

3.首次打开:右键点击 → 打开(macOS 安全限制)

4.授予权限(必须!):系统会要求授予「辅助功能」权限

- 打开系统设置 → 隐私与安全性 → 辅助功能

  • • 点击 ➕ 添加「阿星AI输入.app」

  • • 确保勾选已启用

5.浏览器自动打开,显示控制界面(http://localhost:8899)

  • • 启动时间:首次 5-10 秒,后续 3-5 秒

首次启动可能比较慢

第3步:启动语音输入(1分钟)

在浏览器中:点击🚀 启动语音输入,看到日志显示「✓ 语音输入已启动!」后,就可以使用了

第4步:开始使用

  1. 1. 在任何输入框里(浏览器、编辑器、微信...)

  2. 2. 按住 右侧 Command 键说话

就这么简单!


核心功能详解

功能1:自动插入(对标 Type Less)

豆包原生流程稍微顿感了

Ctrl+D → 说话 → 看预览框 → 手动按 Enter → 插入

我的工具给它修补下体感

按住 Command → 说话 → 松开 → 自动 Enter → 插入

这就是 Typeless值 80 元/月的丝滑输入体验啊。现在免费用了。

功能2:剪贴板保护

问题场景

1. 你复制了一段代码 2. 用语音输入了一句话 3. 豆包把识别结果复制到剪贴板 4. 你去粘贴 → 粘贴出来的是语音文字,不是代码 5. 代码没了

我的解决方案

按下 Command → 保存你的剪贴板 → 触发豆包语音 → 豆包识别并复制 → 松开 Command → 自动插入 → 0.2秒内恢复你的剪贴板

你去粘贴,粘贴出来的还是你复制的。完美!

功能3:Web GUI 界面)

在 Web 控制界面(http://localhost:8899):

主界面功能

- 🚀启动/停止:一键控制语音输入

- 📋实时日志:查看运行状态和诊断信息

- ⚙️打开配置:点击按钮进入配置页面

配置界面:滑块调整冷启动/正常延迟时间

不用改代码,不用命令行,和 Type Less 一样小白友好。


三大核心技术原理

1. 全局键盘监听(pynput + macOS CGEventTap)

为什么没用 Electron?

虽然 Electron 稳定,但它太“重”了——哪怕一个简单的功能也要背着几百 MB 的浏览器内核。先选了 macOS 原生打包。

  1. 1.选择 Onedir:告别“发呆”启动

  • Onefile (弃用):本质是压缩包,每次启动需 10 秒解压,慢得像死机。

  • Onedir (选用):直接加载已解压库,实现.app 秒开

  1. 2.通过AppDelegate架构实现了与系统的“握手”。在系统反馈“已就绪” (DidFinishLaunching) 的瞬间挂载 RunLoop。

Onedir (秒开) + AppDelegate (官方权限挂载),绕开了 Electron 的臃肿,解决了原生打包的权限魔咒。

2. 剪贴板保护(pbpaste/pbcopy)

豆包自己的的语音识别会把结果复制到剪贴板,然后用系统快捷键(Cmd+V)自动粘贴。这会覆盖用户原有的剪贴板内容。

所以我通过脚本改成了预存的方式

  1. 1. 按下 Command 键 → 用pbpaste保存当前剪贴板

  2. 2. 触发豆包语音识别(Ctrl+D)

  3. 3. 等待识别完成(冷启动 3.5 秒,热启动 1.5 秒)

  4. 4. 松开 Command 键 → 按 Enter 插入文字

  5. 5. 等待0.2 秒(让豆包完成自动复制)

  6. 6. 用pbcopy恢复用户原剪贴板

豆包的自动复制在 Enter 后立即发生,但我们在 0.2 秒后强制恢复,这个时间差足够让插入完成,又不会让用户察觉到剪贴板被篡改过。

3. 智能延迟(冷启动 vs 热启动)

如果你说完了结果工具的等待时间不够,按 Enter 时豆包还没识别完,结果就是空白或不完整。

改进 :豆包第一次启动语音识别需要初始化 AI 模型,耗时较长(约 3.5 秒)。后续识别时模型已在内存中,速度更快(约 1.5 秒)。用户可在 Web 界面通过滑块自定义这些延迟时间

    ok。我已经打包成 .app 文件,放到星球上了,双击即用

    我是阿星

    更多AI应用

    我们下期再见!

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1150941.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    单精度浮点数转换小白指南:轻松上手第一步

    单精度浮点数转换实战指南:从底层原理到嵌入式应用 你有没有遇到过这样的问题? “我明明给变量赋的是 5.0 ,为什么打印出来是 4.999999 ?” “ADC读回来的温度值怎么越算越不准?” “两个本该相等的浮点数&…

    医药电商数字化转型:以合规与效率筑牢发展根基

    在医药行业数字化转型的浪潮中,合规经营与运营效率始终是企业稳健发展的核心命题。随着《药品经营质量管理规范》(GSP)修订完善、医保精细化管理推进以及“两票制”全面落地,传统医药流通模式正遭遇前所未有的转型压力&#xff1a…

    I2C时序初学者指南:认识标准模式下的通信节奏

    I2C时序从零到实战:搞懂标准模式下的通信节奏 你有没有遇到过这样的情况? 接了一个温湿度传感器,代码写得看似没问题,但就是读不到数据;或者偶尔能通,大多数时候返回NACK;更糟的是,…

    系统学习framebuffer设备在控制台切换中的作用机制

    深入理解 Linux 控制台背后的图形引擎:framebuffer 如何支撑多终端切换你有没有想过,当你按下CtrlAltF2从桌面环境跳转到一个纯文本终端时,屏幕是如何瞬间“变身”的?没有 X Server、没有 Wayland,甚至连显卡驱动都没完…

    不同比例画面适配LED显示屏尺寸大小调整技巧

    如何让不同比例的画面完美适配LED显示屏?工程师的实战调屏指南你有没有遇到过这样的场景:精心制作的16:9宣传片投到会议室大屏上,两边突然冒出黑边;远程会议画面拉伸得人脸变形;或者弧形舞台屏播放视频时像被“捏歪了”…

    CC2530射频调试工具使用:频谱仪与网络分析仪操作指南

    玩转CC2530射频调试:用好频谱仪和网络分析仪,让Zigbee通信稳如磐石你有没有遇到过这样的情况?手里的CC2530模块明明烧录了标准Zigbee协议栈,天线也照着参考设计画了,可实际通信距离就是上不去——空旷环境下勉强撑5米&…

    Packet Tracer使用教程:新手避坑常见操作误区

    Packet Tracer实战避坑指南:新手常踩的6大“雷区”与正确打开方式你是不是也经历过这样的时刻?在Packet Tracer里辛辛苦苦搭好拓扑,信心满满地点击“ping”,结果——Request timed out。检查了一遍又一遍配置,IP没错、…

    vivado2018.3安装步骤通俗解释:新手快速上手教程

    Vivado 2018.3 安装全记录:从零开始,一次成功的实战指南 你是不是也曾在搜索引擎里反复输入“vivado2018.3安装步骤”,只为找到一个真正能用、不踩坑的教程? 别担心,我懂你的痛。曾经我也在安装失败、许可证报错、路…

    基于Java+SpringBoot+SSM宠物领养一站式服务系统(源码+LW+调试文档+讲解等)/宠物领养平台/宠物领养服务/一站式宠物服务/宠物领养系统/宠物服务平台/领养宠物一站式服务

    博主介绍 💗博主介绍:✌全栈领域优质创作者,专注于Java、小程序、Python技术领域和计算机毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2025-2026年最新1000个热门Java毕业设计选题…

    elasticsearch官网API详解:企业集成开发实战案例

    Elasticsearch 官方 API 实战指南:从原理到企业级应用你有没有遇到过这样的场景?用户在搜索框里输入“无线蓝牙耳机”,系统却返回了一堆不相关的商品,甚至把“有线音箱”也排在前面。或者,运营同事想要一份“过去30天销…

    基于Java+SpringBoot+SSM就业推荐系统(源码+LW+调试文档+讲解等)/就业推荐平台/职业推荐系统/招聘推荐系统/就业匹配系统/求职推荐系统/就业指导系统/人才推荐系统

    博主介绍 💗博主介绍:✌全栈领域优质创作者,专注于Java、小程序、Python技术领域和计算机毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2025-2026年最新1000个热门Java毕业设计选题…

    ModbusRTU功能码解析:常用0x03与0x10指令实战案例

    深入ModbusRTU:从0x03读取到0x10写入的实战全解析在工业现场,你是否曾遇到这样的场景?一台温控仪数据显示异常,工程师带着笔记本和USB转RS485模块赶到现场,插上线、打开调试工具,却发现读回来的数据是0x000…

    基于Java+SpringBoot+SSM忘忧传媒直播管理系统(源码+LW+调试文档+讲解等)/忘忧传媒直播管理平台/忘忧传媒直播系统/传媒直播管理系统/忘忧传媒直播解决方案/忘忧传媒直播工具

    博主介绍 💗博主介绍:✌全栈领域优质创作者,专注于Java、小程序、Python技术领域和计算机毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2025-2026年最新1000个热门Java毕业设计选题…

    ES集群容量规划方法论:新手教程(零基础入门)

    从零开始设计一个稳定的ES集群:容量规划实战指南你有没有遇到过这样的场景?刚上线的Elasticsearch集群,运行不到两周就开始报警——磁盘使用率飙到90%以上,查询延迟从几十毫秒涨到几秒,甚至节点频繁宕机。排查一圈后发…

    手把手教你使用Proteus 8.9继电器元件对照表进行仿真

    从零开始搞定继电器仿真:Proteus 8.9实战全解析你有没有遇到过这种情况?想用单片机控制一盏灯、一个电机,甚至家里那台老式空调——但直接驱动显然不行。这时候,继电器就成了你的“电力开关手”。可问题是,在焊板子之前…

    上传图片数量限制

    j-upload组件使用:number"1"

    Multisim示波器使用:提升教学直观性的实践方法

    让“看不见的电信号”跃然屏上:用Multisim示波器重构电子电路教学你有没有遇到过这样的课堂场景?讲台上老师认真推导着RC滤波器的频率响应公式,台下学生却一脸茫然:“这个‘衰减’到底长什么样?”又或者,在…

    mysql数据快速导入doris

    mysql数据快速导入doris 背景问题解决最后 背景 前段时间业务需要将mysql数据导入到doris ,以便大数据平台使用 问题 本来想法很简单,doris 语法兼容mysql,将数据导出为insert 语句,直接插入就行。 想法不错,但是奈何数据量大&…

    利用Multisim验证克拉泼振荡电路起振条件的详细过程

    从零开始验证克拉泼振荡电路的起振条件:Multisim实战全记录你有没有遇到过这种情况——理论课上老师讲得头头是道,什么“巴克豪森准则”、“相位平衡”、“环路增益大于1”,可真到了自己搭电路,却发现压根不起振?输出一…

    快速理解AUTOSAR中BSW与SWC的关系

    深入理解AUTOSAR中BSW与SWC的协同机制:从开发痛点到系统设计你有没有遇到过这样的场景?一个原本在A车型上运行良好的发动机控制算法,移植到B车型时却“水土不服”——不是CAN通信收不到数据,就是ADC采样值异常。更糟的是&#xff…