编注:本期内容为少数派 Matrix 社区应用自荐文章合集。文章代表作者个人观点,作者与文中产品有直接的利益相关(开发者、自家产品等),少数派仅对标题和排版略作修改。
本期目录1️⃣ BookmarkPro:跨平台书签同步与管理2️⃣ Trimly:让你记录的美好生活,触手可及3️⃣ Parti:免费开源多人在线联机平台,支持自定义游戏
BookmarkPro
SPBGFS | iOS / macOS / Windows | 下载地址
我主要使用 Mac,但是目前 Windows 仍然必不可少(打游戏)。流畅简单的 Safari 很好,但 Windows 下的某些情况(越做越差的 Edge,停止维护的 Arc,尝鲜各种 AI 浏览器),我需要更换浏览器。以上,我需要一款跨平台同步,且独立于浏览器的书签管理工具 -BookmarkPro。
这是一款注重隐私的跨平台书签管理工具,让你在 Windows、macOS 和 iOS 之间同步书签,同时完全掌控自己的数据。
你的数据存储在你选择的位置。支持 WebDAV、OneDrive 和本地文件同步,无需依赖我们的服务器。我们不会收集、存储或访问你的书签内容。
主要功能:
Windows、macOS 和 iOS 跨平台同步
支持 WebDAV、OneDrive 和本地文件同步
SHA256 加密保护数据安全
Safari 扩展支持
Chrome 扩展支持
Edge 扩展支持
FireFox 扩展支持
支持 Chromium 系列浏览器
支持 iOS 分享菜单快速保存
自动记录最近访问的网页
快速搜索,拼音搜索
从 Chrome、Safari、Edge 和 Firefox 导入书签
打开网易新闻 查看精彩图片
无论是在浏览器还是其他应用中发现有价值的内容,都可以快速保存到 BookmarkPro。
通过自动记录最近访问的网页,你可以轻松找回曾经浏览过的内容,就像浏览器内置的书签管理器一样方便。
BookmarkPro 让你的书签独立于任何浏览器。即使更换浏览器,你的数据依然完整保留,随时可用。
下载链接 :https://www.spbgfs.com/zh/bookmarkpro/
Trimly
Bleaker | iOS / macOS / iPadOS | 下载地址
▍拍完只是第一步
过去几年里,包括你我在内,越来越多的人购入了各种各样能拍视频的电子小玩意:手里拿的,身上挂的,甚至天上飞的。与此同时,人手一支的智能手机的视频性能也在迅猛发展,许多过去只在专业视频机上才能看到的参数和功能,普通人点几下屏幕便可轻松用上。
如果有幸真的在过着一个值得记录的美好生活的话,这些技术进步自然要善加利用。日常逛街遛娃吃吃喝喝、周末短途出游、长假上山下海走遍世界,每次回到家都会产出少则数 GB,上不封顶的大量视频文件。在插着存储卡拷贝文件时,难免陷入思考:拍是拍完了,然后呢?
拍视频那自然是为了看。但与照片不同,视频文件实在是太大了,大到哪怕钞能力拉满,开个 12TB 的 iCloud,仍然没法优雅解决「我想随时看之前拍的东西」的问题:超大视频是绝无可能放到手机里的,这意味着每次想看的时候,都要现场从云上拉取。视频越大,载入时间越长,足够让人失去耐心。
看到这里,你可能会说 NAS 等自托管存储方案。这个理论上是可行的,但还是有几个问题:
多谢 AI,硬盘价格已经起飞了,并且一年半载内看不到回落的迹象;
国内家用网络的上行带宽是很有限的,在公网环境加载家里的高码率视频时,等待过程仍然很痛苦;
维护 NAS 以及稳定的公网访问,仍然需要一定的技术门槛和持续工作量。
同时,我还有以下几个假设:
绝大多数的人都并不是所谓的「内容创作者」,专业的视频内容制作并非我们的兴趣,因此也不需要特别多「素材」的概念;
承认吧朋友们,大多数扔进 NAS 里的东西,基本就是吃灰的命。特别是长视频,你是绝对不会再把它们掏出来完整看一遍的;
在持续拍摄记录的过程中,我们真正会每次打开都能露出笑容的,都是一些散落其中的片段,短则数秒(甚至只是一张 live photo),长则一两分钟。其余很多内容并无长期保存必要。
于是,一个理想的视频工作流应该是这样的:
持续录制长视频;
从长视频中剔除无意义、纯浪费时间和存储的片段,保留下相对有意思的部份,存入硬盘 / NAS 等冷存储目的地;
再从有意思的部份中,挑出一些真正会反复观看的精华短片,保存到 iCloud 相册中,所有设备都能随时随地回看;
如果有时间的话,把有意思的部份作为视频素材,剪辑一些轻度的 vlog 等作品。
带着以上明确的需求,我开始搜索 Apple 生态里能满足的工具。但最后惊讶的发现,从剪映到达芬奇,或者苹果自家的 iMovie 和 Final Cut Pro,抑或 App Store 里浩如烟海的 app,没有一个能把这件看起来不是很复杂,但对整个工作流至关重要的事情做对。
于是,作为一个近 20 年的苹果产品用户,以及有多年专业音视频开发经验的技术工作者,我给自己,以及可能也有类似需求的你,做了一个把「从长视频里截取片段」这件事做到极致的产品:
能简单的在视频里标记很多个或长或短的片段或者截图、Live Photo 时刻,然后一键把这些内容导出到 Apple Photos 或者文件系统;
导出内容的时间戳要能对应其真实时间,这样才能在 Apple Photos 里和其他照片 / 视频正确排序,不像微信发过来的那样全是乱套的;
其他媒体元数据,例如拍摄的 GPS、设备、镜头等信息,都尽可能和原始视频保持一致;
要能正确保留 HDR 视频与图像;
要能直接在预览和导出时应用 LUT,不用再打开那些又大又沉的专业视频编辑器;
尽可能像苹果自己做的一样,不需要特别 fancy 的交互,但一定要能稳定高效解决问题。
我把它叫做 Trimly。
Trimly is an adverb that means in a neat, orderly, smartly arranged, or well-groomed manner. It describes actions done with tidiness and smart appearance, and is the adverbial form of the word "trim"
▍How Trimly Works 原生开发,全平台支持
既然目标是「像苹果自己做的一样」,那肯定是要 iPhone/iPad/Mac 都要支持的。得益于现代的 Apple 开发框架,SwiftUI 已经能比较好的实现一套代码,根据不同的屏幕尺寸和设备特征实现响应式布局。
同时作为What's a Computer的资深受害者,我对 iPadOS + 外接键盘 / 显示器,以及 Stage Manager 下的可缩放窗口等偏门使用场合都做了深度优化。
另外值得一提的是,Trimly 除了 iCloud 外,没有账号系统且完全不连网。同时使用了 0 个第三方库 / SDK,所有功能均通过 Apple 第一方 API 实现。不得不说,现在的 AVFoundation/CoreImage/CoreGraphics 确实已经非常完备了,很多以前需要libffmpeg才能实现的功能,现在都能自己做好
符合预期的导入导出
无论原始视频是在 Apple Photos 还是文件系统,Trimly 都会直接读取原始文件(哪怕是在外置硬盘)然后添加剪辑点和导出。几十 G 的视频文件,如果还要加个复制导入流程,很有可能直接撑爆内置存储。
对于导出过程,除了上面提到的保留 HDR 和支持套用 LUT 外,Trimly 还支持不同档位的转码,包括不转码的 passthrough 模式,以及在画质 / 文件大小之间的不同取舍。不同人对 Apple Photos 里该放多大的东西有不同的需求。
Trimly 希望可以让所有用户都不用再二次转码视频。
Metadata 智能处理
在某个版本的 iOS 相册支持显示 EXIF 信息后,越来越多的用户开始希望自己的媒体内容都能有正确的 metadata,就像很多年前 iTunes 让我们重视音乐的专辑与 ID3 信息一样。
Trimly 会给导出的视频尽可能保留全部的元数据。与此同时,还会根据导出内容在原始视频中的偏移量,智能计算导出内容的时间戳。
举个例子,很多人在看演唱会时会一直拿着 Pocket 录像,同时手机也在不停拍照。Pocket 录制的原始长视频的时间戳是起始时间,如果导出一个五分钟到五分十秒的片段,Trimly 会把这个五分钟的偏移量加上去,这样在 Apple Photos 中,该片段会出现在前五分钟手机拍摄的照片之后。
一些 Apple 自己都不那么上心的功能
iOS 8 推出的 Handoff 功能我非常喜欢,但很少有看到第三方 App 能把这个功能做到真的有用且好用,大多数时候,它只是在 Dock 上一个碍眼的图标。
在开发 Trimly 时,我发现自己有一个真实需要这个功能的场景:在电脑上添加剪辑点到一半时,突然需要出门或者去卫生间,但心流不想被中断。因此,我实现了编辑记录的 iCloud 同步,以及授权文件夹内的检索功能。这样,只要两台设备的访问范围里都有相同的文件,就可以无缝接力同步了。
▍定价
在开发 Trimly 的过程中,相当多的技术选型与架构设计,特别是涉及音视频处理管线的部份,以及和 PhotoKit 打交道的各种技术细节,都远比我预期的复杂。能把所有功能做到 just works,还是具有一定门槛,不是随便 vibe coding 就能轻松做出来,并且整个架构做到清晰可维护的。
在过去几个月里,我自己一直是 Trimly 的头号用户,持续深度使用几乎每一个功能,并尽力打磨每一个细节。目前的完成度也自认为远超绝大多数 vibe 的半成品。
与所有人一样,我痛恨订阅制收费,并且一直是 old school 一次性付费模式的拥趸。因此,我设置了发展中地区 6 元 / 1 美元,发达地区 3 美元的定价。一次购买,全平台可用。考虑到这是一个可以重塑整个工作流的工具,我认为还是相当便宜的。
希望 Trimly 可以帮到和我一样有类似需求的朋友。
官网:https://trimly.zshbleaker.me
Parti
Link25 | Web | 在线链接
有时候难得两三人小聚,空暇时间却没什么东西打发时间,打把王者吧,时间不好控制,赶上更新一两百兆,流量和时间都没了。过年亲戚来玩,牌桌被大人们占了,微信小程序开房间还要看广告,麻烦得要死。桌游倒是开箱即用,但占地方不说,不熟悉的光看规则就头大了,难免各种村规 / 口胡。
现在各种在线游戏很多,但玩起来都缺少一种纯粹的乐趣,联机能玩的内容其实不多,毕竟大公司做游戏的目的就是为了赚钱,写代码、服务器这些都需要成本。我很喜欢玩的元气骑士、Minecraft,都是多人联机游戏里非常出色的游戏,但是上手总有这样那样的门槛,至少安装包下载是少不了的。
有没有什么地方能够完全不需要下载,没有任何门槛,点开就能联机和朋友一起玩的呢?这听起来像是天方夜谭,但 Parti 做到了。
▍开端
Steam 上有一个大名鼎鼎的游戏魔能系列,可以用 7 种不同的元素组合技能释放出不同的魔法,玩起来很有意思,可能很少有人知道它还有一个移动端的游戏《魔能方碑之巫》,或者叫《巫师也平板》,我小时候接触的就是这一版,玩起来非常有意思,剧情对话充满了冷幽默,也有很多隐藏技能需要自己发掘,威力强大,最有趣的是技能联动很有意思,各种元素组合出降雨术、炎爆术等等,玩起来很上头,可惜年代久远,十几年前的 32 位游戏现在已经没有多少设备能玩了。
最近我突然怀念起这个游戏,魔能的经典要素就是多人联机,混乱的法术导致的不同效果有时候能迸发巨大的威力,有时候也会把友军炸个半死,这才是多人联机的魅力,手游版本的魔能自然也不例外,但可惜网络环境导致基本上连不上官方服务器,也就根本没办法多人联机,我只能干看着那个灰色的联机按钮,放暑假找小伙伴们玩,也只能各玩各的存档,尝试了好多方法都不行。
要是能有自己做一个联机版本的方碑之巫就好了,我曾多次这样想过,但是一想到工作量,我就放弃了。
也是在很久很久以前,我曾经在 v 站发过一个自己写的基于 peerjs 的 web p2p 聊天工具 Peek,现在我自己也还在用这个工具传文件,很方便。后来我就在想能不能通过这个方式,做一个 p2p 的小游戏站点呢?不需要服务器,两个人扫码就能联机玩一些小游戏。Web RTC 其实完全可以做到,但是对于当时的我来说这样的项目精力消耗还是太大了,也就只是想想而已。
其实并非只是想想,由于当时的技术限制,我曾经做过一个 Node js 版本的联机平台,又是一个轮子造烂了的方向,还需要一台服务器才能运行,限制非常大,没搞多久我就放弃了。
直到我最近突发奇想,要是能让 peerjs 直接当作后端,解决复杂的联机协议问题,让开发者专注于编写游戏逻辑,那不是直接就能解放服务器,解放大脑了吗?
我脑海里顿时浮现出了一整个完整的协议大纲,一套自定义游戏代码机制,和一个不需要思考就能开发联机游戏的美好未来图景,当然,还有那稍微想想就能意识到大到令人头皮发麻的工作量。
▍时代的进步
但,这一切都随着 AI 大时代的到来被完美解决了,我只是稍微向 Codex 描述了一下我的初步方案,然后,这一切就这样水灵灵地出现了,Parti 诞生了,一个真正意义上的零门槛联机平台,一个支持完全自定义游戏代码的平台,乘着时代的风,来到了我的面前。
写代码?不存在的,整个 Parti 都是 Vibe Coding 出来的,Codex 把开发格式、联机协议、透明性等等处理的整整齐齐,当然,是在我的监督之下,否则我也无法想象这么大一套东西最终会变成什么究极屎山。不过目前来看,已经开发了十多个小游戏的情况下,Codex 的上下文窗口用量并没有显著的增长,这确实说明了 Parti 的架构策略小有成效。
得益于在开发之初,我就明确了 Parti 的最终形态,协议层、底层联机层、Web 层、自定义游戏层等被严格分离,确保了整体代码架构的稳定性,Parti 最终没有变成脱缰野马,而是一步一个脚印变成了我想象中的样子。
▍扫码开玩
Parti 的零门槛体现在方方面面,UI 非常简洁,打开网页就能看到醒目的「创建联机房间」按钮,点击按钮,挑选游戏,创建房间,分享,一气呵成。其他人扫码就能直接访问。
但需要注意的是,它要用系统自带浏览器打开才行,内置浏览器限制得太多了。不得不说,在 Web 如此牛逼的跨平台支持下,只要能打开网页的设备,基本上都能进行 Parti 游戏,感谢浏览器厂商多年的努力。
▍预置游戏
一个游戏平台最不能缺少的就是游戏,Parti 目前内置了十多种游戏,并且支持市场和自定义游戏导入,只有想不到,没有做不到(大概)。
你可以在这里玩到经典的 HTML 2D 风格小游戏,感受纯粹的暴力美学,仿照《魔能》的七元素组合系统,射线、爆炸、喷射魔法,用最丑最简陋的素材做最多的特效:
新手上厨
胡闹厨房在线版,回家没带电脑的玩时候再合适不过啦
Endwell 无底之尽
七元素不同组合释放不同法术,美工见笑了,Codex 也有力所不能及的事
云端远征
多人版涂鸦跳跃,还能打 boss
爆破派对与像素坦克大战
经典红白机小游戏,猜猜 Codex 花了多久
也可以完全抛开画面,放空大脑,单纯享受聚会的乐趣:
你画我猜
支持经典模式与接力模式,词库还需优化
谁是卧底与狼人杀
桌游必不可少的哼哈二将,现在还支持牌盒模式手动发牌,再也不用担心手机被没收了
当然也绝对少不了经典的回合制游戏,扑克、麻将这些都是基础操作,棋牌游戏完全踩中了 Parti 的舒适区:
斗地主、超级扑克与超级麻将
国民游戏还需要介绍吗
午夜赌局
经典骗子酒馆类型游戏,终于不用手动发牌了
▍想玩的游戏没有?可以自己做
Parti 也允许导入自定义房间。一个最简单的房间只有三个文件:
代码块
room.worker.jstextparti.room.json记录游戏名、人数、入口和权限index.html管界面room.worker.js保存规则和权威状态。
你可以从空白房间或模板开始,在编辑器里改,也可以直接导入 ZIP 或者 GitHub 仓库里的房间代码。现在 Parti 还支持了市场协议(基于 GitHub Issue),可以快速把自己开发的游戏发布到 Parti 中,让更多人能玩到。
当然,最简单也是我最推荐的方法,就是直接全部交给 AI,Parti 专门有一整套文档供开发者 / AI 阅读,只需要复制简单的提示词,就能让任何一个有些许 Agent 技能的 AI 直接帮你写出完整的游戏,稍微复杂一点,直接让 opencode 或者 Codex 代劳,连发布的活都省了。
比如用 Deepseek 网页版创建的德州扑克和井字棋游戏,啪地一下就搞定了。
▍联机是如何实现的
Parti 的联机原理也非常简单,它本质上就是通过 Web RTC 进行连接建立和数据传输,只是它把底层的脏活累活都处理好了,开发者只需要关心它的协议,api 如何调用,然后专注于自己的逻辑实现。
如果是服务器联机游戏开发,核心逻辑代码会运行在云端的服务器上,而在 Parti 中,由于完全没有服务器做后盾,这部分代码会通过 Web Worker 运行在房主设备上,并且通过房主连接所有人,承担大部分服务器的工作。
房主:既然做好了开房间的准备,就要有承担更多责任的觉悟啊。
这样做的好处是,Parti 完全不需要服务器支持,只要 Parti 网页还能访问,就能一直运行下去,一直联机,一直开房间。白嫖到底,这就是开发者的底气(误。
Parti 的房间分享功能也是内置的,开发者无需关心,就能自动获得,房间公开性设置、设置密码、二维码 / 链接分享、局域网公开等基础平台功能开箱即用。
▍集大成者
可以说,Parti 目前几乎把浏览器的能力发挥得淋漓尽致,它的联机能力来自于 Web RTC,它的包加载能力依靠 Service Worker 实现,通过 Web Worker 运行游戏服务端逻辑,依靠 Canvas 实现画面渲染,动作传感器权限让重力感应成为可能,如果 Parti 早诞生几年,可能还没有如此广阔的设备支持如此多的新特性,甚至如果不是 Codex,Parti 如此之多的代码量,协议设计与适配器,开发工作量让人来实现也简直不敢想象。但现如今,随着手机厂商、浏览器厂商的努力,新特性不断普及,AI 也越来越好用,正是这些天时地利一贯而出,让 Parti 最终横空出世。
▍并非万能
WebRTC 受运营商、NAT、公司网络和地区连接状况影响很大。有些网络环境就是连不上,或者延迟明显。遇到这种情况,可以试试切到局域网模式,或者让所有设备挂在同一个 Wi-Fi 下。
房主的浏览器要干权威计算的活,所以游戏期间房主不能把页面关掉。Parti 也没有竞技级的反作弊能力,它面向的就是朋友聚会、家庭娱乐和轻量社交。房主、玩家设备和房间代码都不能当成绝对可信的环境。说实话,要是跟朋友玩聚会游戏还要开挂,那大概也不是技术能解决的问题了。
一些内置游戏还在继续调。动作手感、网络表现、移动端布局、多人流程,都得靠更多真人试玩来磨。如果哪个游戏玩着有问题,欢迎直接反馈。要是你已经改好了,提个 PR 就更好了。
▍开个房间再说
现在 Parti 里有了《Endwell》,还陆续塞进了平台跳跃、炸弹竞技、坦克大战、你画我猜、狼人杀、斗地主和麻将。这些游戏打开浏览器就能玩,朋友离得近就递个二维码,离得远就发条链接。登录注册开会员?不存在的。
如果你心里也有一款一直想玩、却始终没能跟朋友联机上的游戏,可以翻翻代码和开发文档:Parti GitHub 仓库 。也许 Parti 里的下一款游戏,就来自另一场迟到了很多年的联机。
链接 :https://parti.linkai.work/
/欢迎投稿/
/产品推荐/
热门跟贴