SpeakLink — 跨设备语音输入工具产品系统Vibe Coding

我要开发同款
widy2026年08月18日
4阅读

技术信息

语言技术
PythonAndroidVueRustGo
系统类型
WebAndroid应用Windows
行业分类
人工智能开发工具

作品详情

行业场景

在日常办公、写作、编程等需要大量文字输入的场景中,用户经常遇到键盘打字效率低、双手被占用无法打字的痛点。例如:在电脑前开会时需要快速记录会议纪要、躺在床上用电脑浏览时不想起身找键盘、程序员写代码时想口述注释或文档、内容创作者进行长文创作时语音输入远快于手打。SpeakLink 正是为解决这些痛点而生——让用户的手机变成一个无线语音输入设备,说话的内容实时转成文字并注入到电脑光标所在位置,整个过程端到端加密,无需担心隐私泄露。目标用户覆盖办公白领、程序员、自媒体作者、学生等任何有高频文字输入需求的群体。

功能介绍

SpeakLink(作品链接:speaklink.risa.ccwu.cc) 是一款自主研发的跨设备实时语音输入工具,核心功能是让手机成为电脑的无线语音输入法。用户在手机端(微信小程序或 Android App)按下录音按钮说话,语音经云端中继服务器实时转发至电脑端(Windows Tauri 桌面客户端),文字自动出现在电脑光标当前位置,支持逐条复制。
核心功能模块包括:
多端覆盖 — 微信小程序 + Android 原生 App(Kotlin Compose)+ Windows 桌面端(Tauri v2 + Rust)+ 官方网站(Vue 3),四端互通;
安全配对机制 — 桌面端生成随机配对码,手机扫码或手动输码即可配对,基于配对码通过 HKDF-SHA256 派生对称密钥;
端到端加密 — 采用 AES-256-GCM 加密,服务器仅转发密文、零存储,全程不落盘明文;
云中继服务 — Go 语言编写的 WebSocket 中继服务器,Docker 部署于阿里云,支持配对管理、消息转发、通话统计、心跳保活;
光标注入 — Windows 端通过模拟键盘输入将接收到的文字精确注入到当前光标位置,macOS 端使用 CGEvent 实现;
状态机 UI — 三态连接状态(未连接/未配对/已配对),带颜色区分与实时延迟显示;
官网下载 — Vue 3 构建的官方展示页,集成版本化下载(防 CDN 缓存)、功能介绍与技术文档。

项目实现

我负责本项目从零到一的全栈架构设计与全端实现,具体包括:
1. 架构设计 — 设计并落地了「手机语音采集 → 云端 WebSocket 中继 → 电脑光标注入」的完整技术方案。

2. 服务端开发 — 用 Go 语言编写中继服务器(relay.go),实现 WebSocket Hub 房间管理、配对码匹配、密文透传、心跳保活与延迟统计。服务器以 Docker 多阶段构建部署至阿里云(镜像约 30MB),通过 Nginx 反代提供 wss 接入,配合 Cloudflare CDN 分发前端静态资源。
3. 桌面端开发 — 基于 Tauri v2(Rust + Vue 3 + TypeScript)开发 Windows 桌面客户端。Rust 侧实现了设备 GUID 读取、WebSocket 长连接管理、AES-256-GCM 加解密、以及光标注入模块(inject.rs);Vue 前端实现了配对二维码展示、实时文字预览(逐条打字机效果 + 独立复制按钮)、三态连接状态机。解决了 Tauri v2 custom-protocol 嵌入式打包、DPI 适配等关键坑点,release 包体积控制在 4.5MB。
4. 移动端开发 — Android 端使用 Kotlin + Jetpack Compose 开发,集成 OkHttp WebSocket 客户端
5. 官网与部署 — 用 Vue 3 + Vite 构建官方展示网站(speaklink.risa.ccwu.cc),
6. 解决了 Tauri v2 打包后前端嵌入协议切换问题、小程序 WebSocket 断线重连死循环等实际问题。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论