Home
Softono

Whisper

Open source MIT Dart
21
Stars
1
Forks
0
Issues
1
Watchers
2 months
Last Commit

 About Whisper

Cross-platform LAN sharing for files, text, clipboard, audio, and desktop keyboard/mouse peripherals.

Platforms

Web Self-hosted iOS Android

Languages

Dart

Need Help Installing Whisper?

We provide expert installation service for this software. Our team will install, configure, and secure Whisper on your server. plans start at just $30.

Whisper

Flutter License Platform

English

面向个人设备的局域网协作工具,用一条本地直连通道在电脑和手机之间传文本、文件、通知、音频和键鼠输入。 本项目与 OpenAI Whisper 语音识别模型无关。

下载

下载最新版本

解决什么问题

Whisper 解决的是一个很日常但反复出现的问题:自己的电脑、手机、备用机都在身边,却仍然要靠聊天软件、网盘或数据线来搬一点文本、文件或声音。

它不是云盘,也不是公网远程桌面。Whisper 默认工作在可信局域网内,设备之间显式建立点对点连接。适合在自己的设备之间临时传输内容、接收 Android 通知、共享桌面系统音频,或在多台桌面设备之间切换键鼠输入。

截图

文件传输

Whisper 文件传输

音频共享 键鼠共享
Whisper 音频共享 Whisper 键鼠共享

特性

  • 多设备直连:一台设备可以同时连接多台电脑或手机,连接关系保持显式、可见、可断开。
  • 聊天式传输:文本、剪贴板和文件都在会话里完成,适合临时传链接、命令、截图和安装包。
  • 系统音频共享:把一台设备的系统音频推给一个或多个播放端,支持基础扬声器组和左右声道角色。
  • 键鼠共享:在受信任桌面设备之间共享一套键鼠,通过屏幕排列和边缘穿越切换控制目标。
  • 桌面体验:支持托盘、启动项、关闭到托盘、桌面文件拖出复制、浅色/深色主题和多语言。

连接方式

Whisper 优先通过局域网发现设备。两台设备连接同一个网络并同时打开 Whisper 后,通常可以直接在设备列表里看到对方,点击后由接收端确认连接。

如果自动发现不可用,可以手动输入对方的局域网 IP 和服务端口。默认服务端口是 10002,也可以在设置里的「服务端口」修改。手动连接时请确认防火墙允许该端口的局域网访问。

Linux 的自动发现依赖 Avahi;如果网络环境禁用了 mDNS/Bonjour,手动 IP 连接通常更可靠。

开发者快速开始

1. 准备环境

安装 Flutter stable,并确保当前 Flutter SDK 满足 Dart >=3.5.0 <4.0.0

flutter doctor

根据目标平台准备对应工具链:

  • Android:Android Studio / Android SDK
  • macOS / iOS:Xcode
  • Windows:Visual Studio C++ 工具链
  • Linux:Flutter Linux desktop 依赖、Avahi、PulseAudio 或 PipeWire Pulse

2. 获取依赖并运行

flutter pub get
flutter run

macOS 本地调试建议使用仓库脚本,它会构建、签名并启动调试 App:

sh script/build_and_run.sh

3. 验证

flutter analyze
flutter test

4. 打包与代码生成

macOS 打包 DMG:

sh script/build_and_run.sh package-macos

数据库或本地化变更后需要重新生成代码:

dart run build_runner build --delete-conflicting-outputs
flutter gen-l10n

使用方式

发送文本或文件

打开一个已连接设备的会话,直接输入文本并发送;点击附件按钮选择文件。桌面端收到的文件可以从消息里拖出到文件管理器或桌面完成复制。

共享系统音频

在桌面端的设备工具区选择音频共享,选择一个或多个已连接且支持音频播放的设备。多设备播放支持基础同步和声道角色,但不等同于专业音频系统。

共享键鼠

在桌面端打开键鼠共享工作区,排列本机与被控设备的屏幕位置。启用后,鼠标从配置的屏幕边缘穿越到目标设备,键盘输入跟随当前目标。

监听 Android 通知

在 Android 端授予通知监听权限后,可以选择需要监听的 App。Whisper 会按用户选择处理通知内容,适合验证码等短消息场景。

平台状态

平台 当前状态
Android 主要移动端,支持连接、聊天、文件传输、通知监听和音频播放等能力。
macOS 主要桌面验证平台,支持托盘、文件拖出、音频共享、键鼠共享和打包脚本。
Windows 桌面目标平台,包含窗口、单实例、音频和键鼠相关原生集成。
Linux 桌面目标平台,发现依赖 Avahi,音频依赖 PulseAudio 或 PipeWire Pulse,键鼠共享当前以 X11 为主。
iOS 保留 Flutter runner,具体能力受系统限制影响,未测试

边界与安全说明

  • 当前没有实现端到端加密,不应把 Whisper 用在不可信局域网环境中。
  • 当前不做公网中继、Hub 转发或传递信任。
  • 文件、音频、键鼠都需要连接和能力协商,不设计为无提示后台控制入口。
  • 键鼠共享面向本人设备间的近场协作,不是无人值守远程控制方案。
  • Whisper 优先保证局域网内的直接、可控和可恢复,不追求替代专业同步、远控或 MDM 系统。

为什么不是这些工具

  • 不是云盘:Whisper 不以跨公网、多端长期同步为目标,核心是近场设备之间的即时直连。
  • 不是聊天软件:会话只是交互外壳,真正目标是让文件、通知、音频和输入能力在设备间流动。
  • 不是远程桌面:键鼠共享只处理输入,不传屏幕,也不面向无人值守远控。
  • 不是专业音频系统:音频组提供可用的多设备播放和声道角色,但不承诺专业级相位同步。

License

MIT