---
title: "Smasher"
description: "DOT有向グラフをマルチステップAIワークフローに変換するRustパイプラインランナー。ストリーミング、Webダッシュボード、ヒューマンインザループゲートを備える。"
canonical_url: "https://2389.ai/ja/research/products/smasher/"
last_updated: "2026-08-06T15:35:08-05:00"
doc_version: "1.0"
date: 2026-03-09
product_type: "Tool"
status: "Alpha"
tags: ["pipeline", "agents", "dot", "rust", "cli", "orchestration", "web-dashboard", "multi-agent", "checkpointing"]
---

# Smasher

> DOT有向グラフをマルチステップAIワークフローに変換するRustパイプラインランナー。ストリーミング、Webダッシュボード、ヒューマンインザループゲートを備える。


Smasher は [strongDMのattractor](https://github.com/strongdm/attractor) をRustで再実装したものです。DOT有向グラフとしてAIワークフローを定義し、smashterがノードごとに実行します。5つのクレートが生のLLM呼び出しからWebダッシュボードまでを処理し、ブラウザでパイプラインの実行を監視してヒューマンゲートの質問に回答できます。

## インストール

```bash
git clone https://github.com/2389-research/smasher.git
cd smasher
cargo build --release
```

少なくとも1つのプロバイダーキーを設定:

```bash
export ANTHROPIC_API_KEY=sk-ant-...
# or OPENAI_API_KEY, or GEMINI_API_KEY
```

## できること

**DOTグラフパイプラインエンジン。** 9つのノードタイプが一般的なワークフローパターンをカバー: LLMエージェントタスク用 `box`、条件分岐用 `diamond`、人間へのインタビュー用 `oval`、承認ゲート用 `house`、人間へのインタビュー用 `hexagon`、ツール用 `parallelogram`、並列ファンアウト用 `component`。エッジはトランジション。属性が動作を設定します。標準のGraphviz DOT — プロプライエタリな要素なし。

**マルチプロバイダーLLMクライアント。** `smasher-llm` は1つの統合インターフェースでOpenAI (Responses API)、Anthropic (Messages API)、Geminiと通信します。ストリーミング、リトライ、プロバイダー固有の癖はこのレイヤーで処理されるため、上位レイヤーが気にする必要はありません。

**ツール付きエージェントループ。** `smasher-agent` は6つの組み込みツール — read、write、edit、shell、grep、glob — を持つコーディングエージェントを実行します。ステアリングルールがノードごとのエージェント動作を制約します。サブエージェントでパイプラインステップ内に委譲できます。

**Webダッシュボード。** `smasher serve` でポート21541にHTMXフロントエンドを起動。ライブSSEイベントストリーム、ステータスオーバーレイ付きグラフビジュアライゼーション、ヒューマンインザループゲート用のQ&Aインターフェース。ブラウザまたはCLIからパイプラインを送信できます。

**その他すべてのCLI。** ワンショットプロンプト用 `smasher complete`、6つのツール付きインタラクティブREPL用 `smasher chat`、ヘッドレスパイプライン実行用 `smasher run`、さらに `resume`、`render`、`ingest`、`archive`、`lint`。

## 仕組み

5つのクレート、各クレートは下のレイヤーにのみ依存:

| Layer | Crate | Role |
|-------|-------|------|
| 1 | `smasher-llm` | LLMクライアント、プロバイダーカタログ、リクエスト/レスポンス型 |
| 2 | `smasher-agent` | エージェントループ、ツールディスパッチ、ステアリング、イベントシステム |
| 3 | `smasher-attractor` | DOTパーサー (winnow)、グラフエンジン、ノードハンドラー |
| 4 | `smasher-cli` | CLIバイナリ (clap) |
| 5 | `smasher-web` | Webダッシュボード (axum + askama + HTMX) |

DOTパーサーはwinnowで標準のGraphviz有向グラフを読み込みます。ノードシェイプがハンドラータイプにマッピングされます。グラフエンジンはDAGを走査し、各ノードをそのハンドラーにディスパッチし、Webダッシュボードの SSEストリーム用に `tokio::broadcast` でイベントをブロードキャストします。

## 必要要件

- Rust 1.85+
- 少なくとも1つのAPIキー: Anthropic、OpenAI、またはGemini


## Sitemap

Parent: [プロダクト](https://2389.ai/ja/research/products/index.md)

Related pages in this section:

- [スキルマーケットプレイス](https://2389.ai/ja/research/products/skills-marketplace/index.md)
- [Mammoth](https://2389.ai/ja/research/products/mammoth/index.md)
- [BotBoard](https://2389.ai/ja/research/products/botboard/index.md)
- [Jeff](https://2389.ai/ja/research/products/jeff/index.md)
- [Mux](https://2389.ai/ja/research/products/mux/index.md)
- [ISH](https://2389.ai/ja/research/products/ish/index.md)
- [Coven](https://2389.ai/ja/research/products/coven/index.md)
- [Soloclaw](https://2389.ai/ja/research/products/soloclaw/index.md)
- [ccvault](https://2389.ai/ja/research/products/ccvault/index.md)
- [GSuite MCP](https://2389.ai/ja/research/products/gsuite-mcp/index.md)


Site index: [llms.txt](https://2389.ai/llms.txt) · [sitemap.md](https://2389.ai/sitemap.md) · [HTML](https://2389.ai/ja/research/products/smasher/)
