日期:2026-07-17
版本:2.1.5
日期:2026-04-16
版本:1.2.2
CrossPaste是一款十分优秀的跨设备剪贴板管理工具,软件功能强大,操作简单易用,内置本地OCR功能,可提取图片中的文字内容,拥有智能搜索、过滤、跨设备同步等高级功能,覆盖文本、HTML、富文本、链接、图片、文件等多种内容格式,大大提高工作使用效率,满足用户多样化的需求,感兴趣的小伙伴赶快下载使用吧!
1、实时共享:不同设备之间的剪贴板内容可即时同步,无需手动传输。
2、跨平台统一体验:提供 macOS、Windows、Linux 三端版本,界面和操作习惯保持一致。
3、多类型数据支持:可传输文本、URL、HTML 富文本、图片和文件。
4、端到端加密:基于 Signal 协议加密,确保数据传输安全与隐私。
5、无服务器架构:仅在局域网内传输,数据不经过第三方服务器。
6、智能空间管理:提供自动清理策略,避免剪贴板数据无限增长。
1、在Mac复制代码,瞬间在 Windows 粘贴;
2、在 Linux 工作站编辑图片,直接传到笔记本继续处理;
3、快速在多设备间传输文件、URL 或富文本;
4、高安全性内网传输(企业/团队环境)。
亮点
Windows MSIX安装问题再次出现:在当前版本的Windows系统中,2.2.0和2.2.1版本的安装包因0x80080204错误而无法正常安装。这是因为在一个应用程序下定义了两个appExecutionAlias扩展。现在,清单文件会将CLI别名单独定义在另一个应用程序中,这样一来,这些安装包就能顺利安装和更新了(undefined5189)。
在Windows系统中,crosspaste代表CLI安装程序;而Microsoft Store提供的软件包则会将crosspaste和crosspaste-cli都注册为CLI的别名。Store软件包中包含了CLI工具,同时,控制接口也不再位于MSIX虚拟化的临时目录中,因此CLI命令不会再报告该应用处于未运行状态(undefined5191 undefined5193 #5195)。
Linux系统中的链接/文件打开功能,以及RPM包的处理:链接、HTML、RTF格式的文件均可通过xdg-open来打开;“在文件管理器中显示”选项则会让文件通过FileManager1来被选中。此外,还有适用于x86_64和aarch64架构的EL9版RPM包,这些包与deb格式的包一同提供(undefined5185 undefined5187)。
漏洞修复
在相应的应用程序中声明MSIX CLI执行别名(#5188)
在Windows系统中,从用户数据目录启动CLI套接字(#5195)
在Linux的文件管理器中显示文件(#5186)
在Linux系统中,使用xdg-open打开浏览器链接、HTML文件、RTF文件以及各类其他文件(#5184)
新功能
让crosspaste在Windows MSIX包中启动CLI(#5192)
多平台 · 代码重构 · 代码风格
使AbstractGlobalCopywriter无需Compose即可将相关语言内容以StateFlow的形式进行发布(#5179)
将MessageType中的颜色设置与图标相关功能移至ui.base模块中(#5180)
构建与持续集成
在发布流程中构建Microsoft Store MSIX格式的包,并从中进行发布(#5194)
为Linux x86_64和aarch64架构构建EL9 RPM包(#5187)
亮点
浮动粘贴面板:这是一个不会触发任何操作的浮动按钮,可用于查看剪贴板中的历史记录;点击该按钮后,内容就会被粘贴到当前处于活动状态的应用程序中。此外,它还具备传统的右键菜单功能。该功能在macOS、Windows以及Linux系统上均可使用(包括X11和Wayland架构,后者可通过RemoteDesktop平台来使用)(undefined5039 undefined5063 undefined5066 undefined5076 undefined5079)。
背景更新下载(Windows便携版压缩包)。一旦系统检测到有新版本可用,就会在后台开始下载、验证并解压该版本,下载速度限制为1 MB/s。即使重新启动设备,也可以通过HTTP续传功能继续下载;之后系统会提供一键重启选项。通过“通用设置”开关,还可以关闭自动下载功能(undefined5091 #5092)。
密码管理器的提示与来源排除功能:在Windows、macOS和Linux系统中,那些被密码管理器标记为“无需记录”的密码(如Bitwarden、1Password、KeePassXC等)现在会得到妥善处理——这类密码既不会被存储,也不会被同步。剪贴板来源页面经过了重新设计,用户可以从正在运行的应用程序中选择需要排除的程序,或者手动搜索相应的程序;同时,匹配规则还会自动忽略那些名称中包含特定文本的来源项(undefined5015 undefined5020)。
大文件存储路径:原本用于指定大文件下载位置的开关已被替换为存储路径——超过备份大小限制的文件会被保存到用户指定的文件夹中;如果该文件夹已满,则会被保存到系统的下载文件夹中。现在,当接收端出现同名文件冲突时,系统会正确地对文件进行重命名,而且再次尝试处理时也不会再截断现有文件的内容了(undefined5038 undefined5047 #5051)。
设置信息结构:“高级”选项组被拆分为“剪贴板”、“录制”、“同步”和“存储”四个页面;大小限制的相关设置被归入“存储”部分;剪贴板的来源选项则被移到了“录制”页面中。此外,每行及每个页面的标题都经过了重新表述,不再包含副标题。设置内容区域现在采用灰色背景,各功能板块则以白色卡片形式呈现;主题切换则通过移动端式的太阳/自动/月亮滑块来实现,可选颜色为#5046、#5048、#5049、#5052、#5021、#5022、#5023、#5024、#5028、#5034、#4991。
设备页面与多地址主机:设备页面会根据所显示的内容来运作——本地设备会出现在列表的首位,刷新操作可更新列表内容,删除操作则需要用户确认;附近的设备也可以被直接屏蔽。现在,各设备能够知道自己在多地址主机上连接的地址(如Windows ICS、热点网络),接口列表也会随着网络状况的变化而更新。如果尝试手动添加没有有效地址的设备,系统会给出错误提示(undefined4951 undefined4955 undefined4959 undefined5026 undefined4998 undefined5009)。
同步可靠性:只有当接收到的数据被确认为可靠后,才会被接受。发起配对的一方会在v3协议中公布自己的地址,这样在完成配对之后,单向mDNS网络就能实现双向同步。过时的同步数据不会再导致重复推送的情况发生。WebSocket推送也会被正确处理,如果接收端出现故障,相关任务就会失败。此外,推送会话的结束与过期处理也得到了优化(undefined4895 undefined4936 undefined4945 #5086)。
确保数据完整性并优化存储空间。在删除旧存储路径之前,系统会先为新路径做好准备;无法读取的配置文件绝不会被替换为默认值;被删除的粘贴内容会连同其所在目录一起被清除;导入/导出操作不会再导致数据损坏或路径错误;远程加载的行数据总能达到最终状态;同时发布的相同内容也不会互相冲突、被删除。如果在记录日志之前程序就失败了,那么会留下相应的日志记录,且程序的退出码为非零值(undefined5095 undefined5097 undefined5099 undefined5125 undefined5127 undefined5131 undefined5133 undefined5141)。
改进了剪贴板转发的功能:现在,非文件类型的内容也能被正确转发,同时还会记录已处理过的内容,从而避免出现循环处理的情况。被移除的设备也无法通过快速的SyncInfo写入操作再次被添加进来。失败的查询会立即停止尝试,而被丢弃的推送则可以释放之前为大型文件预留的空间。此外,无头模式还会停止记录配对令牌的信息。(undefined5109 undefined5119 undefined5123 undefined5152 undefined5156)
在搜索窗口中,FTS术语会被加上引号,这样标点符号就不会干扰搜索功能。选择、查询重置以及标签过滤功能会实时跟随数据变化而调整。关闭窗口时无需粘贴内容,焦点会回到之前的应用程序上。窗口会与编辑框一起关闭,而面板按钮在停止显示后也会恢复正常状态。(undefined5116 undefined5145 undefined5147 #5148)
内存与运行时方面:Coil的内存缓存上限不再被设置为435 MiB;桌面服务器引擎已从Netty升级为CIO;Skiko的定期System.gc()调用现在以并行方式执行;而所使用的运行时环境则为JBR 25(编号undefined4911 undefined4913 undefined5042 #5044)。
用户界面文字的修改:应用中的英文及中文文本都进行了修改,另外八种语言的文本也根据新的文本版本进行了调整。同时还进行了国际化一致性检查,并制定了相应的风格指南(undefined4963 undefined4967 undefined4972 undefined4976 undefined4980 undefined4986 undefined4988)。
漏洞修复
通过数据控制协议从原生Wayland应用中获取副本(#5173)
报告侧边预览中EXIF旋转后图像的显示尺寸(#5162)
防止被移除的设备通过快速的SyncInfo写入操作再次被插入(#5156)
对普通设备进行投票失败后,应立即退出(#5152)
关闭带有气泡的搜索窗口,当该面板按钮不再显示时再将其放回原位(#5148)
使搜索窗口中的选择内容、查询条件以及标签筛选功能与实时数据保持同步(#5146)
防止相同内容同时发布时互相被删除(#5141)
当在读取过程中有新的数据被写入时,会丢弃macOS剪贴板中的缓存内容(#5139)
确保CF_HTML的偏移量与AWT在Windows系统上写入的字节数保持一致(#5137)
在启动失败时记录故障日志;若在记录日志之前就发生失败,则以非零状态退出(#5133)
在迁移过程中删除旧存储路径之前,先保存新的存储路径(#5131)
拒绝应用那些在测试阶段丢失了exe文件的zip更新版本(#5129)
恢复粘贴目录功能,防止导入/导出操作导致数据损坏(#5127)
为远程加载的行设置最终状态,避免其相关文件被遗留下来(#5125)
实现非文件内容的转发,同时确保剪贴板内容不会形成循环传递(#5123)
当推送内容被丢弃时,删除预先分配的大文件存储槽位(#5119)
当搜索窗口关闭且未粘贴内容时,将焦点恢复到之前的应用程序(#5117)
停止在无头模式下记录配对令牌(#5109)
按原始路径引用MCP添加的文件(#5106)
在通过界面编辑粘贴内容时,可更新配套风味选项(#5104)
当标签或粘贴内容被删除时,移除相应的链接(#5102)
绝不可用默认值覆盖无法读取的应用配置文件(#5099)
当文件从CrossPaste存储中复制出来时,需保留其所属记录(#5097)
拒绝导入路径位于受管理存储之外的记录(#5095)
引用FTS搜索词,这样标点符号就不会干扰搜索了(#5093)
修复离线模式下的可移植版本更新功能、镜像绑定机制、跨镜像继续下载功能以及速率限制突破问题(#5092)
在配对v3版本中自动注册发起方的地址,这样那些从未见过该设备mDNS地址的接收方也能与其建立连接(#5086)
修复Linux系统中的粘贴面板菜单在多显示器环境下的定位、内容裁剪以及焦点处理问题(#5079)
在Linux系统中,当用户点击其他位置时,自动关闭浮动按钮的菜单功能(#5078)
在没有鼠标指针离开时,让Linux系统中的浮动按钮重新显现出来(#5076)
将URL以纯文本形式提供,以便非Java应用也能将其粘贴进来(#5072)
防止GuidePasteDataService.initData在主机启动代码中引发异常(#5070)
当无法定位到X11窗口时,提示用户手动粘贴(#5066)
在Linux系统中创建粘贴面板窗口,作为覆盖重定向功能,这样点击该窗口后目标应用就能保持处于活动状态(#5064)
在Linux系统中,为粘贴面板按钮菜单设置不透明的主题背景色(#5063)
修复Windows系统中的粘贴面板边框以及按钮菜单图标的问题(#5062)
在测试调度器上运行ws-session同步处理程序,以解决CI测试中的异常问题(#5058)
将macOS应用程序菜单中的“关于”选项指向对应的关于页面,并将其标题进行本地化处理(#5054)
让“关于”页面滚动,以避免应用名称和版本信息被截断显示(#5053)
仅在存在存储路径管理器的环境中提供大文件目标选择功能(#5051)
将--add-opens作为单个参数传递,这样基于JBR 25构建的程序就能正常启动了(#5044)
由于在 macOS 26版本中Desktop.browse功能会丢弃深度链接,因此需要通过open(1)命令来打开无障碍设置面板(#5036)
用布局修饰符限制设备名称标记的尺寸,这样就能对该行进行精确测量了(#5026)
停止对更新站点中固定名称的文件进行30天的缓存处理(#5006)
将设备名称标记的显示长度限制在标题行长度的一半,这样就不会导致名称显示不完整(#4993)
关键的侧边预览功能能够记住其实际读取的数据中的相关块信息(#5012)
仅从内容中提取HTML文本,对其进行修剪,并解码实体编号(#5010)。
当网络状态发生变化时,刷新网络设置界面列表(#5009)
当对等节点名称没有对应地址时,手动添加操作会失败(#5000)
用对端拨打的地址(#4998)回复/sync/syncInfo
将浏览器扩展程序中的键名更新为新的i18n键名,并检查相关引用内容(#4974)
在一个终端锁控下完成推送会话的最终处理,并删除过期数据(#4945)
仅在粘贴内容稳定后才会确认已接收(#4937)
加强MCP服务器的生命周期管理,并在设置中及时发现启动失败问题(#4931)
按接口隔离JmDNS生命周期,并将附近的在线状态与发现源关联起来(#4929)
确保在重启后仍能忽略Windows网络警告(#4926)
在解析接口时尊重“发现”选项的设置,不再因最后一位字节而丢弃主机(#4924)
约束加密后的HTTP数据包,同时停止为未知节点缓存处理结果(#4922)
当验证响应丢失时,重新启动v3配对会话,而非刷新该请求(#4919)
确认WebSocket的paste_push功能,这样在接收端出现故障时,同步任务就会失败(#4915)
修复线圈内存缓存限制被设置为435 MiB的问题(#4912)
新功能
让PasteContentEditor能够保存HTML内容及其背景色(#5176)。
直接将导出的文件导入包中,而非先创建临时副本(#5166)
仅为悬停的搜索卡片(#5160)录制拖动预览层。
将物品拾取、图像解码以及编辑器序列化操作从UI线程中分离出来(#5150)
按createTime对历史记录列表进行索引,仅在内容发生变化时才重新对FTS进行索引(#5135)
在UI线程之外解析HTML/RTF预览内容(#5121)
在完成几次循环后,停止教程按钮的闪烁;仅在设备刷新指示器处于旋转状态时才显示该指示器(undefined5113)
可在后台下载portable-zip更新,具备带宽限制功能且支持断点续传(#5091)
可添加、删除设备,以及使用CLI命令进行屏蔽与解屏蔽操作(#5087)
使用箭头图标显示排序方向,并在搜索栏中通过状态特定的工具提示来说明相关信息(#5081)
通过RemoteDesktop端口将其粘贴到原生Wayland窗口中(#5068)
用移动式太阳/自动/月亮滑块(#5052)替换主题分段按钮。
用目标地址选择功能替代大型文件下载选项,并在接收文件时保留因冲突而产生的文件名更改结果(#5047)
添加一个悬浮式、非激活状态的面板,点击后可将历史记录行粘贴到当前聚焦的应用程序中(#5039)
增加一项设置,让接收到的文件存储在托管存储中,而非下载文件夹中,从而避免超过备份大小限制(#5038)
重新设计导入页面:支持按文件类型选择、直接拖拽导入、带权限控制的按钮以及实时显示导入结果(#5030)
将内容区域设计为灰色背景、白色内容卡片以及中性色调的标题(颜色代码:#5022)。
通过匹配规则排除剪贴板来源(#5020)
在剪贴板来源页面上仅列出被排除的应用程序,如需添加其他应用程序,则可直接选择该应用(#5017)。
在Windows、macOS和Linux系统中支持密码管理器的剪贴板提示功能(#5015)
优化设置界面交互功能(#4991)
请在本地设备的名称后用纯文本标注该设备的信息,而非使用状态标签(#4959)。
在桌面版中,将本地设备显示为设备列表的第一行(#4957)
为DeviceRowContent添加一个“名称后置槽”,用于在设备名称之后显示内联标记(#4955)
在myDevicesSection中添加一个首位项目槽,以便本地设备能显示在列表的最上方(#4953)
让设备页面根据其显示的内容来执行相应操作(#4935)
为智能体提供MCP工具,并拒绝未知的搜索过滤器(#4940)
通过OkHttp路由SOCKS代理,并限制ResourcesClient的响应大小(#4933)
将Skiko的周期性System.gc()改为并发执行模式(#4913)
多平台 · 代码重构 · 代码风格
移除无法访问的图片缩略图处理流程(#5143)
移除未使用的手动编写的SyncApi.SCHEMA路由列表(#5158)
修复损坏的DeepWiki徽章,并将下载徽章升级至v2.2.1版本(#5107)
请说明PasteWriteScope (#5074)中包含的剪贴板内容。
将对应设备行标记为只读状态,并在已禁用的行上跳过悬停检测功能(#5057)
解除设备行中的Compose 1.12弃用警告,以及NonActivatingWindow相关的警告(#5056)
重新设计设置结构,让常用设置不会被隐藏在“高级”选项中(#5048)
可设置SettingSectionCard容器的颜色、边框以及修饰色(#5021)
为移动端准备共享设备界面:平台显示名称、两行式的名称显示、中性的板块标题,以及提取出的相关操作选项(#4951)
重命名那些不再与其对应版本的共享i18n键值(#4970)
重命名、合并及删除仅适用于桌面端的国际化键值(#4967)
在桌面端用CIO替换Netty服务器引擎(#4911)
从Dockerfile中提取Glama MCP入口脚本(#4939)
将“导出页面类型选择器”整合到筛选按钮中,并添加仅显示已标记项的图标(#5032)
将“分享”页面置于内容区域中,并使用分区卡片进行展示(#5034)
将OCR语言包分组到灰色背景(#5028)上的对应卡片中。
用主色(#5024)为灰色背景上的卡片压印状态上色。
仅在包含多行的卡片(#5023)上保留发丝状边框。
在国际化字符串中始终以一致的格式输出HTML和RTF内容(#4949)
将每种语言中的HTML粘贴类型名称大写(#4947)
重新编写设置文本,使得每行和每页的内容在显示时都不出现副标题(#5049)
修改关于设置、存储、更新、CLI以及MCP界面的中英文文案(#4963)
修改与设备连接、搜索、通知以及“关于”页面相关的英文和中文文案(#4965)
根据新的英文版本(undefined4976 undefined4980 undefined4986 undefined4988),对繁体中文、韩文、德文、波斯文、西班牙文、葡萄牙文、法文和日文版本的文本进行修订。
指定Glama MCP目录的维护者(#4938)
在路线图中将命令行模式标记为已实现功能(#4907)
将Chrome扩展程序及CLI功能的描述简化为一行内容(#4906)
在README中添加Trendshift和mcpservers.org的徽章(undefined4920)
构建与持续集成
确保真实的贝壳以及基于墙钟机制的等待时间不会被纳入快速测试范围中(#5164)
让八个被静默跳过的测试得以运行,并防止出现非空值的测试方法(#5115)
在CLI测试中,与withIsolatedHome助手一起使用以恢复HOME状态(#5144)
在FilePushServiceTest构建粘贴内容之前初始化JsonUtils(#5154)
将gradle-wrapper的版本从9.7.1升级到9.8.0(#5169)
在端到端测试框架中添加logback配置,以避免JmDNS调试输出淹没测试结果(#5085)
添加国际化一致性检查以及国际化风格指南(#4961)
为MCP服务器添加Glama stdio Dockerfile(#4916)
从版本目录中删除未使用的Kotter条目(#4917)
依赖项
将捆绑的运行时环境迁移到JBR 25.0.4.1 b610.67版本(undefined5042)
将Compose多平台版本升级至1.12.1,将Navigation版本升级至2.10.0-beta01(#5055)
将Kotlin版本从2.4.10升级到2.4.20(#5001)
将sqldelight版本从2.3.2升级到2.4.0(#5061)
将磁芯线圈的版本从3.6.0升级到3.6.3(undefined5060)
将imageio版本从3.14.0升级到3.15.2(undefined5083)
将ch.qos.logback:logback-classic的版本从1.6.3升级到1.6.5(undefined5171)
推送 com.github.ben-manes.caffeine:caffeine 版本:#5082
将io.github.vinceglb:filekit-dialogs的版本从0.15.0升级到0.16.0(#5004)
提升 dev.nucleusframework:composenativetray-jvm 的版本:undefined5172
将com.squareup.okio:okio的版本从3.18.1升级到3.18.2(#4943)
提交了 com.mohamedrejeb.richeditor:richeditor-compose 的更新:undefined5168
将org.yaml:snakeyaml的版本从2.6升级到2.7(#4910)
将com.helger:ph-css的版本从8.2.1升级到8.2.2(#5170)
将vitest版本升级至4.1.11,同时调整browserslist及baseline-browser-mapping的设置,以消除Dependabot发出的警告提示(#4994)
亮点
CrossPaste CLI现在,每个桌面版软件包都会附带一个原生的命令行工具。crosspaste(macOS在首次启动时会提供一键式终端命令安装功能,而Windows则支持一键将其添加到PATH环境变量中)。可通过管道符来复制。echo hello | crosspaste),粘贴内容;搜索历史记录时会使用与搜索窗口相同的筛选条件;可在全屏模糊选择器中挑选条目,也可对条目进行编辑。$EDITOR,并实时直播新的贴文内容。watch——可以连接成对的设备,让应用程序在服务器上以无界面模式运行,而这一切都可以通过终端和脚本来实现。在支持sixel功能的终端中,剪贴板中的图像甚至可以以真实像素的形式直接预览出来。详情请见CLI指南对于每一个命令和示例(#243#3828 #4769#4771 #4776#4778 #4780#4782 #4786#4788 #4790#4809 #4812#4815 #4817#4822 #4824#4826 #4828#4836 #4841#4849 #4850#4851 #4852#4859 #4893)。
第二代设备配对功能:现在的设备配对过程会通过SPAKE2(RFC 9382)协议进行密码认证式的密钥交换,从而需要输入一个6位数的临时密码——该密码每30秒就会变化一次。这样一来,网络上的任何黑客都无法截获配对过程的信息,也无法从错误的尝试中获取任何有用的信息。此外,对在线尝试输入密码的次数也有限制。椭圆曲线运算则是在应用程序中内置的OpenSSL库中进行的,该库具有恒定时间处理机制,同时还会在启动时进行故障检测。旧版本设备仍会通过之前的流程进行配对(undefined4861 undefined4865 undefined4869 undefined4877 #4881)。
更可靠的Windows剪贴板内容捕获功能:通过单消费者处理机制,可以将连续截取的剪贴板内容合并为一个个完整的快照,从而解决Windows 11系统中“截图工具”自动保存功能所出现的干扰问题;同时,也能消除从同一份内容中生成的重复图像记录。此外,SQLite的忙等待超时机制现已生效,这有助于解决在资源竞争情况下出现的随机性写入失败问题(undefined4791 undefined4796 undefined4799)。
用户界面优化:用户界面框架已升级至Compose Multiplatform 1.12版本。现在,系统的全亮/全暗模式能从第一帧开始就正确应用,不再出现启动时的闪烁现象。系统托盘在macOS、Windows和Linux系统上采用了统一的实现方式;主窗口的高度会被限制在可用屏幕区域内,因此用户界面的底部不会再低于屏幕边缘。侧边栏中显示的过长标题在悬停时会显示工具提示,而当焦点移开时,这些标题的内容就会被保存下来。此外,现在只需点击一次,设置字体下拉菜单就会关闭了(undefined4761 undefined4886 undefined4901 undefined4903)。
漏洞修复
当失去焦点时,显示被截断的粘贴内容标题以及提交记录标题的编辑提示信息(#4903)
在创建UrlPasteItem时去除周围的空白字符(#4899)
停止将粘贴内容推送到已失效且断开的同步行中(#4895)
通过WsSessionManager.closeAll结束会话,从而解决并发迭代问题(#4890)
在版本3的路由配置中,应使用origin.remoteAddress而非remoteHost,以避免因反向DNS查询而被阻塞的问题(#4875)
在进行点对点配对锁定之前,先读取信任请求中的内容(undefined4873)
暴露那些因加密错误而导致的密钥不匹配问题,从而触发DECRYPT_FAIL异常(undefined4872)
限制v3版本中的累计尝试次数,加强OpenSSL密钥管理机制(#4867)
在CLI镜像的路由处理中,将缺失的本地图形库问题转化为可处理的503错误状态(#4857)
在不支持的K/N主机上限制对cli构建脚本宿主地址的查询(#4856)
克服mordant在原生Windows原始模式下的超时问题,并在程序退出时恢复控制台模式(#4826)
强化TaskExecutor功能:能够容忍损坏的extraInfo数据,会重新抛出取消请求;在系统关闭后则不会抛出任何异常(#4806)
通过连接属性应用sqlite相关指令,从而使busy_timeout生效(#4799)
通过短时间窗口的“先保留第一个”策略来删除重复的本地图像记录(#4798)
通过单消费者管道将Windows剪贴板中的多条内容合并为单个快照(#4796)
加强用于后台进程的无头模式启动与关闭流程的安全性(#4782)
为被屏蔽的CLI配置键提供针对每个键的准确提示信息(#4774)
拒绝那些需要在运行时才可配置的CLI参数(#4773)
拒绝有损的CLI配置转换(#4772)
将主窗口的高度限制在可用屏幕区域内(#4761)
新功能
通过交叉粘贴令牌实现Surface v3的PIN码设置,并设置接受窗口机制(#4893)
让字体下拉菜单外的点击能够直接传递过去,而不会被拦截(#4887)
在PairingProtocolV3Service中添加经过屏蔽的遥测观测器接口(#4881)
通过在集成后的后端中设置PAIRING_VERSION 3的标识来推出配对功能v3版本(#4877)
添加跨粘贴令牌命令,用于在接收端显示配对码(#4859)
将六边形渲染结果以粘贴形式显示在内联预览中,同时也会出现在选择面板中(#4852)
添加带DA1确认功能的sixel终端能力探测功能(#4851)
为CLI图像预览添加原始RGBA转码接口(#4850)
添加基于纯Kotlin的六进制编码器,采用中值切割量化技术(undefined4849)
让通过PATH安装的CLI自动发现开发应用实例(#4843)
在非MSIX格式的安装环境中,可一键将相关内容添加到Windows CLI的PATH路径中(#4841)
在所有平台上以及开发模式下显示命令行扩展项信息(#4836)
进行编辑时,应在原位置更新内容,而非复制新的条目(#4828)
添加一个监控命令,可通过NDJSON数据流实时获取新内容(#4824)
添加带有全屏模糊选择器的交互式选择功能(#4822)
通过搜索窗口奇偶性过滤器,将搜索命令合并到历史记录中(#4817)
添加一个编辑命令,可将内容通过$EDITOR进行往返粘贴处理(#4815)
将通过管道输入的stdin视为可直接复制的内容,并添加c/p/h命令别名(#4812)
支持通过CROSSPASTE_USER_DATA_DIR以及:cli:run任务来指定目标开发应用实例(#4810)
使CLI列表的显示内容能够适配终端宽度,并实现按单元格精确截断内容(#4809)
从命令行输出图像字节数据,并直接在终端中显示预览效果(#4790)
通过命令行启动无界面守护进程,并记录该守护进程的部署过程(#4788)
通过 /cli 配对 API 从终端端进行设备配对(#4786)
通过管道、格式设置、颜色显示以及退出码等功能,提升CLI终端的使用体验(#4780)
提供在 macOS 上安装 crosspaste 终端命令的方案(#4778)
检测应用程序的运行状态,并通过命令行自动启动桌面应用程序(#4771)
通过Unix域套接字提供本地/CLI接口,同时让CLI成为一个纯粹的HTTP客户端(#4769)
多平台 · 代码重构 · 代码风格
在ComposeNativeTray中实现三个平台上的系统托盘统一功能(#4902)
使TokenInputRow的预期值与实际值保持一致,从而让移动设备能够实现无闪烁的输入体验(#4900)
通过动态函数isSystemInDarkTheme(#4886),直接在组件中设置系统的深色主题。
通过启动时进行故障检测的方式,限制libcrypto库的加载仅限于已打包在其中的版本(#4865)
通过JNA用恒定时间算法的OpenSSL替换BouncyCastle SPAKE2 EC后端(#4861)
将心跳检测失败日志的级别降为警告级别,同时不再显示堆栈跟踪信息(#4838)
清理Gradle 9的废弃功能警告以及Kotlin编译器产生的警告(#4833)
在构建时生成CLI版本,并在CI流程中添加CLI编译检查环节(#4767)
当配对对话框打开时,将焦点置于第一个令牌输入框上(#4758)
当会话被取消时,自动关闭v3配对卡片(#4756)
将v2代币倒计时条的数值调整至与v3配对卡片相同(#4754)
构建与持续集成
在开发过程中自动下载所需的libcrypto库,这样无需系统中的OpenSSL即可使用v3版本(#4869)
通过Conveyor将OpenSSL libcrypto组件整合到桌面版软件包中(#4863)
在CI打包工作流中,将Bump Conveyor CLI的版本从21.0升级到22.1(#4839)
将CLI原生构建过程拆分为基于路径分发的并行CI任务(#4803)
对测试套件进行分层处理,以便拉取请求时能运行快速测试,而发布时则运行集成测试套件(#4801)
抑制Kotlin/Native中与“禁用目标平台”及“跨语言互操作”相关的警告信息(#4784)
在所有桌面版软件包中一并提供CLI二进制文件(#4776)
为e2e框架添加--advertise-address选项(#4752)
依赖项
将ComposeNativeTray的版本从1.3.3升级到2.1.3,以便支持Compose 1.12版本(#4901)
将io.coil-kt.coil3的版本从3.5.0升级到3.6.0,以此支持Compose 1.12版本,并修复GIF/AsyncImage相关的显示问题。
将com.mohamedrejeb.richeditor:richeditor-compose的版本从1.0.0升级到1.1.0,以便支持Compose 1.12版本,同时修复剪贴板相关问题(#4891)
将gradle-wrapper的版本从9.7.0升级到9.7.1(#4889)
将Compose多平台版本升级至1.12.0(#4885)
将io.github.vinceglb:filekit-dialogs的版本从0.14.2升级到0.15.0(#4819)
将ch.qos.logback:logback-classic的版本从1.6.1升级到1.6.3(#4818)
将org.bouncycastle:bcprov-jdk18on的版本从1.85升级到1.85.2(#4765)
将org.jetbrains.compose.hot-reload的版本从1.1.1升级到1.2.0(#4764)
将gradle-wrapper的版本从9.6.1升级到9.7.0(#4763)
将PostCSS升级到8.5.26版本,以解决源代码映射信息泄露的问题(#4762)
亮点
强化的设备同步功能:在同步过程中采取了全面的安全与稳定性强化措施——同步连接及控制请求会严格验证对方的身份;文件传输时会检查路径的合法性,并限制资源使用量;此外,格式错误的数据也无法再干扰正常的同步过程(#4705–#4716)。
更可靠的连接机制:设备记录出现损坏时,也不会再妨碍设备列表的加载;元数据读取失败时,也不会再导致设备标识被重置;设备状态的变化能够准确地在用户界面中体现出来;一旦建立连接,设备就会立即显示为已连接状态,无需等待下一次状态检测;此外,HarmonyOS设备还会以专属图标来标识(颜色代码:undefined4720 undefined4724 undefined4747)。
现在,首次启动时主窗口会自动打开。此前在某些平台上,首次启动时只会显示任务栏图标,而没有窗口出现,这让用户误以为该应用无法正常启动。现在,在所有桌面操作系统上,首次启动时都会自动显示主窗口(undefined4697)。
可自定义大型剪贴板内容的大小限制。现在可以设置文本、HTML、富文本以及链接内容在历史记录中的最大存储容量(默认为8MB)。超过此限制的内容不会被保存,这样,过大的文本就不会导致数据库负担过重或界面运行变慢;同步功能也会跳过这些内容,从而不会影响数据的连续性。文件和图片则不受此限制的影响(undefined4701 undefined4704)。
新的外观设置页面:现在“设置”选项卡中有了专门用于调整外观的页面,用户可以自定义侧边搜索窗口的高度,并实时查看预览效果。侧边窗口中的卡片标题栏高度会与卡片的尺寸成比例变化(颜色为#4664、#4674、#4676)。
macOS:隐藏Dock图标。macOS独有的一项新设置可让CrossPaste图标从Dock中消失,仅保留菜单栏上的图标(undefined4677 #4678)。
现在可以关闭URL预览功能了。通过新的设置,可以避免获取已复制链接的标题和图标信息,这样CrossPaste就不会对这些链接发起网络请求——这样做既是为了保护隐私,也是为了避免意外生成一次性链接。该功能默认处于开启状态,与之前的行为一致(undefined4744)。
Chrome扩展程序的改进:该扩展现在可以解密来自桌面应用程序的加密数据,支持基于SAS/PIN的配对机制,同时还能进行身份验证后的WebSocket连接建立,从而能够与那些需要经过身份验证才能建立连接的设备保持同步(undefined4729 undefined4749)。
漏洞修复
在Chrome扩展程序中实现经过身份验证的WebSocket握手功能(#4749)
当有新的WebSocket连接建立时,立即更新设备状态(#4747)
在共享的搜索视图模型中,根据ID去重搜索结果(#4733)
解密Chrome扩展程序中加密的WS粘贴内容功能(#4730)
允许设备列表映射中每行存在损坏的hostInfo JSON数据(#4728)
在读取元数据失败时,切勿更改设备标识符(#4724)
为SyncRuntimeInfo流程添加广播语义功能(#4722)
在主机信息比对中加入网络前缀(#4720)
使ErrorCode的hashCode与equals方法保持一致(#4718)
验证文件传输路径元数据的一致性(#4716)
因会话容量不足而回滚推送准备操作(#4714)
验证同步控制请求(#4712)
解决WebSocket全文件下载时的歧义问题(#4711)
验证WebSocket会话(#4710)
绑定WebSocket粘贴标识符(#4709)
限制远程文件传输资源的使用(#4708)
文件片段截断错误(#4707)
将远程粘贴功能与已验证的身份绑定(#4706)
拒绝不安全的远程文件路径(#4705)
防止粘贴时出现光标间隙问题(#4704)
修复已丢弃的超大尺寸远程粘贴内容导致的光标位置异常问题(#4703)
在所有桌面平台上,首次启动时自动显示主窗口(#4697)
在异步调度之前先分配v2交换版本,并确保验证器的获取操作是原子性的(#4693)
当发起方放弃配对时,释放响应方待处理的v2交换请求(#4690)
修复SPAKE2会话生命周期相关的问题,同时暂停处理那些尚未经过恒定时间复杂度安全审查的请求(#4663)
新功能
增加禁用URL预览加载的选项(#4744)
支持通过v3握手协议来传输分块式的WebSocket数据包(在v3版本正式推出之前该功能处于待用状态)(#4732)
丢弃那些过大的、非文件形式的数据项,以避免数据库中的记录数量过多(#4699)
增加对HarmonyOS平台的支持,并配备系统图标(#4695)
为浏览器扩展程序添加v2版(SAS)和v3版(SPAKE2 PIN)的配对功能支持(#4683)
Render pairing v3版本支持根据设备生成的令牌卡来处理接收者会话,并在建立信任关系后自动关闭该会话(#4681)
添加macOS设置,用于隐藏Dock图标(#4677)
增加外观设置页面,可自定义搜索窗口的高度(#4674)
添加仅用于开发的配对v3互操作标志(#4667)
为端到端测试框架添加配对v3场景(pair-v3、all-v3)(#4665)
第3版配对方案:将真正的SPAKE2/P-256 PakeProvider与RFC 9382规定的向量值结合使用(#4658)
配对v3第4阶段:桌面界面(#4656)
第3阶段配对功能:网络协议服务、路由功能以及客户端API(#4654)
第3版基础组件:基于单设备的会话处理,以及PIN与SPAKE2这两种构建模块(#4652)
多平台 · 代码重构 · 代码风格
根据卡片大小按比例调整侧边贴纸的标题栏尺寸(#4676)
Harden配对v3的互操作握手机制及信任建立流程的用户界面设计(#4669)
提取PairingV3Transport接缝,用于流程内的v3测试(#4661)
将存储的JSON编码格式与同步格式分开处理,同时修复哈希计算及大小统计问题(#4648)
在类型层面将QR承载令牌与SAS代码分开(#4644)
强化粘贴流程插件管道,并限制非文件类型内容的最大粘贴尺寸(#4701)
构建与持续集成
添加微软商店发布自动化功能(#4738)
通过任务级的Gradle缓存、konan缓存以及已执行任务的取消功能,加快CI流程速度(#4689)
将与平台无关的测试移至核心的commonTest中,并在CI流程中覆盖这些核心/共享功能(#4646)
文档
用以下内容替换联系邮箱support@crosspaste.com (#4671)
在README导航中添加视频链接
将README下载标签更新为v2.1.6版本
依赖项
将org.bouncycastle:bcprov-jdk18on的版本从1.84升级到1.85(#4741)
将com.squareup.okio:okio的版本从3.18.0升级到3.18.1(#4740)
将版本从3.5.1升级到3.5.2(#4739)
➖ 从共享资源中移除未使用的Compose插件及运行时环境(#4726)
将logback-classic版本从1.5.38升级到1.6.1(#4687)
提升 io.modelcontextprotocol:kotlin-sdk-server 的版本号(#4686)
将Kotter版本从1.3.0升级到1.4.0(#4685)
将元数据提取工具的版本从2.20.0升级到2.21.0(#4650)
将okio版本从3.17.0升级至3.18.0(#4649)
使用Bump compose-shimmer效果(颜色:#4642)
提升richeditor-compose的性能
将Kotlin版本从2.4.0升级到2.4.10
将imageio版本从3.13.1升级至3.14.0
亮点
已修复Chrome扩展程序与桌面应用之间的剪贴板循环问题。在同一台机器上同时运行这两个程序时,会导致相同的剪贴板内容不断在两者之间来回传递,从而使剪贴板历史记录中充满重复内容。现在,这两个程序能够识别对方所写入的内容,不会再互相触发彼此的功能了(undefined4620)。
Windows系统中的剪贴板监控功能已得到升级。现在,该功能会使用“AddClipboardFormatListener”事件机制,因此能够更快速、更可靠地捕获被复制的内容。至于内容是从哪个应用程序复制的,现在则是通过“GetClipboardOwner”函数来确定——也就是实际向剪贴板写入内容的程序,而非只是处于前台窗口的程序(undefined4606)。
在较新版本的Windows系统中无需wmic即可正常使用。较新的Windows 11版本已经去掉了wmc工具,而这正是导致CrossPaste无法生成设备标识符的原因。现在,该工具会通过读取注册表中的MachineGuid来获取信息(#4580)。
重新打开搜索窗口时,搜索界面会正确重置。现在,重新打开搜索窗口或更改查询条件后,列表会滚动到顶部并选中最新的条目,而不会保持之前的位置或选中状态(undefined4600)。
设备检测时会优先考虑本地局域网。当一台电脑拥有多个网络连接方式时(比如蜂窝调制解调器或手机热点),CrossPaste在检测附近的设备时,会首先考虑本地网络接口(#4568)。
新的Linux ARM64版本:CrossPaste现在提供了Linux ARM64(aarch64)版本的软件包,因此基于ARM架构的Linux设备也能得到支持了(undefined4582)。
漏洞修复
修复Chrome扩展程序与桌面端之间导致的无限复制循环问题(#4620)
强制README头像以PNG格式输出,从而保持圆形遮罩的边缘透明(#4615)
将Windows剪贴板监控功能移至AddClipboardFormatListener函数中(#4606)
重新打开应用或更改查询条件时,重置侧边搜索选项并滚动到最新内容(#4600)
改用GetClipboardOwner函数来确定Windows剪贴板的来源,而非依赖当前活动窗口(#4597)
在Linux测试版工作流中,将signing_key传递给Conveyor(#4584)
用注册表中的MachineGuid来替代已过时的wmic功能,以此获取Windows设备的UUID值(#4580)
将WindowsProcessUtils版本的日志级别从错误级改为调试级(#4578)
在ResourcesClient.request()中捕获网络错误,而非直接抛出异常(#4577)
在设备发现功能中,将局域网接口的优先级置于蜂窝网络接口之上(#4568)
新功能
添加Linux aarch64(ARM64)构建目标(#4582)
在端到端测试框架中添加telnet测试场景(#4562)
性能
在侧边预览视图中,对RichTextState使用普通记忆方式即可(#4618)
多平台 · 代码重构 · 代码风格
从DesktopAppLaunchState DI组件中移除runBlocking功能(#4575)
按子域及区域对Koin模块进行分组声明(#4573)
使ImageHandler和ImageWriter的I/O方法进入挂起状态(#4570)
构建与持续集成
将contrib.rocks替换为手动触发的贡献者README工作流程(#4613)
添加手动Linux测试版构建流程(#4583)
提供由OSS支持的CDN站点发布的更新内容(#4560)
将输送带相关功能的更新页面映射到稳定的OSS前缀下(#4559)
文档
修复提交指南中的方格旗表情符号代码问题(#4598)
依赖项
Gradle Wrapper从9.5.1升级到9.6.1(undefined4608)
logback-classic 1.5.34 → 1.5.37 (undefined4611)
Ktor 3.5.0 → 3.5.1 (#4607)
Web构建依赖:vite / @babel/core,安全版本升级(#4593)
composenativetray-jvm更新版本(#4591)
webp-imageio 0.10.2 → 0.11.0 (#4588)
Koin 4.2.1 → 4.2.2 (#4585)
线圈版本从3.4.0升级到3.5.0(#4566)
filekit-dialogs 0.14.1 → 0.14.2 (#4565)
HikariCP 7.0.2 → 7.1.0 (#4564)
JNA 5.19.0 → 5.19.1 (#4563)
主要改进:
修复了“检查更新”功能出现错误的问题。当有新版本可用时,点击“检查更新”按钮会引发错误,具体表现为在Windows安装版和macOS系统中出现“无法从事件分发线程调用invokeAndWait”的错误。现在,无论是否处于事件分发线程中,该功能都能正常运行,从而解决了手动检查更新时的问题(#4554 #4555)。
主要改进:
连接更加快速、稳定。此版本重点提升了设备之间的连接性能。当您更换Wi-Fi网络、网络地址发生变化或电脑从休眠状态恢复时,CrossPaste能更快地重新识别其他设备并建立连接,不再会出现长时间“离线”的情况。即使设备的IP地址发生变化,也能可靠地重新连接(#4506 #4510 #4515 #4519 #4521 #4527 #4529)。
应用内变更记录与升级提醒:现在您可以直接在应用内查看每次更新的详细内容。当有新版本可用时,左侧菜单中会显示一个小图标,提示您进行升级(#4525)。
Windows版:无需手动操作即可更新。Windows便携版现在可以自动更新。有新版本时,CrossPaste会自动下载并验证新版本,然后替换旧版本并重启应用——无需再手动下载和解压新的压缩文件(#4537)。
修复了导致无限循环粘贴的问题。在某些情况下,按下Cmd/Ctrl+V键可能会导致无限循环粘贴的情况。现在,粘贴功能更加稳定可靠(#4501 #4502)。
设备列表显示更流畅。在重新检测离线设备时,设备列表不再闪烁,显示更加稳定(#4508)。
文本格式保持完好。现在,从JetBrains IDE等应用程序中复制带格式的文本时,文本格式不会被破坏。剪贴板的HTML字符集检测功能也得到了改进(#4542 #4550)。
Linux系统下的剪贴板功能得到优化。在Wayland环境下,复制的文本能够正确显示。
漏洞修复
解码剪贴板中的HTML内容时,避免使用不可信的宽字符集标签(#4550)
通过Compositor IPC解决在Wayland环境下确定剪贴板来源应用程序的问题(#4546)
在读取剪贴板内容之前先检查X11系统的就绪状态,从而减少XWayland中的延迟(#4544)
修复从JetBrains IDE中复制过来的剪贴板HTML内容出现乱码的问题(#4542)
确保/sync/telnet指令只发送给已经配对的设备(#4529)
加强网络发现功能的稳定性:采用非阻塞式的mDNS处理方式,减少重建操作的延迟,同时支持离线模式(#4515)
避免在重新检测离线设备时出现设备列表闪烁的情况(#4508)
将设备标识与IP地址分离,以确保重新连接时的稳定性(#4506)
在模拟粘贴操作时,禁止系统识别快捷键(#4502)
避免在同步处理过程中出现CancellationException异常(#4504)
防止通过Cmd+V快捷键导致的无限循环粘贴问题(#4501)
在网页上粘贴内容时,使拖拽预览图的角度更加圆润(#4485)
在appInstanceId从AppConfig中移除后,修复CLI构建相关的问题(#4482)
新功能
Windows版便携版软件支持应用内自动更新功能(#4537)
支持与已配对设备快速重新连接(#4527)
应用内新增“最新更新”页面,显示升级提示(#4525)
在稳定状态下,发送与子网匹配的地址(#4521)
通过/sync/telnet发送与子网匹配的地址,以减少mDNS重新连接的延迟(#4519)
当操作系统的网络设置发生变化时,自动恢复mDNS连接(#4510)
多平台开发 · 代码重构 · 代码风格优化
使用单调计时器来控制重试次数(#4548)
去除对Jewel的依赖,改用原生的Compose窗口组件(#4489)
减少SyncResolver在连接轮询过程中的日志输出量(#4523)
构建与持续集成
重新生成网页版本及翻译相关的文件(#4487)
将GitHub Actions升级到Node.js 24运行环境(#4480)
文档编写
在CLAUDE.md文档中,将开发者交互界面默认设置为中文(#4512)
依赖项更新
composenativetray-jvm版本升级 (#4535)
logback-classic从1.5.32升级到1.5.34 (#4497 #4534)
web构建相关依赖项更新/PostCSS安全补丁应用 (#4533)
Kotlin版本从2.3.21升级到2.4.0 (#4513)
Compose Multiplatform版本从1.11.0升级到1.11.1 (#4511)
MCP Kotlin SDK Server版本升级 (#4517)
JNA版本从5.18.1升级到5.19.0 (#4516)
ph-css版本从8.1.1升级到8.2.1 (#4498)
Gradle Wrapper版本从9.5.0升级到9.5.1 (#4491)
kotlin-logging版本从8.0.03升级到8.0.4 (#4492)
MockK版本从1.14.9升级到1.14.11 (#4493)
Caffeine版本升级 (#4494)
atomicfu版本从0.32.1升级到0.33.0 (#4495)
日期:2026-07-17
版本:2.1.5
日期:2026-04-16
版本:1.2.2
一键复制粘贴工具网页版
下载MP3剪切合并大师精简版
下载Clipboard Master(复制粘贴工具)v4.10.8
下载幂果剪贴板
下载YT Downloader免费版
下载盖世游戏管家正版
下载bandiview最新版
下载DevEco Studio官方版
下载7.24MB
2026-10-16
47.01MB
2026-10-19
8.29MB
2026-10-20
81.25MB
2026-10-20
143.18MB
2026-10-19
20.44MB
2026-10-20
42.78MB / 2026-06-22
84.55MB / 2026-03-23
248.80MB / 2026-09-08
2.79MB / 2026-07-23
25.97MB / 2026-04-29
1.90MB / 2026-05-07
210.99MB / 2026-09-08
京ICP备14006952号-1 京B2-20201630 京网文(2019)3652-335号 沪公网安备 31011202006753号违法和不良信息举报/未成年人举报:legal@3dmgame.com
CopyRight©2003-2018 违法和不良信息举报(021-54473036)400-105-5185 All Right Reserved
玩家点评 (0人参与,0条评论)
热门评论
全部评论