返回首页
最新
你好!我是s2.dev的创始人之一,最近我一直在开发opbox,这是一个开源守护进程,可以将文本文件(代码、Markdown等)的目录转换为协作的多用户工作区。
最初,这个项目出于一种知识上的好奇,想看看是否可以在文件系统级别实现实时同步(即与编辑器无关的方式)。
这个想法相当简单:
- Opbox工作区大致类似于git仓库(可以与现有的git仓库一起使用,以在提交之间共享实时更改)。
- 当opbox守护进程在工作区中运行时(ob start),它会监听其目录中的本地文件系统事件(写入、删除、新文件),并将这些事件转换为操作(即“op”)在对应于每个文本文件的影子CRDT文档(Yrs)上(以及一个处理路径的命名空间文档)。
- 这些影子CRDT文档保存在工作区本地的sqlite数据库(Turso)中。
- 这些操作代表了对应CRDT文档的差异,然后被附加到一个持久化流(S2)中,作为所有同步参与者的共享日志。
- Opbox还会从该日志中读取,接收来自其他参与者的操作,然后用这些操作更新本地文档,首先在数据库中,然后将其实际化为磁盘上的文件。
这在实时共享像Obsidian图形这样的内容时效果出乎意料的好。
它在需要从任意编辑器编辑本地文件但仍然能够实时协作的情况下最为有用。最佳体验来自于可以配置积极自动保存策略的编辑器,并且对打开文件的编辑能够及时反映在编辑器中。
为了增强对核心opbox流程(特别是双向同步的所有细微差别)正确性的信心,我投资于使用turmoil库进行确定性模拟测试,这非常有帮助(请参见仓库中的opbox-sim crate)。
如果我倾注我的心血、灵魂、汗水、鲜血和泪水去创作一个完美的一次性提示,并获得一个完美的回应,那这还算是“氛围编码”吗?
任何与常见生物信息学工作和计算生物学相关的简单请求被标记为可疑,真让人感到愤怒。就好像我们在试图武器化病毒或制造炭疽一样!<p>生命科学的用户们,你们的经历如何?
未填充的观点:
经过适当提示、审查和完善的 PR 较少,但通常在长期内更具优势。<p>*每天 3 个深思熟虑的 PR > 40 个思考不周的 PR,无论有多少 AI 代理进行审查。*