简介
durable-harness 是 Vercel 在 2026 年 10 月 19 日发布的开源项目(GitHub vercel-labs/durable-harness,Apache 2.0),要解决的问题很具体:Claude Code、Codex 这类编程智能体本来是给本地长时间运行设计的,一轮任务的状态放在进程内存里,搬到云函数上以后,函数超时、崩溃或者重新部署,这一轮就白做了,还可能把发 PR、退款这类操作执行两遍。durable-harness 的做法是不改智能体本身,在外面套一层:每次模型调用和工具调用之前先在日志里记下「准备做什么」,做完记下结果,每一轮背后挂一条 Vercel Queues 消息;函数死了,队列把这一轮交给新函数,新函数读日志从断点接着跑。Claude Code 的对话记录、Codex 的 rollout、OpenCode 的事件库也会镜像进日志,换一台机器或一个沙箱也能还原。日志存放在开源 Workflow SDK 的 World 接口后面,Vercel 上用 Vercel 的 World,本地用文件,自建可以用 Postgres,同一个智能体换存储不用改代码。项目目前是 0.0.x 实验版,Claude Code 支持标为实验。官方来源:https://vercel.com/blog/making-every-harness-durable 、https://vercel.com/docs/agent-harnesses 、https://github.com/vercel-labs/durable-harness (2026-10-23 核对)。 定价:durable-harness 本身 Apache 2.0 开源免费,可在本地或自有服务器(Postgres)运行;部署到 Vercel 时,函数、队列、Sandbox、AI Gateway 等按 Vercel 平台各自的用量价格计费。
- 支持的智能体外壳Pi(durable-harness/pi-durable,官方推荐)、OpenCode、libfx 的 fx、Claude Code(实验)和 Codex
- 会话写进耐久日志对话、进行中的那一轮、每一次模型调用和工具调用都记在日志里,进程挂了由新函数读日志续跑
- 不重复计费日志里已有结果的模型调用直接读回,同一次调用的 token 不会被收两次
- 工具重放规则标为 safe 的工具(如查询、读文件)可以自动重跑,标为 never 的工具(如退款、发 PR 评论)绝不跑第二次,会告诉模型「可能已执行」由它自己核实
- 工作区隔离模型选的命令和文件只在虚拟工作区(virtual())或会话自己的 Vercel Sandbox(sandbox())里执行,不碰驱动会话的机器;Claude Code 和 Codex 只在 Sandbox 里跑
- 哪里都能跑本地开发用 Workflow SDK 的本地 World,无需配置;上 Vercel 用托管存储、队列和 Agent Runs 追踪;自托管可接 Postgres World
- 接入方式npm 安装,Next.js 里用 withDurableHarness 和 chatRoute 几行接好聊天路由




