据MarkTechPost报道,Vercel于2026年10月21日发布开源包durable-harness,用于让编码智能体会话在崩溃和超时后继续存活。该包以适配器方式包裹Pi、OpenCode、Claude Code和Codex等现有harness,不修改原工具;每个会话保存在持久日志中,函数死亡不再意味着工作丢失。

durable-harness采用Apache-2.0许可,npm包版本为0.0.x,适配器覆盖Pi、OpenCode、fx、Claude Code和Codex五个harness。它可运行在Vercel Functions加Vercel Queues、Node.js 22+配Postgres,或笔记本电脑文件系统上;Claude Code和Codex需要Vercel Sandbox。Vercel未公布延迟或吞吐量基准,所有恢复能力说法均由Vercel自行报告。

Vercel团队解释,Pi、Claude Code等harness原本面向长期运行的本地进程,会话保存在内存中,工作区和历史也在同一块磁盘上,因此本地恢复只需一个提示。云端虚拟机即使有持久存储,也不追踪哪些调用已经完成;一次失败回合或网络错误就会造成工作丢失。

durable-harness把回合中的每一步写入持久日志:模型或工具调用运行前记录意图,调用结束后记录结果。每个回合由Vercel Queues上的一条消息支撑;若函数死亡,队列把该回合交给新函数,新函数读取日志后继续。日志会显示哪些调用已完成、哪些仍在运行、哪些从未开始。已完成的调用从日志读回,已完成的模型token不会再次计费。对查找类等标记为replay: 'safe'的工具,可以重新运行;对退款等标记为replay: 'never'的工具,不会运行两次。模型会被告知该调用可能已经发生。

Harness会话文件也会镜像到日志,包括Claude Code的transcript、Codex的rollout和OpenCode的事件存储。模型选择的命令不会在函数自身磁盘上运行。工具文档列出三种工作区:virtual()把文件保存在会话日志中,提供兼容bash的shell且无网络,约容纳500个文件;virtual({ durable: false })把临时文件放在内存中,每个回合清空;sandbox()为每个会话提供Vercel Sandbox,/workspace位于Drive上。待办列表等类型化JSON文档也存放在日志中,每个最大64 KB。该包当前处于实验性0.0.x阶段,API可能变化;Claude Code和Codex即使自托管也只能在Vercel Sandbox中运行。