剪贴板同步
剪贴板同步功能基于 SyncClipboard 项目协议实现。说点啥作为 SyncClipboard 客户端,通过访问服务端的 SyncClipboard.json(以及可选的 /file/ 目录)来同步剪贴板内容,实现多设备间的剪贴板实时互通。
当前版本兼容新版 SyncClipboard(3.11.1 及以上)的文本同步协议;如果你同时使用桌面端,建议保持桌面端与服务端为较新的版本。
你可以使用以下任意一种后端作为“服务器”:
- SyncClipboard 独立服务器(SyncClipboard.Server)
- 桌面端 SyncClipboard 内置服务器
- WebDAV/网盘存储(只要支持 HTTP PUT/GET)
本项目当前主要同步 文本;当服务端推送图片/文件类型时,会在粘贴板历史或键盘上方信息栏中展示文件名,并可按需点击下载。
功能说明
剪贴板同步服务会:
- 自动上传:检测到本地剪贴板变化时,自动
PUT到服务端SyncClipboard.json - 自动接收:服务端支持 Realtime 时实时接收更新,否则按设置的间隔定时拉取
- 去重处理:使用内容哈希值避免重复上传相同内容
- 文件名去重:记住最近处理的文件,避免重复预览
同步由独立后台服务管理,不需要启动悬浮球。Android 仍可能回收后台进程,因此需要长期接收时请同时阅读下方的「保持后台实时连接」说明。
工作原理
- 上传时使用内容 SHA-256 哈希值判断是否需要上传
- 下载时记住最近处理的文件名,避免重复处理
- 协议基于 SyncClipboard API:
PUT /SyncClipboard.json上传、GET /SyncClipboard.json拉取;若Type为Image/File,对应文件位于/file/<filename>
配置方式
基本开关
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
syncClipboardEnabled | Boolean | false | 启用剪贴板同步服务 |
在 设置 → 其他设置 → 剪贴板同步 中启用此功能。
启用后,设置页会显示当前执行方式:
| 执行方式 | 适用条件 | 后台行为 |
|---|---|---|
| 说点啥默认输入法 | 说点啥是系统当前默认输入法 | 由独立同步服务运行;说点啥输入法负责读写系统剪贴板 |
| 修改版 Fcitx5 / Trime 辅助 | 使用最新版修改版 Fcitx5 或 Trime,并在该输入法中启用「说点啥粘贴板同步」 | 由说点啥连接服务器;当前输入法负责读写/监听系统剪贴板 |
| IME Bridge 辅助 | 第三方输入法为默认输入法,且 IME Bridge 0.2.4+ 显示剪贴板支持 | 由独立同步服务连接服务器,第三方输入法进程只负责读写/监听系统剪贴板;凭证仍只在说点啥本体 |
| 仅手动 | 以上自动路径均不可用 | 保留悬浮球菜单中的手动上传和拉取,不保证后台自动同步 |
修改版 Fcitx5 / Trime 配置
- 安装最新版修改版 Fcitx5或修改版 Trime
- 在说点啥的
设置 → 其他设置 → 剪贴板同步中完成服务器配置并启用同步 - 打开修改版输入法的剪贴板设置,启用「说点啥粘贴板同步」
- 打开一次该输入法键盘,在剪贴板设置页确认状态变为「正在监听剪贴板变化」
两个开关都必须启用。修改版输入法会优先连接 Pro,再尝试开源版。
修改版输入法生命周期
这条同步路径仅在对应输入法服务运行时可用。状态显示「输入法服务未运行」或「正在等待键盘窗口显示」时,请先打开一次键盘;进程被 Android 回收后,再次打开键盘会自动重连。
IME Bridge 生命周期
桥接辅助同步依赖目标输入法进程存活。目标输入法被系统回收时会暂停;再次打开该输入法后会自动恢复订阅。它不是常驻守护进程。
清除应用内剪贴板记录
如需一次删除说点啥保存的剪贴板历史,可进入 设置 → 其他设置,点击「清除剪贴板记录」并确认。此操作会删除普通记录和置顶内容,但不会清空系统当前剪贴板,也不会删除同步服务器上的历史数据。
服务器配置(SyncClipboard)
| 配置项 | 类型 | 必需 | 说明 |
|---|---|---|---|
syncClipboardServerBase | String | ✓ | 服务器基址或 SyncClipboard.json 完整地址 |
syncClipboardUsername | String | ✓ | 服务端用户名(HTTP Basic Auth) |
syncClipboardPassword | String | ✓ | 服务端密码(HTTP Basic Auth) |
服务器地址可以填写基址或完整文件地址:
- 基址示例:
https://example.com:5033/、https://dav.jianguoyun.com/dav/ - 完整地址示例:
https://example.com:5033/SyncClipboard.json
如果地址不是以 .json 结尾,应用会自动在末尾追加 /SyncClipboard.json。
注意
所有字段都会自动执行 trim() 操作去除首尾空格,请确保不要复制粘贴时带入额外空格。
自动接收配置
| 配置项 | 范围 | 默认值 | 说明 |
|---|---|---|---|
| 自动接收 | 开/关 | 关 | 开启后自动检测服务端能力:支持 Realtime 时实时接收,否则定时拉取 |
| 保持后台实时连接 | 开/关 | 关 | 仅在服务端支持 Realtime 时显示;尝试在相关界面或服务退出后继续保持连接 |
| 定时拉取模式拉取间隔 | 1-600 秒 | 15 秒 | 服务端不支持 Realtime 或实时连接暂时中断时使用 |
设置页会显示正在检测、Realtime 或定时拉取等当前状态。修改服务器地址或凭证后,应用会重新检测服务端能力。
后台限制
「保持后台实时连接」会增加后台耗电和网络使用,而且不能绕过 Android 的进程回收限制。关闭时,Realtime 只在应用、输入法或 IME Bridge 的相关服务活跃期间维持;开启后也可能受系统省电策略影响。
间隔建议
- 15-30 秒:适合需要实时同步的场景
- 60-120 秒:平衡实时性和电量消耗
- 300-600 秒:低频使用场景,节省电量和流量
可用的服务器/后端
SyncClipboard 独立服务器(推荐)
SyncClipboard 提供可独立部署的服务端 SyncClipboard.Server,支持跨平台运行并与桌面/移动客户端互通。部署方式与更多说明请参考上游项目文档。
配置示例:
服务器地址:https://your-domain.com:5033/
用户名:appsettings.json 中配置的 UserName
密码:appsettings.json 中配置的 Password桌面端内置服务器
Windows/macOS/Linux 桌面客户端内置服务器功能,可在客户端设置中开启并查看地址。将该地址填入本应用即可与桌面端互通。
WebDAV 服务器(可选)
如果你希望用 WebDAV/网盘存储作为后端,只要其支持对 SyncClipboard.json 的 HTTP PUT/GET(通常为 Basic Auth),即可使用。下面给出一些常见服务的配置示例。
坚果云
坚果云是常见的 WebDAV 服务提供商,提供免费与付费套餐,具体配额与价格请以官网为准。
配置示例:
服务器地址:https://dav.jianguoyun.com/dav/
用户名:你的坚果云账号(邮箱)
密码:应用专用密码重要
坚果云不支持使用登录密码访问 WebDAV,必须在账户设置 → 安全选项 → 第三方应用管理中生成"应用密码"。
步骤:
- 登录坚果云网页版
- 进入
账户设置 → 安全选项 - 找到"第三方应用管理"
- 点击"添加应用",输入应用名称(如"说点啥")
- 生成的密码即为 WebDAV 密码
使用场景
场景一:手机与电脑间传输文本
- 在手机上复制文字到剪贴板
- 应用自动上传到服务器
- 电脑上的 SyncClipboard 客户端自动同步
- 在电脑上直接粘贴
场景二:多部手机间同步
- 在手机 A 上复制内容
- 手机 B 自动拉取并更新剪贴板
- 在手机 B 上直接粘贴
场景三:跨应用快速分享
- 在社交应用中复制链接或文本
- 切换到其他设备或应用
- 直接粘贴,无需手动传输
权限要求
剪贴板同步功能需要以下权限:
- 网络访问权限:用于连接 SyncClipboard 服务器/后端
- 读取剪贴板:检测剪贴板变化并读取内容
- 写入剪贴板:将云端内容同步到本地剪贴板
故障排查
无法连接到服务器
可能原因:
服务器地址配置错误
- 检查地址是否包含完整的协议(
https://或http://) - 检查路径是否正确(如坚果云必须以
/dav/结尾)
- 检查地址是否包含完整的协议(
用户名或密码错误
- 坚果云必须使用"应用密码",不能使用登录密码
- 检查是否有多余的空格
网络问题
- 检查设备网络连接
- 尝试在浏览器中访问配置的地址
上传失败
可能原因:
- 权限问题:账户没有写入权限
- 应用在后台,无法写入粘贴板
- 网络超时:网络不稳定或服务器响应慢
解决方法:
- 检查账户权限设置
- 清理服务器上的旧文件释放空间
- 切换到更稳定的网络环境
下载不同步
可能原因:
- 「自动接收」未启用
- 拉取间隔过长:设置的间隔时间太长
- 应用或 IME Bridge 在后台无法写入粘贴板
解决方法:
- 启用「自动接收」;若状态显示定时拉取,可适当缩短间隔
- 在系统设置中关闭应用的电池优化
- 点击设置页面的「立即验证」检查地址与凭证