Skip to content
Star

剪贴板同步

剪贴板同步功能基于 SyncClipboard 项目协议实现。说点啥作为 SyncClipboard 客户端,通过访问服务端的 SyncClipboard.json(以及可选的 /file/ 目录)来同步剪贴板内容,实现多设备间的剪贴板实时互通。

当前版本兼容新版 SyncClipboard(3.11.1 及以上)的文本同步协议;如果你同时使用桌面端,建议保持桌面端与服务端为较新的版本。

你可以使用以下任意一种后端作为“服务器”:

  • SyncClipboard 独立服务器(SyncClipboard.Server)
  • 桌面端 SyncClipboard 内置服务器
  • WebDAV/网盘存储(只要支持 HTTP PUT/GET)

当前版本支持同步 文本、图片和文件。图片/文件同步可分别开关;符合类型与体积限制的远端附件会自动下载到系统的 Download/BiBi 目录。

功能说明

剪贴板同步服务会:

  • 自动上传:检测到本地剪贴板变化时,自动 PUT 到服务端 SyncClipboard.json
  • 自动接收:服务端支持 Realtime 时实时接收更新,否则按设置的间隔定时拉取
  • 附件下载:按图片/文件开关与体积上限下载远端附件,并通过系统通知显示进度和结果
  • 附件上传:监听所选文件夹中的新增文件,或从系统分享菜单上传单个文件
  • 去重处理:使用内容哈希值避免重复上传相同内容
  • 文件名去重:记住最近处理的文件,避免重复预览

同步由独立后台服务管理,不需要启动悬浮球。Android 仍可能回收后台进程,因此需要长期接收时请同时阅读下方的「保持后台实时连接」说明。

工作原理

  • 上传时使用内容 SHA-256 哈希值判断是否需要上传
  • 下载时记住最近处理的文件名,避免重复处理
  • 协议基于 SyncClipboard API:PUT /SyncClipboard.json 上传、GET /SyncClipboard.json 拉取;若 TypeImage/File,对应文件位于 /file/<filename>

配置方式

基本开关

配置项类型默认值说明
syncClipboardEnabledBooleanfalse启用剪贴板同步服务

设置 → 其他设置 → 剪贴板同步 中启用此功能。

启用后,设置页会显示当前执行方式:

执行方式适用条件后台行为
说点啥默认输入法说点啥是系统当前默认输入法由独立同步服务运行;说点啥输入法负责读写系统剪贴板
修改版 Fcitx5 / Trime 辅助使用最新版修改版 Fcitx5 或 Trime,并在该输入法中启用「说点啥粘贴板同步」由说点啥连接服务器;当前输入法负责读写/监听系统剪贴板
IME Bridge 辅助第三方输入法为默认输入法,且 IME Bridge 0.2.4+ 显示剪贴板支持由独立同步服务连接服务器,第三方输入法进程只负责读写/监听系统剪贴板;凭证仍只在说点啥本体
仅手动以上自动路径均不可用保留悬浮球菜单中的手动上传和拉取,不保证后台自动同步

修改版 Fcitx5 / Trime 配置

  1. 安装最新版修改版 Fcitx5修改版 Trime
  2. 在说点啥的 设置 → 其他设置 → 剪贴板同步 中完成服务器配置并启用同步
  3. 打开修改版输入法的剪贴板设置,启用「说点啥粘贴板同步」
  4. 打开一次该输入法键盘,在剪贴板设置页确认状态变为「正在监听剪贴板变化」

两个开关都必须启用。修改版输入法会优先连接 Pro,再尝试开源版。

修改版输入法生命周期

这条同步路径仅在对应输入法服务运行时可用。状态显示「输入法服务未运行」或「正在等待键盘窗口显示」时,请先打开一次键盘;进程被 Android 回收后,再次打开键盘会自动重连。

IME Bridge 生命周期

桥接辅助同步依赖目标输入法进程存活。目标输入法被系统回收时会暂停;再次打开该输入法后会自动恢复订阅。它不是常驻守护进程。

清除应用内剪贴板记录

如需一次删除说点啥保存的剪贴板历史,可进入 设置 → 其他设置,点击「清除剪贴板记录」并确认。此操作会删除普通记录和置顶内容,但不会清空系统当前剪贴板,也不会删除同步服务器上的历史数据。

服务器配置(SyncClipboard)

配置项类型必需说明
syncClipboardServerBaseString服务器基址或 SyncClipboard.json 完整地址
syncClipboardUsernameString服务端用户名(HTTP Basic Auth)
syncClipboardPasswordString服务端密码(HTTP Basic Auth)

服务器地址可以填写基址(推荐)或完整文件地址:

  • 基址示例:https://example.com:5033/;坚果云的目录示例:https://dav.jianguoyun.com/dav/SyncClipboard
  • 完整地址示例:https://example.com:5033/SyncClipboard.json

如果地址不是以 .json 结尾,应用会自动在末尾追加 /SyncClipboard.json。因此坚果云示例最终会访问 https://dav.jianguoyun.com/dav/SyncClipboard/SyncClipboard.json

如需同步文件或附件,必须填写目录基址,不要填写完整的 SyncClipboard.json 地址,因为文件从该目录下的 file/ 访问;上面的坚果云专用目录示例即属于这种情况。

注意

所有字段都会自动执行 trim() 操作去除首尾空格,请确保不要复制粘贴时带入额外空格。

自动接收配置

配置项范围默认值说明
自动接收开/关开启后自动检测服务端能力:支持 Realtime 时实时接收,否则定时拉取
保持后台实时连接开/关仅在服务端支持 Realtime 时显示;尝试在相关界面或服务退出后继续保持连接
定时拉取模式拉取间隔1-600 秒15 秒服务端不支持 Realtime 或实时连接暂时中断时使用

设置页会显示正在检测、Realtime 或定时拉取等当前状态。修改服务器地址或凭证后,应用会重新检测服务端能力。

后台限制

「保持后台实时连接」会增加后台耗电和网络使用,而且不能绕过 Android 的进程回收限制。关闭时,Realtime 只在应用、输入法或 IME Bridge 的相关服务活跃期间维持;开启后也可能受系统省电策略影响。

间隔建议

  • 15-30 秒:适合需要实时同步的场景
  • 60-120 秒:平衡实时性和电量消耗
  • 300-600 秒:低频使用场景,节省电量和流量

图片与文件同步

设置 → 其他设置 → 剪贴板同步 中分别开启「同步图片」或「同步文件」。开启任一项后,还可以配置:

配置项范围说明
单个附件体积上限1-1024 MB上传和下载都会应用此限制
监听位置可选文件夹自动上传其中后来新增、且类型与体积符合设置的最新附件

不选择监听位置时仍可下载附件,也可通过系统分享菜单手动上传。首次选择文件夹时,应用会把已有文件记为已处理,不会批量上传旧文件;之后加入的新文件才会参与自动上传。Download/BiBi 是同步附件的下载目录,不能同时选作监听位置,以免形成上传回环。

远端附件下载成功后保存在 Download/BiBi。上传和下载过程中会显示系统通知;失败时也会显示结果通知。

从系统分享菜单上传文件

  1. 先启用剪贴板同步,并开启与文件类型对应的「同步图片」或「同步文件」
  2. 在文件管理器、相册或其他应用中分享一个文件
  3. 在系统分享目标中选择「上传到剪贴板」
  4. 等待上传结果通知

目前一次只处理一个分享文件,且仍受单个附件体积上限约束。

可用的服务器/后端

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 服务提供商,提供免费与付费套餐,具体配额与价格请以官网为准。

先在坚果云根目录手动创建一个专用文件夹,例如 SyncClipboard;若需要同步文件,请在该文件夹内创建 file 子文件夹。文件夹建议使用纯英文、无空格名称;如果名称含中文或空格,填写地址时需要进行 URL 编码。

配置示例

服务器地址:https://dav.jianguoyun.com/dav/SyncClipboard
用户名:你的坚果云注册邮箱
密码:坚果云生成的第三方应用密码

重要

地址末尾不要加 /,也不能只填写 https://dav.jianguoyun.com/dav/;必须指向已存在的专用工作目录。坚果云不支持使用登录密码访问 WebDAV,必须在账户信息 → 安全选项 → 第三方应用管理 → 添加应用密码中生成第三方应用密码。

步骤

  1. 登录坚果云网页版
  2. 在根目录创建 SyncClipboard 文件夹
  3. 如果需要同步文件,在 SyncClipboard 内创建 file 子文件夹
  4. 进入 账户信息 → 安全选项 → 第三方应用管理
  5. 点击「添加应用密码」,输入应用名称(如「说点啥」)
  6. 将生成的密码填入「密码」

使用场景

场景一:手机与电脑间传输文本

  1. 在手机上复制文字到剪贴板
  2. 应用自动上传到服务器
  3. 电脑上的 SyncClipboard 客户端自动同步
  4. 在电脑上直接粘贴

场景二:多部手机间同步

  1. 在手机 A 上复制内容
  2. 手机 B 自动拉取并更新剪贴板
  3. 在手机 B 上直接粘贴

场景三:跨应用快速分享

  1. 在社交应用中复制链接或文本
  2. 切换到其他设备或应用
  3. 直接粘贴,无需手动传输

权限要求

剪贴板同步功能需要以下权限:

  • 网络访问权限:用于连接 SyncClipboard 服务器/后端
  • 读取剪贴板:检测剪贴板变化并读取内容
  • 写入剪贴板:将云端内容同步到本地剪贴板

故障排查

无法连接到服务器

可能原因

  1. 服务器地址配置错误

    • 检查地址是否包含完整的协议(https://http://
    • 坚果云地址必须指向已存在的专用目录,例如 https://dav.jianguoyun.com/dav/SyncClipboard,末尾不要加 /
  2. 用户名或密码错误

    • 坚果云必须使用"应用密码",不能使用登录密码
    • 检查是否有多余的空格
  3. 网络问题

    • 检查设备网络连接
    • 尝试在浏览器中访问配置的地址

上传失败

可能原因

  1. 权限问题:账户没有写入权限
  2. 应用在后台,无法写入粘贴板
  3. 网络超时:网络不稳定或服务器响应慢

解决方法

  • 检查账户权限设置
  • 清理服务器上的旧文件释放空间
  • 切换到更稳定的网络环境

下载不同步

可能原因

  1. 「自动接收」未启用
  2. 拉取间隔过长:设置的间隔时间太长
  3. 应用或 IME Bridge 在后台无法写入粘贴板

解决方法

  • 启用「自动接收」;若状态显示定时拉取,可适当缩短间隔
  • 在系统设置中关闭应用的电池优化
  • 点击设置页面的「立即验证」检查地址与凭证

Released under the Apache 2.0 License.