
Vercel 正式开源 durable-harness,一款面向编码代理的持久化适配层工具包,用于解决云端AI编码代理进程崩溃、超时导致任务中断、工作成果丢失的痛点。它作为适配器封装现有各类编码harness,无需改动原有代理本身,支持Pi、OpenCode、fx、Claude Code、Codex。项目采用Apache-2.0协议,当前处于0.0.x实验阶段。

核心原理
编码代理(Claude Code、Pi这类工具)原生多设计为本地内存常驻进程,一旦云端函数崩溃,内存中的会话状态直接丢失。
durable-harness 会把每一步执行动作写入持久日志:执行前记录调用意图,完成后保存结果;任务流程依托Vercel Queues消息队列调度。当进程崩溃,队列会把本轮任务转交新函数,新实例读取日志,从断点继续执行。
日志会区分不同工具的重放策略:
- 已经完成的模型/工具调用直接读取日志结果,不会重复执行、不会重复扣减token费用
replay: 'safe'类工具(如文件检索)可安全重跑replay: 'never'类高危操作(退款等)绝不重复执行,模型会知晓调用可能已发生
会话日志同时镜像保存harness会话记录,包含Claude Code转录、Codex输出、OpenCode事件存储。结构化JSON文档(待办清单等)也存入日志,单条上限64KB。
工作区选项
命令与文件不会直接运行在函数本地磁盘,提供3种工作区模式:
virtual():文件保存在会话日志,内置兼容bash的沙盒shell,无外网,最多容纳约500个文件virtual({ durable: false }):临时文件存放内存,每轮执行后清空sandbox():独立Vercel Sandbox,在Drive挂载/workspace工作目录注意:Claude Code、Codex无论云端或自托管场景,都必须依赖Vercel Sandbox。
部署运行环境
- Vercel平台:依托Vercel Functions + Vercel Queues,Agent Runs追踪会话
- 本地环境:直接写入本机文件,零配置
- 自托管:Node.js22+搭配Postgres 5.0.4+,也支持MongoDB、Redis、Turso,仅需配置两个环境变量即可切换后端
横向对比
durable-harness定位是现有编码harness的持久化适配器,和Temporal、Inngest AgentKit、Cloudflare Agents SDK等代理编排框架定位不同,优势在于原生兼容Claude Code、Codex编码代理生态;缺点是版本尚为实验版,暂无公开延迟、吞吐量基准,恢复能力数据均为Vercel自报。
相关导航


MiniMax Skills

Canva Code

aiopsterm

RedBookSkills

Ponytail

Build with Claude






