Smithers: コーディングエージェント向けの永続化・巻き戻し可能な実行
完全な可観測性とタイムトラベルを備えたエージェントのワークフロー: すべてのステップをライブで監視し、巻き戻し、フォークし、実行をリプレイします。クロード コード、コーデックス、ジェミニ、あらゆるモデルまたはハーネス。同じワークフローが、Claude Code、Codex、Pi、AI SDK モデル、およびリモート サンドボックス全体で実行されます。
ひと目でわかる
- これは何?
- エージェント実行の各ステップを記録し、クラッシュ後に再開でき、任意の時点から巻き戻し、フォーク、リプレイができるJavaScriptランタイム。
- 誰に向いている?
- Smithers は完了した各ステップを SQLite に永続化し、その状態からワークフローを再レンダリングし、ワークフローの作成はコーディングエージェント自身に任せます。README は線引きを明確にしています。
- 商用利用できる?
- できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 1 日前です。
- 何の言語で書かれている?
- 主に JavaScript です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
セッションを超えて存続するエージェント作業のランタイム
README は Smithers を、コーディングエージェント作業のための永続的ランタイムとして位置づけています。つまり、エージェントが実際のリポジトリを複数ステップにわたって編集し、その作業を検査・承認・復旧可能にする必要があるケースです。中核となる約束は、実行の各ステップがデータベースの1行になるということで、ライブ監視、巻き戻し、リプレイが後付けではなく組み込みになります。実行は任意の過去のフレームからフォークして、別のタイムラインに分岐できます。README は境界も明確にしています。1つのプロンプトから1つの回答を得たいだけならモデルを直接呼ぶべきで、Smithers は複数ステップのリポジトリ変更、人間の承認、レビューループ、クラッシュからの復旧に使うものです。
手書きではなくプロンプトによるオーサリング
README は、ユーザーがワークフローを手書きすることは決してないと述べています。望む結果を平易な英語で記述すると、コーディングエージェントが組み込みパックと同じプリミティブを使ってワークフローを構築します。プロンプト自体がオーサリングのステップです。セットアップはプロジェクト内で `bunx smthrs init` を実行します。検出されたコーディングエージェントに smithers スキルをインストールし、オーサリング用ワークフローを含む `.smithers/` ディレクトリを作成します。README は、例として Claude Code と Pi を挙げるだけで、どのエージェントが自動検出されるかは明記しておらず、インストールの完全な挙動も列挙していません。それらの詳細はドキュメントサイトに委ねられています。
差別化要因としての永続性
README は永続性を差別化要因と呼んでいます。完了した各ステップは、完了した瞬間に SQLite へ永続化されます。ランタイムのループは、ワークフローのレンダリング、タスクの実行、スキーマに対する出力の検証、SQLite への永続化、永続化された状態からの再レンダリングによる次のタスクの決定です。クラッシュ後は最後の書き込みから再開し、中断されたタスクは新しい試行として再実行され、完了済みのタスクはスキップされます。承認、人間からの質問、再試行、リプレイはこのモデルで第一級の機能です。README は実行が不安定なツールにも耐えると述べていますが、ツールの失敗がどのように分類・再試行されるかの詳細は示していません。
ワークフローはタスクの JSX ツリー
ワークフローはタスクの JSX ツリーです。README の例は、レビュアーが承認するまで繰り返す Loop を示しており、コーダーエージェントと読み取り専用のレビューアーエージェント、最大5回の反復、スキーマ検証済みの出力を使っています。例のコードでは gpt-5.6-luna と gpt-5.6-sol というモデル名が参照されていますが、README はこれらを本番モデルとは明示していません。README は、ユーザーは通常これらのファイルを手書きせず、エージェントが生成すると述べていますが、この形式はバージョン管理・レビュー・再実行が可能であり、それが一時的なサブエージェントのファンアウトとの対比になっています。
特定のハーネスやモデルに賭けない
README は、Smithers が特定のラボやハーネスに賭けないと述べています。タスクは Claude Code、Codex、Cursor、Pi、Antigravity、または任意の AI SDK モデルを指すことができ、1つのワークフローで複数を混在させられます。同じ Sandbox プリミティブは、Bubblewrap、Docker、Microsandbox を介してローカルでエージェントを実行するか、SandboxProvider を実装した任意のバックエンド経由で実行します。README はまた、`bunx smthrs mcp add` が MCP サーバーを Cursor、Copilot、Hermes、OpenClaw、および約20の他のコーディングエージェントに接続すると述べていますが、列挙はしていません。
CLI から実行を監視し駆動する
シードされたワークフローは CLI から直接実行できます。README は、アクティブ・一時停止・最近完了した実行を一覧表示する `bunx smthrs ps`、1回の実行のステップ・エージェント・承認・出力を調べる `inspect`、イベントログを追跡する `logs`、エージェントのチャット出力を読む `chat`、グループ化された実行リストとノードごとの状態を表示するライブページを開く `monitor` を挙げています。実行制御には、`--resume` フラグ付きの `up`、過去のフレームへの `rewind`、`fork`、`replay` があります。README はこれらのコマンドが存在し何をするかを述べていますが、完全なオプション群は文書化していません。
パッケージに含まれるもの
`init` は、create-workflow、create-skill、docs-driven-development の3つのオーサリングワークフローを含む焦点を絞ったパックをインストールします。以前のスターターは examples/init-pack/ に残ります。examples フォルダには100以上の実行可能なワークフローがあり、レビューループ、並行チケット群、スーパーバイザー、ディベート、マイグレーションなどをカバーしています。README が挙げる制御機能は次の通りです。リスクのあるステップをゲートする承認、サンドボックス分離、すぐ使える Prometheus メトリクスと OpenTelemetry トレースにワンコマンドのローカル Grafana スタック、GEPA スタイルのプロンプト調整付き評価スイート、ローカル SQLite のクロスラン記憶(オプションで Hindsight による意味的想起にアップグレード可能)、実行中のプロンプト・設定・JSX のホットリロード。リポジトリは MIT ライセンスで、著作権は 2025 年 William Cory に帰属します。ライセンスは使用、複製、変更、統合、公開、配布、サブライセンス、販売を許可し、ソフトウェアは保証なしで現状のまま提供されると述べています。ライセンス文書はサポート、セキュリティ保証、保守の約束については何も述べていません。
編集部の結論
Smithers は完了した各ステップを SQLite に永続化し、その状態からワークフローを再レンダリングし、ワークフローの作成はコーディングエージェント自身に任せます。README は線引きを明確にしています。複数ステップのリポジトリ変更、承認、レビューループ、クラッシュ復旧に使うものであり、単一プロンプトへの回答には使いません。
コミュニティノート