smithersai/smithers

Agent workflows with full observability and time travel: watch every step live, rewind, fork, replay any run. Claude Code, Codex, Gemini, any model or harness.

解决的问题

Smithers 为编程代理提供了一个持久的运行环境,使其能够在真实的仓库上执行复杂的、多步骤的工作。它解决了当终端崩溃或会话结束时代理会话丢失的瞬时性问题,允许将长时间运行的任务进行持久化、检查和恢复。

工作原理

Smithers 使用基于 JSX 的工作流系统,每个完成的步骤都会立即持久化到 SQLite 数据库中。这使得运行时能够从持久化状态重新渲染工作流以确定下一个任务,从而实现崩溃后恢复、回溯到之前的帧以及分叉备选时间线等功能。工作流通常由编程代理通过自然语言提示词自行编写,而不是手动编写。

适用对象

使用编程代理(如 Claude Code、Codex、Cursor 或 Pi)的开发人员,他们需要执行大规模的工程工作——例如跨多个步骤实现功能或运行评审循环——这些工作需要人工审批、持久性和可观测性。

亮点

  • 零配置编写:代理根据对预期结果的自然语言描述来构建工作流。
  • 时光旅行:能够从执行历史中的任何特定点进行回溯、分叉或重放运行。
  • 持久化执行:通过持久化每个完成的步骤,使运行在崩溃和重启后得以延续。
  • 跨代理持久化:在单个工作流中支持多个代理和模型(Claude、Gemini、Pi 等)。
  • 人机回环 (Human-in-the-loop):通过人工审批为高风险步骤提供内置闸门。
  • 跨运行内存:持久化内存允许代理从之前的运行中召回信息。
  • 可观测性:包括用于实时跟踪的专用监视器、Prometheus 指标和 OpenTelemetry 追踪。