<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>实时协作 | 锤子前端</title><description>Now vibe coding, so learning hammer FE ?</description><link>https://channel.meo-ai.com</link><item><title>《前端状态管理的真相与迷思》</title><link>https://channel.meo-ai.com/posts/686</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/686</guid><pubDate>Mon, 27 Jul 2026 02:05:27 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《前端状态管理的真相与迷思》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Web%E5%BC%80%E5%8F%91&quot; title=&quot;#Web开发&quot;&gt;#Web开发&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23React&quot; title=&quot;#React&quot;&gt;#React&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86&quot; title=&quot;#状态管理&quot;&gt;#状态管理&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Redux&quot; title=&quot;#Redux&quot;&gt;#Redux&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Zustand&quot; title=&quot;#Zustand&quot;&gt;#Zustand&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Jotai&quot; title=&quot;#Jotai&quot;&gt;#Jotai&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23MobX&quot; title=&quot;#MobX&quot;&gt;#MobX&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CRDT&quot; title=&quot;#CRDT&quot;&gt;#CRDT&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E7%A6%BB%E7%BA%BF%E4%BC%98%E5%85%88&quot; title=&quot;#离线优先&quot;&gt;#离线优先&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%AE%9E%E6%97%B6%E5%8D%8F%E4%BD%9C&quot; title=&quot;#实时协作&quot;&gt;#实时协作&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF%E6%9E%B6%E6%9E%84&quot; title=&quot;#前端架构&quot;&gt;#前端架构&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;作者犀利指出，React生态中流行的&quot;状态管理&quot;库（Redux、Zustand、MobX等）本质上只是状态传播与通知系统，而非真正的状态管理。真正的状态管理必须包含时间维度与顺序概念，能正确应用变更并解决冲突。作者推荐转向Y.js、Zero、Fluid等基于CRDT或OT的时序感知系统，它们天然支持离线优先与实时协作，才是前端数据层的未来方向。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;1. 那些我们天天用的Redux、Zustand、MobX，本质上更像&quot;消息广播员&quot;而不是&quot;状态管家&quot;——它们能通知组件更新，却搞不定时间顺序和冲突解决&lt;br /&gt;2. React自己也不是状态管理系统，整个前端圈把这个词用得太随意，导致大家一直在用错误的工具硬撑复杂场景&lt;br /&gt;3. 真正的状态管理必须懂&quot;时间&quot;和&quot;顺序&quot;，就像分布式系统用向量时钟给事件排队，没有时间概念就谈不上管理&lt;br /&gt;4. 值得庆幸的是，Y.js、Zero、Fluid这类基于CRDT和操作变换的工具已经相当成熟，它们天生会处理冲突，离线和实时协作都是顺手的事&lt;br /&gt;5. 当我们把数据层从&quot;发通知&quot;升级到&quot;管时序&quot;后，离线优先和实时协作不再是昂贵的附加功能，而是正确架构带来的自然馈赠&lt;br /&gt;&lt;br /&gt;URL：&lt;br /&gt;&lt;a href=&quot;https://infrequently.org/2026/07/state-management&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://infrequently.org/2026/07/state-management&quot;&gt;https://infrequently.org/2026/07/state-management&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://infrequently.org/2026/07/state-management&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;It is by no means the gravest linguistic crime of the React epoch,1 but &amp;quot;state management&amp;quot; grates like nails on chalkboard. A Socratic dialogue I keep having about it goes something like this:&quot;&gt;
  &lt;i class=&quot;link_preview_right_image&quot; style=&quot;background-image:url(&apos;https://cdn4.telesco.pe/file/ikJwW7XtmRLraCtYYCU98eth1-gW6tZABXURyVahlK4DeVCx2q4ZW-GpUv8pXhNBJynRgGNB-8pkhsrRb1oOdMPFQ9GcwYYYJyKx2_246dZIbRuP0VVRejifERHTEtfMqvEthY27WJRAS-5Wqp9SkPcVI_XNkHWmd9yRkmPOS34i-e-SS9uL9QOozGTnezpHvhfM5LMkxZSmNck0D9I18sQk-Zm2znuBFHlMYkTb-9fCqRfwK06uTvUVyuukqZ0-Tl-WjUVPiPkQ5dnPfXTv0vtZR_nYDtwwUmkU8y5MXoNTGMq_ZpaG-xLuD_jur7PA4b1tP0iV01K4Xg9BXiefFQ.jpg&apos;)&quot;&gt;&lt;/i&gt;
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Infrequently Noted&lt;/div&gt;
  
  &lt;div class=&quot;link_preview_title&quot;&gt;The Absolute State of Management&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;It is by no means the gravest linguistic crime of the React epoch,1 but &quot;state management&quot; grates like nails on chalkboard. A Socratic dialogue I keep having about it goes something like this:&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>《OpenAI Agents SDK：轻量级多智能体工作流框架》</title><link>https://channel.meo-ai.com/posts/607</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/607</guid><pubDate>Mon, 20 Apr 2026 05:15:21 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《OpenAI Agents SDK：轻量级多智能体工作流框架》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23AI&quot; title=&quot;#AI&quot;&gt;#AI&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%A4%9A%E6%99%BA%E8%83%BD%E4%BD%93&quot; title=&quot;#多智能体&quot;&gt;#多智能体&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Python&quot; title=&quot;#Python&quot;&gt;#Python&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23OpenAI&quot; title=&quot;#OpenAI&quot;&gt;#OpenAI&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23MCP&quot; title=&quot;#MCP&quot;&gt;#MCP&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%99%BA%E8%83%BD%E4%BD%93%E5%B7%A5%E4%BD%9C%E6%B5%81&quot; title=&quot;#智能体工作流&quot;&gt;#智能体工作流&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23LLM&quot; title=&quot;#LLM&quot;&gt;#LLM&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%AE%9E%E6%97%B6%E8%AF%AD%E9%9F%B3&quot; title=&quot;#实时语音&quot;&gt;#实时语音&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%B2%99%E7%AE%B1%E7%8E%AF%E5%A2%83&quot; title=&quot;#沙箱环境&quot;&gt;#沙箱环境&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;OpenAI Agents SDK 是一个轻量但功能强大的 Python 框架，用于构建多智能体工作流。它支持 OpenAI 的 Responses 和 Chat Completions API，同时兼容 100 多种其他 LLM，具有供应商无关性。框架围绕&quot;智能体&quot;这一核心概念展开，每个智能体都配备指令、工具、护栏和交接机制，让复杂任务可以像搭积木一样拆解协作。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;- 智能体是核心乐高积木：每个智能体都自带&quot;说明书&quot;（指令）、&quot;工具箱&quot;（函数/MCP/托管工具）和&quot;安全护栏&quot;（输入输出校验），还能互相&quot;交接&quot;任务，像团队协作一样分工处理复杂流程&lt;br /&gt;- 沙箱智能体让AI真正&quot;动手干活&quot;：0.14.0 版本新增的 Sandbox Agent 能在容器环境里操作文件系统、运行命令、打补丁，适合需要长时间执行且要保留工作状态的&quot;重体力&quot;任务&lt;br /&gt;- 人在回路，安全可控：内置了人类介入机制，在关键节点可以暂停流程等人来确认，避免AI&quot;自作主张&quot;搞出大新闻&lt;br /&gt;- 全链路可观测：自带 Tracing 追踪系统，能可视化查看每个智能体的思考过程、工具调用耗时和 Token 消耗，方便调试和优化&lt;br /&gt;- 不挑模型，兼容百家：虽然是 OpenAI 出品，但设计上保持中立，支持接入 100+ 种 LLM，包括通过 LiteLLM 等适配层接入国产模型&lt;br /&gt;- 实时语音也能玩：支持用 &lt;code&gt;gpt-realtime-1.5&lt;/code&gt; 构建语音智能体，把实时语音能力也纳入多智能体协作体系&lt;br /&gt;&lt;br /&gt;文章URL：&lt;a href=&quot;https://github.com/openai/openai-agents-python&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/openai/openai-agents-python&quot;&gt;https://github.com/openai/openai-agents-python&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://github.com/openai/openai-agents-python&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;A lightweight, powerful framework for multi-agent workflows - openai/openai-agents-python&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;GitHub&lt;/div&gt;
  
  &lt;div class=&quot;link_preview_title&quot;&gt;GitHub - openai/openai-agents-python: A lightweight, powerful framework for multi-agent workflows&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;A lightweight, powerful framework for multi-agent workflows - openai/openai-agents-python&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>《关于协作编辑的谎言（第二部分）：为什么我们不用Yjs》</title><link>https://channel.meo-ai.com/posts/575</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/575</guid><pubDate>Wed, 18 Mar 2026 01:39:20 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《关于协作编辑的谎言（第二部分）：为什么我们不用Yjs》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23ProseMirror&quot; title=&quot;#ProseMirror&quot;&gt;#ProseMirror&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CRDT&quot; title=&quot;#CRDT&quot;&gt;#CRDT&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%8D%8F%E4%BD%9C%E7%BC%96%E8%BE%91&quot; title=&quot;#协作编辑&quot;&gt;#协作编辑&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96&quot; title=&quot;#性能优化&quot;&gt;#性能优化&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Yjs&quot; title=&quot;#Yjs&quot;&gt;#Yjs&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%AE%9E%E6%97%B6%E5%8D%8F%E4%BD%9C&quot; title=&quot;#实时协作&quot;&gt;#实时协作&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;本文是Moment.dev团队关于协作编辑算法分析的第二部分，作者详细阐述了为何在生产环境中放弃Yjs而选择基于ProseMirror-collab的简单方案。文章指出Yjs存在严重的性能问题（每次协作编辑会销毁重建整个文档）、与文档Schema冲突、权限控制困难、调试困难以及墓碑数据占用内存等问题。作者认为，除非真正需要无主节点的P2P架构，否则40行代码的&quot;简单方案&quot;在性能、可维护性和开发体验上都优于复杂的CRDT实现。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;- Yjs存在严重性能缺陷：每次协作编辑会销毁并重建整个文档，导致60fps目标难以达成，影响NodeView、插件状态、撤销功能和光标位置管理&lt;br /&gt;- 简单方案仅需40行代码：使用prosemirror-collab库，通过单一权威节点管理文档版本和事务，支持乐观更新、离线编辑和网络中断恢复&lt;br /&gt;- Yjs与文档Schema冲突：在无主节点架构下难以验证事务有效性，可能导致数据永久丢失，升级时尤其危险&lt;br /&gt;- 权限控制复杂化：需要将Yjs的XML更新预测转换为ProseMirror事务来判断权限，实现难度大&lt;br /&gt;- 墓碑数据问题：Yjs需保留删除标记，导致内存持续增长或数据丢失风险，而简单方案通过数据库存储步骤即可解决&lt;br /&gt;- 调试困难：CRDT仅保证最终一致性，难以区分暂时分歧与真正错误，调试工具受限&lt;br /&gt;- 核心观点：技术选型应从最终用户体验出发，而非算法本身；如无P2P刚需，简单方案在各方面均优于CRDT&lt;br /&gt;&lt;br /&gt;文章URL：&lt;a href=&quot;https://www.moment.dev/blog/lies-i-was-told-pt-2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://www.moment.dev/blog/lies-i-was-told-pt-2&quot;&gt;https://www.moment.dev/blog/lies-i-was-told-pt-2&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://moment.dev/blog/lies-i-was-told-pt-2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Lies I was Told About Collaborative Editing, Part 2: Why we don&apos;t use Yjs / Moment devlog&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;Lies I was Told About Collaborative Editing, Part 2: Why we don&apos;t use Yjs / Moment devlog&quot; src=&quot;/static/https://cdn4.telesco.pe/file/YVXaUzBE8-9TDW2QQrSSbabfgg71zJ4YfK9str6-S1LPODRrO0GTgZm9XVC005_t5HR8VqdNrsgcUwQyA9CcsGyd1JTNXiYmfD35KPvxoWVvTV3w40qwfsqy8doKw0ZtWIufS8kkP6b_7C_qBXZmPDelkDueKKd_mZLaVGpRdnWPevjv76nE543DoXGcMtepNx9ppudeaLhaphSNg-17nX4wJVoKz43YqT9z_ynPXioKsnRqKvzAi1NxlO07pXRzyhwn5GcDxgfJ6WE6NlLa5PhPeeJh7VLRKBwCq1-crT8pqRc_IVTVDnEToydSWbK2EBXIWObDBA27HcLh3qeT-Q.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  
  
&lt;/a&gt;</content:encoded></item></channel></rss>