mcpField
H
HEYM

HEYM

リモート
github.com/heymrun開発ツール1.3k今日更新
リポジトリ

HEYM について

HEYM は、ビジュアルキャンバス、エージェント、RAG、人によるレビューの仕組みを備えた、セルフホスト可能な AI ワークフロー自動化プラットフォームです。自社インフラ上で AI ワークフローを構築・運用したいチームに向いています。ワークフローは /api/mcp/sse で MCP サーバーとして公開できます。

主な機能

  1. 01AI 支援によるワークフロー生成とビジュアルキャンバス
  2. 02サブワークフローを含むマルチエージェント構成
  3. 03RAG とエージェント単位のナレッジグラフによるメモリ
  4. 04保存された状態から再開できる人によるレビュー
  5. 05実行ごとのトレース、トークン数、モデルコストの追跡
  6. 06REST、SSE、MCP による呼び出し方式

活用シーン

  1. 01自社サーバー上でのマルチエージェント業務プロセスの実行
  2. 02エージェントのワークフローへの人による承認ステップの追加
  3. 03複数回の実行にわたる LLM 呼び出しコストとレイテンシーの追跡

MCP 対応

HEYM はワークフローを /api/mcp/sse エンドポイントで MCP ツールとして公開し、Claude Desktop や Cursor などのクライアントから呼び出せるようにします。また MCP Call ノードにより、ワークフロー内から外部の MCP サーバーを呼び出すこともできます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttp://localhost:4017/api/mcp/sse
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細


Heym ロゴ

Heym

エージェントシステムを構築し、自信を持って実行しましょう。

Heym は、お客様のインフラ上でエージェントシステムを構築、オーケストレーション、実行、監視、評価、制御するためのセルフホスト可能なランタイム兼プラットフォームです。

エージェントや決定論的なワークフローを視覚的に組み立てたり、AI で生成したりできます。モデル、ツール、MCP、社内ナレッジ、内部システムを接続し、承認チェックポイント、再試行、実行状況とモデルコストの可視化を活用して運用できます。

heym.run

ローカルで試す: git clone https://github.com/heymrun/heym.git && cd heym && ./run.sh
クイックスタート · ワークフローのデプロイと呼び出し · Heym の拡張 · セキュリティ


PR checks Release image License: MIT Commons Clause Heym Version Python FastAPI Vue.js TypeScript Bun Docker Security


Heym のセルフホスト可能なエージェントランタイムのアニメーション

Heym とは?

Heym では、ワークフローによってエージェント、決定論的なステップ、ツール、データの連携方法を定義します。ランタイムはそのグラフを実行し、依存する処理や並列処理を調整し、実行履歴を記録し、人によるレビュー用のチェックポイントをサポートします。

キャンバスは Heym のインターフェースのひとつです。Heym そのものではありません。 ランタイム上で動作するシステムの構築、確認、デバッグ、理解に活用してください。同じワークフローは、API、スケジュール、イベントトリガー、MCP クライアント、Portal の会話からも実行できます。

製品サイト heym.run をご覧ください。

エージェントのライフサイクルを支える単一のランタイム

構築 → オーケストレーション → 実行 → 可観測化 → 評価 → 制御 → 提供

これらは、Heym でエージェントシステムを運用するための、相互につながった要素です。

ステージHeym で行うこと
構築エージェントや決定論的なワークフローをビジュアルに組み立てる、AI で生成する、または再利用可能なテンプレートやスキルから開始します。
オーケストレーション明示的なデータフロー、分岐、依存関係が許す範囲での並列実行によって、エージェント、サブエージェント、サブワークフロー、ツールを連携させます。
実行設定可能な再試行、エラーパス、ブラウザー自動化を利用し、API、スケジュール、イベントトリガー、または対話型インターフェイスから実行します。
可観測化実行履歴、リアルタイムの状態、トレース、ツール呼び出し、トークン、レイテンシ、エラー、モデルのコストを確認します。分析とアラートを確認し、OpenTelemetry トレースをエクスポートします。
評価プロンプトとモデルの応答を期待される出力と照らし合わせてテストし、モデル間で結果を比較し、保存済みの評価実行を確認します。
制御レビューチェックポイントでエージェントの実行を一時停止し、人間の判断後、保存された状態から再開します。ガードレール、認証情報、認証、チームアクセスを設定します。
提供REST、SSE ストリーミング、MCP ツール、Portal チャットインターフェイスを通じてワークフローを提供するか、アプリ内ダッシュボードウィジェットに結果を接続します。

可観測化と評価の結果を使って、プロンプト、ツール、ワークフローのロジックを改善し、次のイテレーションを実行して確認します。

🗺️ プラットフォームの概要

ワークフロー定義によって、構築エクスペリエンスと実行がつながります。ランタイムはその定義を使ってノードとツールを連携させ、実行状態は、結果の確認、レビュー、利用に使うインターフェイスに反映されます。

システムの構成要素役割
構築と確認キャンバス、AI アシスタント、テンプレート、Expression DSL でワークフロー定義を作成・編集します。同じキャンバスをアクティブな実行に接続して確認することもできます。
オーケストレーションと実行エグゼキューターが、エージェント、決定論的なノード、サブワークフロー、並列分岐、再試行、レビューチェックポイントを連携させます。
ツールとデータの接続ノードとエージェントツールから、モデル、HTTP API、MCP サーバー、内部ナレッジ、永続メモリ、データベース、キュー、ファイルにアクセスできます。
運用と改善履歴、トレース、コスト、分析、アラート、ログ、OpenTelemetry でランタイムの挙動を把握できます。評価機能はプロンプトやモデルのイテレーションを支援し、アクセス制御と人間によるレビューでシステムの実行方法を調整できます。
人やアプリケーションへの提供REST と SSE のエンドポイント、MCP ツール、Portal の会話、Board のジョブ、ワークフローを利用したダッシュボードで、システムを呼び出し、その結果を利用できます。

Heym のバナー


✨ 主な機能

構築:エージェント、ワークフロー、接続されたツール
  • ビジュアル編集とAI支援による作成。 キャンバス上でワークフローグラフを作成・確認し、AI アシスタントを使ってテキストまたは音声で生成・修正できるほか、テンプレートを再利用できます。
  • エージェントと決定論的ロジック。 LLM ノードやエージェントノードを、条件分岐、スイッチ、ループ、マージ、データ変換、サブワークフローの呼び出しと組み合わせられます。対応するノードフィールドでは式を使用できます。
  • マルチエージェントのオーケストレーション。 オーケストレーターに、呼び出す名前付きのサブエージェントやサブワークフローを割り当てます。独立したサブエージェントの呼び出しは並行して実行できます。
  • ナレッジと永続メモリ。 Qdrant または pgvector を使用する PostgreSQL を通じて、RAG でドキュメントを取得できます。エージェントごとにナレッジグラフを有効にすると、実行をまたいで事実を保持でき、エージェント間の共有も設定できます。
  • ツールと統合。 組み込みノード、HTTP API、MCP を通じて、コミュニケーションサービス、開発者ツール、生産性アプリ、データベース、キュー、ストレージに接続できます。決定論的にツールを呼び出すには、MCP Call ノードを使用します。
  • スキルとカスタム動作。 再利用可能な SKILL.md の指示や任意の Python ツールをエージェントに追加したり、AI でスキルを作成・修正したり、プラグインをインストールしたり、型付き設定と実行ハンドラーを備えたカスタムノードを実装したりできます。
実行:作業の実行と調整
  • 並列実行とリカバリー。 独立したノードを並行して実行し、Merge で分岐を同期できます。また、再試行、バックオフ、エラーパス、モデルのフォールバックを設定できます。
  • スケジュールとトリガー。 cron、Webhook、メッセージング統合、受信イベント、WebSocket メッセージ、Heym プラットフォームのイベントを通じてワークフローを開始できます。
  • ブラウザーエージェントとコーディングエージェント。 Playwright と AI 支援によるセレクター復旧を使ってブラウザータスクを自動化できます。Codex または OpenCode Go をワークフローのステップとしてリポジトリに対して実行し、差分やプルリクエストの出力を取得できます。
  • エージェント型カンバンボード。 カードは永続的なエージェント型ジョブです。カードを列に移動すると、カードの内容、コメント、履歴、過去の出力を使って、順序付けられたワークフローチェーンを実行し、結果をカードに書き戻します。
  • 負荷分散。 Settings → Instances で実行ウェイトを設定し、PostgreSQL を通じて対象となるバックグラウンド実行を Heym インスタンス間で分散できます。
監視:実行状況とコストを把握
  • 履歴とライブ実行。 履歴またはボードカードから本番実行を開き、保存された状態を確認して、ノードのライブ進捗、デバッグログ、最終出力を追跡できます。
  • トレースとモデルコスト。 モデルのリクエストとレスポンス、ツール呼び出し、入出力トークン、レイテンシ、エラーを確認できます。管理されているモデル料金やカスタムの上書きを使って USD コストを計算し、モデルや期間別に過去の支出を調べられます。
  • 分析、ログ、アラート。 実行数、成功率、所要時間を追跡し、ログを確認できます。エラー、所要時間、トークンや USD の支出、実行数に対するアラートを設定できます。OpenTelemetry を通じて、ワークフロー、ノード、エージェントのツールスパンをエクスポートできます。
評価と制御:動作を改善し、人間の関与を維持
  • 評価と分析。 複数のモデルを対象に再現可能なプロンプト評価を実行し、期待される出力と実際の出力を比較して、過去の結果を確認できます。ワークフローアナライザーは実行コンテキストを使用して、目的、ステップの動作、改善点について、共有・編集可能な Markdown レポートを作成します。
  • 人によるレビュー。 エージェントのチェックポイントでは、承認、編集、拒否のために実行を一時停止し、保存された実行スナップショットから再開します。レビュー用の分岐から、既存の統合を通じて担当者に通知できます。
  • セキュリティとアクセス。 入力ガードレール、暗号化された認証情報、チーム共有、実行トークン、ワークフロー認証を設定できます。Keycloak、Okta、Entra ID、Auth0、Google などのプロバイダーを通じて、JWT 認証または OIDC SSO でサインインできます。
公開:システムを活用する
  • REST、SSE、MCP。 アプリケーションからワークフローを呼び出したり、実行イベントをストリーミングしたり、ワークフローをMCPクライアント向けのツールとして公開したりできます。
  • ポータルとチャット。 ストリーミング、アップロード、会話履歴に対応した、ワークフロー連携型のチャットインターフェースを公開できます。Chatタブでは、ワークフローを呼び出し、モデルやプラットフォームデータを操作できます。
  • ダッシュボード、データ、ファイル。 ワークフローを基盤とするカスタムダッシュボードウィジェットを構築し、構造化されたData Tablesを管理できます。また、生成されたファイルをHeym Driveに保存し、チームで共有したり、共有リンクを作成したりできます。
Heymランタイムの主要機能を示すアニメーション付きグリッド

🎬 プロダクトツアー

1つのeコマース販売キャンペーンを最初から最後まで紹介します。AI Assistantによるワークフロー生成、人によるレビュー、ボードでの実行、構造化データ、ダッシュボード、トレース、RAG、MCP、分析、チームでの共同作業を取り上げます。

プロダクトデモ

このデモでは、オーケストレーターとサブエージェントで構成されたシステムを、作成からチャットインターフェースまで紹介します。「ベルリンからフランクフルトへはどう行けばいいですか?」や「現地では何を食べたらいいですか?」といったリクエストに対して、オーケストレーターは同じターン内に個別のサブエージェントを呼び出し、それぞれのタスクを並行して実行し、結果をまとめることができます。

自然言語からワークフローを生成する

必要なエージェント、オーケストレーションパターン、ユーザーに提示する結果を説明すると、Heymがキャンバス上にワークフローを構築します。

ワークフロー作成デモ

プロンプトの例

Roadmap AgentとBest Food Agentを含むワークフローを作成してください。Orchestrator Agentがリクエストを受け取ったら、これらのサブエージェントを並行して呼び出し、結果をユーザーに返します。

システムを実行して調べる

キャンバスからランタイムの実行を開始し、結果がグラフ内を流れる各ステップを確認できます。API、スケジュール、トリガー、MCPからも同じワークフローを呼び出せます。

ワークフロー実行デモ

エージェント用のスキルを作成する

自然言語からエージェントのスキルを作成し、生成されたSKILL.mdをプレビューして、エージェントに追加できます。

スキル作成デモ

プロンプトの例

スキルを作成してエージェントに追加してください。Orchestrator Agentはサブエージェントから情報を受け取った後にこのスキルを呼び出し、目的地の都市で実際にできることを説明する簡単な実行計画を作成します。

チャットからワークフローを呼び出す

ワークフローをチャット体験に変換し、ユーザーが自然なリクエストでオーケストレーションを呼び出せるようにします。

チャットワークフローのデモ

プロンプトの例

ベルリンに住んでいて、フランクフルトに行く予定です。アウトバーンを使うと何キロメートルありますか?また、フランクフルトで一番おいしいドネルケバブはどこで見つかりますか?

📸 スクリーンショット

ビジュアルワークフローキャンバス
ビジュアルキャンバス:マルチエージェントのオーケストレーション、RAG と MCP のノード、human-in-the-loop チェックポイント
MCP サーバーの設定
MCP サーバー:ワークフローを Claude、ChatGPT、Cursor 用のツールとして公開
LLM トレース
トレース:モデルのリクエスト、レスポンス、トークン数、レイテンシー、コストを確認
分析ダッシュボード
分析:ワークフローごとの実行量、成功率、レイテンシー、削減時間

Heym のチュートリアルを見る


🚀 クイックスタート

まず動画で確認したいですか? 2 分以内で Heym をローカルにセットアップ では、リポジトリのクローン、PostgreSQL の起動、ローカルインスタンスでのアカウント作成までの手順をすべて紹介しています。

git clone https://github.com/heymrun/heym.git
cd heym
./run.sh

# OR: with .env file (run.sh auto-generates SECRET_KEY and ENCRYPTION_KEY)
git clone https://github.com/heymrun/heym.git
cd heym
cp .env.example .env
./run.sh

http://localhost:4017 を開いてアカウントを作成し、構築を始めましょう。run.sh は PostgreSQL、バックエンド、フロントエンドを起動し、必要に応じて SECRET_KEY と ENCRYPTION_KEY を生成します。

前提条件: Bun、Python 3.11+、UV、Docker が必要です。コンテナを使用する場合は、以下のデプロイ方法をご覧ください。各設定項目とデフォルト値については、ENVIRONMENT-VARIABLES.mdをご覧ください。


デプロイ

Heym は、コアデータベースとして PostgreSQL を使用し、お客様のインフラ上で動作します。標準の Compose セットアップには PostgreSQL、バックエンド、フロントエンドが含まれており、永続ファイル用のローカルボリュームを使用します。RabbitMQ と Redis は、ワークフローで必要な場合に接続するインテグレーションです。RAG では、組み込みの PostgreSQL/pgvector バックエンドまたは外部 Qdrant サーバーを使用できます。S3 はインテグレーションノードから利用できます。

Docker Compose

本番環境へのデプロイには、Docker Compose と Python 3 を使用します。

cp .env.example .env
./deploy.sh              # Build and deploy (auto-generates keys if empty)
./deploy.sh --down       # Stop services
./deploy.sh --logs       # View logs
./deploy.sh --restart    # Restart services

まず管理者アカウントを登録し、その後 .env で ALLOW_REGISTER=false を設定して再起動すると、本番環境での登録を停止できます。

事前構築済み Docker イメージ

リリースイメージには、フロントエンドとバックエンドが含まれています。以下の例では、ホスト上の既存の PostgreSQL データベースに接続します。DATABASE_URL にデータベースのアドレスと認証情報を設定してください。Linux でこのホスト名を使用する場合は、--add-host=host.docker.internal:host-gateway を追加してください。

永続ファイル、プラグイン、コーディングエージェントのワークスペースに対応する Docker コマンド
# Docker with .env file
git clone https://github.com/heymrun/heym.git
cd heym
cp .env.example .env
# Generate required keys and write them into the placeholder lines copied from
# .env.example (replace in place: appending with >> would create duplicate entries):
SECRET_KEY=$(python3 -c "import secrets; print(secrets.token_urlsafe(32))")
ENCRYPTION_KEY=$(python3 -c "import secrets; print(secrets.token_hex(32))")
sed -i.bak "s|^SECRET_KEY=.*|SECRET_KEY=${SECRET_KEY}|; s|^ENCRYPTION_KEY=.*|ENCRYPTION_KEY=${ENCRYPTION_KEY}|" .env && rm -f .env.bak
docker run --env-file .env \
  -e DATABASE_URL=postgresql+asyncpg://postgres:[email protected]:6543/heym \
  -p 4017:4017 \
  --shm-size 2g \
  -e FILE_STORAGE_DIR=/app/data/files \
  -e HEYM_PLUGINS_DIR=/app/data/plugins \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "$(pwd)/data/files:/app/data/files" \
  -v "$(pwd)/data/plugins:/app/data/plugins" \
  -v heym-codex-workspaces:/app/data/codex-workspaces \
  -v heym-opencode-workspaces:/app/data/opencode-workspaces \
  ghcr.io/heymrun/heym:latest

# OR: minimal, no .env file
docker run \
  -e ENCRYPTION_KEY=$(python3 -c "import secrets; print(secrets.token_hex(32))") \
  -e SECRET_KEY=$(python3 -c "import secrets; print(secrets.token_hex(32))") \
  -e DATABASE_URL=postgresql+asyncpg://postgres:[email protected]:6543/heym \
  -e FILE_STORAGE_DIR=/app/data/files \
  -e HEYM_PLUGINS_DIR=/app/data/plugins \
  -p 4017:4017 \
  --shm-size 2g \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "$(pwd)/data/files:/app/data/files" \
  -v "$(pwd)/data/plugins:/app/data/plugins" \
  -v heym-codex-workspaces:/app/data/codex-workspaces \
  -v heym-opencode-workspaces:/app/data/opencode-workspaces \
  ghcr.io/heymrun/heym:latest

マウントとランタイム設定は、次の機能をサポートします。

  • Playwright: --shm-size 2g により、Chromium がブラウザータスクを実行するためのメモリ領域を確保します。ステップベースの Playwright 実行は Heym コンテナー内で行われます。カスタムの playwrightCode は、独自の共有メモリー設定を持つ兄弟コンテナーを使用します。Compose ではこの設定が自動的に行われます。
  • Heym Drive: FILE_STORAGE_DIR=/app/data/files を指定すると、ファイルストレージがマウントされたディレクトリを参照し、コンテナーを再起動してもアップロードしたファイルや生成ファイルが保持されます。
  • プラグイン: HEYM_PLUGINS_DIR=/app/data/plugins とそのマウントにより、インストール済みのプラグインパッケージが保持されます。
  • Skills と Codex: heym-codex-workspaces ボリュームにより、ランタイムが強化された兄弟コンテナーに接続されます。実行ごとの分離には Docker Engine 25.0+ が必要です。
  • OpenCode Go: heym-opencode-workspaces ボリュームにより、兄弟ランナーと共有するワークスペースが保持されます。
  • Docker アクセス: ソケットは、サンドボックスコンテナーと MCP の stdio 実行をサポートします。ホストを広範囲に制御できるため、デプロイ環境へのアクセスを制限してください。Docker ログへのアクセスは DOCKER_LOGS_ENABLED と DOCKER_LOGS_ALLOWED_EMAILS で別途設定します。登録を開始する前に、許可リストに登録するアカウントを作成してください。
複数インスタンスでの実行

追加の Heym インスタンスを同じ PostgreSQL データベースに接続すると、対象となるバックグラウンドワークフローの実行を分散できます。共有設定は 設定 → インスタンス から行います。キューと調整には PostgreSQL を使用するため、クラスターに個別のメッセージブローカーやインスタンス間の直接接続は必要ありません。

メインインスタンスは UI、API、MCP、Portal を提供し、ローカルファイルとインストール済みプラグインを管理します。ワーカーは対象となるキュー内の実行を処理します。メインインスタンスのローカルストレージやワークスペースに依存するワークフローは、メインインスタンスで実行されます。負荷分散ガイドでは、配置、共有キー、データベースのサイズ設定、イングレス、アップグレードについて説明しています。クラスターとワーカーの Compose 例も参照してください。

Heym はプレ 1.0 リリースシリーズです。更新については、バージョンバッジとリリースをご確認ください。デプロイガイドとセキュリティポリシーには、運用環境の設定に関するリファレンスが記載されています。


Heym の拡張

チームがすでに使用しているシステムに Heym を接続できます。組み込みのインテグレーション、HTTP API、MCP、再利用可能なスキル、プラグイン、カスタムノードを選択して、ツールやデータをランタイムに取り込みます。

拡張方法最適な用途仕組み
HTTP APIAPI と社内サービスHTTP ノードでリクエスト、ヘッダー、認証、式を設定します。
プラグインインストール可能なノードタイプとトリガーランタイムハンドラーとエディター用スキーマを備えた、オペレーターがインストールするパッケージを追加します。プラグインの作成を参照してください。
カスタムノード製品品質のワークフローステップとインテグレーションエディター設定、実行動作、スキーマメタデータを備えた型付きノードを追加します。
エージェントスキル持ち運び可能なエージェントの能力SKILL.md ファイルと任意の Python ツールを Agent ノードに追加するか、AI Build で生成します。
MCP外部ツールと AI クライアントAgent ノードは MCP サーバーを利用でき、Heym ワークフローは MCP ツールとして公開できます。
ツールとしてのワークフロー再利用可能な自動化ロジックを重複させずに、REST、SSE、Portal チャット、または MCP を通じてワークフローを呼び出せます。
組み込みの連携機能とノードライブラリ
用途主なノードと連携先
コミュニケーションSlack、Discord、Telegram、GmailやOutlookなどのメールサービス向けのSMTP/IMAPメール
開発者ツールと生産性向上GitHub、Jira、Linear、Notion、Google Drive、Google Sheets、Grist、Sentry
データ、キュー、ストレージBigQuery、ClickHouse、Supabase、Redis、RabbitMQ、Amazon S3、Heym Data Tables、Drive
ナレッジQdrantまたはPostgreSQL/pgvectorを使ったRAGと、エージェントごとの永続メモリ
APIとブラウザーHTTP、WebSocket Trigger/Send、MCP Call、Crawler、Playwright

ノードライブラリを使うことで、エージェントを決定論的なロジック、トリガー、データ、出力と組み合わせられます。

カテゴリノード
トリガーInput(Webhook)、Cron、Slack、Discord、Telegram、IMAP、WebSocket、File Upload、Heymイベント、RabbitMQ Receive、Plugin Trigger
AILLM、Agent、RAG、Codex、OpenCode Go
ロジックCondition、Switch、Loop、Merge
データSet、Variable、DataTable、Execute(サブワークフロー)、Converter
出力とユーティリティOutput、Chart Output、JSON/HTML Output Mapper、Wait、Console Log、Error Handler、Throw Error、Disable Node、Enable Node、Sticky Note

Heym Driveは、アップロードおよび生成したファイルを保存し、公開またはパスワード保護された共有リンク、チーム内共有、一括ZIP、共有、削除操作を提供します。Driveを参照してください。

操作、認証情報、セットアップについては、ノードリファレンスと連携ガイドを参照してください。

MCP(Model Context Protocol)

クライアントとして: Agentノードは、SSE、Streamable HTTP、またはstdio経由で設定済みのMCPサーバーからツールを検出して呼び出します。ワークフローで呼び出しを定義すると、MCP Callノードが選択したツールを直接呼び出します。

サーバーとして: Heymワークフローを/api/mcp/sseでツールとして公開し、Claude Desktop、Cursor、その他のMCPクライアントから利用できます。MCPの設定を参照してください。

スキルシステム

スキルは、SKILL.mdの指示ファイルと、必要に応じてPythonツールやアセットをまとめた、移植可能な機能バンドルです。.zipまたは.mdをAgentノードにドロップするか、AI Buildを使ってチャットからスキルを作成し、改良できます。ワークフローやチームをまたいで再利用、共有できます。


構築とオーケストレーション

Heymの実行時処理を構築・検査するためのアニメーションキャンバス
リアルタイムコラボレーション

チームで同じワークフローを開き、一緒に作業できます。キャンバスの左上には全員のアバターが表示され、各ユーザーのポインターはそれぞれの色で動きます。また、編集内容は開いているすべてのキャンバスにリアルタイムで反映されます。アバターをクリックすると、相手が開いたダイアログや開始した実行も含め、その人に表示されている内容を追えます。マイクをオンにすれば、ブラウザーから直接会話できます。

AIアシスタント

作成したいシステムを、テキストまたは音声で説明してください。アシスタントがエディターにノードとエッジを直接生成するので、生成されたワークフローを確認して調整できます。

ワークフローにAgentスキルが含まれている場合、アシスタントは各スキルのSKILL.mdのみをビルダーのコンテキストに渡します。大きな.pyファイルやバイナリ添付ファイルはプロンプトから除外されるため、複雑なスキルをキャンバスに読み込んでいても、ワークフローを確実に編集できます。

AIアシスタントがワークフローを構築するアニメーション
AIスキルビルダー

AgentノードのSkillsセクションでAI Buildを使って新しいスキルを作成するか、インラインのスパークルアクションを使って既存のスキルを改訂できます。モーダルにはチャットのやり取りがストリーミング表示され、生成されたSKILL.mdファイルと.pyファイルをリアルタイムでプレビューできます。ファイルは、手動でのスキルアップロードと同じZIP取り込み経路を使って保存されます。

マルチエージェントオーケストレーション

オーケストレーター/サブエージェントのパイプラインを視覚的に構築できます。1つのエージェントが名前付きのサブエージェントまたはサブワークフローにタスクを委任し、それらの結果をまとめて共有レスポンスを作成します。エージェントごとに推論の強度と温度を設定できます。

マルチエージェントオーケストレーションのアニメーション
組み込みのRAGパイプライン

PDF、Markdown、CSV、JSONを、QdrantまたはPostgreSQL/pgvectorをバックエンドとするマネージドベクトルストアにアップロードできます。RAGノードをワークフローに接続すると、セマンティック検索を実行でき、取得したコンテキストをLLMまたはAgentノードに渡せます。

Input → RAG (search) → LLM (answer with context) → Output
永続メモリ

Agentノードでナレッジグラフを有効にすると、実行をまたいでエンティティと関係を保持できます。Heymはエージェントのプロンプトにグラフのコンテキストを追加し、実行が成功した後、バックグラウンドで新しい事実を統合します。グラフエディターでメモリを確認・編集したり、ほかのエージェントに読み取り専用または読み取り/書き込みアクセスを許可したりできます。Agent Persistent Memoryを参照してください。

LLMの設定とバッチ処理

Agentの実行における推論の強度、温度、フォールバックモデルを設定できます。LLMノードは、テキスト、ビジョン、構造化出力、および対応エンドポイント向けのプロバイダー標準のBatch APIモードをサポートしており、ライブステータス分岐とアイテムごとの結果を利用できます。Agentのメッセージ履歴は、モデルのコンテキスト上限に近づくと自動的に圧縮され、圧縮イベントはDebugログ、History、Tracesで確認できます。LLM nodeとAgent nodeのリファレンスを参照してください。


実行動作

並列実行

グラフの依存関係に基づいて、独立したノードが同時に実行されます。Mergeノードを使うと、並列分岐を同期し、その結果を統合できます。実行順序はグラフによって決まります。Parallel Executionを参照してください。

ブラウザー自動化と自動修復

Playwrightノードは、視覚的なステップ、AIが生成するアクション、フルコードによるブラウザー自動化をサポートしています。Auto Healを有効にすると、アクション失敗時にページのコンテキストを使ってセレクターを復元します。設定については、Playwright nodeのリファレンスを参照してください。

ノード単位のエラー処理

ノードで失敗時の再試行とエラー分岐を設定できます。

Input ──→ HTTP ──→ Output
               └─── error ──→ Error Handler
  • 再試行:設定した回数とバックオフ間隔で、失敗したノードを自動的に再実行します
  • エラー分岐:ワークフローを停止せず、失敗を専用の経路に振り分けます
  • エラーコンテキスト:後続ノードで$nodeName.errorにアクセスできます

🔍 オブザーバビリティ、評価、制御

実行履歴とライブ状態

保存された入力、出力、ノードの結果、エラー、タイミング、実行ログを確認できます。履歴では、実行をトリガーや、クラスター内で実行したインスタンスと関連付けて確認できます。

本番環境の実行をライブで開く

HistoryダイアログまたはBoardカード内の実行リストからRunningのエントリを開くと、HeymはSSE経由でエディターを該当の実行に接続します。これは、webhook、スケジュール、チャット、MCP、インテグレーション、Agentic Kanban Boardによって開始された実行で動作します。完了済みの ノードはすぐに復元され、現在のノードと保留中のノードはパルス表示を続けます。Debugログと 最終出力は順次表示されます。エディターを離れても切断されるのはオブザーバーだけで、本番環境の実行は キャンセルされません。

LLMトレース

モデルのリクエストとレスポンス、ツール呼び出しの詳細、呼び出しごとの所要時間、トークン使用量、エラー、モデルに渡されたスキルを確認できます。ワークフローの履歴とあわせてトレースを使うと、モデルの動作と周辺の実行との関係を追跡できます。Tracesを参照してください。

モデルの使用状況とコストの可視化

Heym は入力トークンと出力トークンを記録し、管理されているモデルの料金データに基づいて米ドルでのコストを計算します。トレースごとのコストを確認し、モデルや期間ごとの過去の使用状況と支出を調べられます。独自のエンドポイントや料金に合わせて、カスタムのモデル料金の上書き設定を追加できます。

コストの可視化は運用にもつながります。アラートでは、指定した期間のトークン数または米ドルでの支出を評価できます。料金と使用状況の表示については、トレースとコスト分析をご覧ください。

分析とログ

分析では、ワークフローごとの実行回数、成功率、レイテンシ、推定時間節約量を確認できます。実行の調査中に増分デバッグログを追跡し、ログタブからアクセス制御付きの Docker ログの表示とストリーミングを有効にできます。

アラート

期間を指定して、4 つのメトリクスにしきい値を設定します。エラー数、実行時間(最大、平均、または p95)、LLM のトークン数または米ドルでの支出、実行回数です。アクセス可能な 1 つのワークフローまたはすべてのワークフローをアラートの対象にできます。

5 ステップのウィザードで、種類、対象、条件、応答、確認の各項目を設定します。ルールを自然言語で説明すると、AI がフォームに入力します。保存前に、過去の期間に対して条件をプレビューできます。デフォルトでは、アラートは 1 回発火し、メトリクスが回復するまで次の発火を待ちます。

アラートからワークフローを実行し、観測値、しきい値、期間、関連する詳細を入力として渡すことができます。既存の Slack、メール、または Telegram ノードを使って通知を配信します。Chat タブでは、既存のアラートや、アラートが発火した理由を確認できます。アラートをご覧ください。

評価:テスト、比較、改善

システムプロンプト、テスト入力、期待される出力を含むスイートを作成します。同じケースを複数のモデルで実行し、実行を繰り返して応答を比較できます。スコア、実際の出力と期待される出力、レイテンシ、トークン使用量、保存された実行履歴を確認できます。

評価結果をもとに、プロンプトの変更、追加のテストデータの生成、AI によるプロンプト改訂を依頼できます。これらの結果を実行トレースや Workflow Analyzer のレポートと組み合わせて、運用中のシステムを改善できます。評価とワークフロー分析をご覧ください。

Human-in-the-Loop(HITL)

エージェントのレビュー用チェックポイントにより、人間による承認を実行の一部として組み込めます。エージェントがレビューを要求すると、Heym は実行スナップショットを保存し、実行を保留中としてマークします。エージェントの review ブランチから、レビューリンクと概要を Slack、メール、または別の通知フローに送信できます。

レビュー担当者は承認、編集して続行、または拒否を選択できます。Heym は、決定とレビュー済みのテキストを後続ノードから利用できる状態で、保存されたスナップショットから実行を再開します。エージェントは同じ実行中に、さらにチェックポイントを要求できます。Human-in-the-Loopをご覧ください。

ガードレールとアクセス制御

LLM とエージェントの入力メッセージに対して、カテゴリ別および多言語対応のガードレールを設定できます。チェックはモデル呼び出しの前に実行され、違反はワークフローのエラー処理パスにルーティングされます。

暗号化された認証情報とチーム共有を管理し、スコープ付き実行トークンを使用します。ワークフロー認証とレート制限を設定し、SSO 用の OIDC ID プロバイダーを接続できます。ガードレール、チーム、認証情報の共有、SSO、セキュリティをご覧ください。

OpenTelemetry トレーシング

ワークフローの実行ごとにルートスパン、ノードごとに子スパン、Agent ツールごとにツールスパン(heym.agent.tool.execute)をエクスポートし、OTLP/HTTP 経由で Jaeger、Grafana Tempo、Honeycomb、Datadog、または任意の OpenTelemetry バックエンドに送信します。スパンには、ワークフロー ID、ノードの種類、ステータス、実行時間、LLM のトークン使用量、ツールの識別情報とステータスが含まれます。また、受信 Webhook、送信 HTTP、サブワークフロー間で W3C トレースコンテキストが伝播します。HEYM_OTEL_* 環境変数でトレーシングを有効にし、Settings → Observability でステータスを確認してください。設定とスパンの詳細は、OpenTelemetry Tracing を参照してください。


ワークフローのデプロイと呼び出し

同じランタイムで、ユーザー、バックエンドサービス、外部エージェントにサービスを提供できます。システムの用途に応じてインターフェースを選択してください。

インターフェースエンドポイントまたは画面用途
RESTPOST /api/workflows/{workflow_id}/executeアプリケーションまたは HTTP Webhook からワークフローを呼び出します。
SSEPOST /api/workflows/{workflow_id}/execute/stream実行の進行状況とノードイベントをクライアントにストリーミングします。
MCP サーバー/api/mcp/sseワークフローを MCP クライアント向けのツールとして公開します。
ポータル/chat/{slug}ワークフローを活用したチャットインターフェースをユーザーに提供します。
ダッシュボードダッシュボードタブワークフローを活用したウィジェットを実行して、グラフや運用状況を表示します。
ボードボードタブカードのコンテキストと履歴を持つ永続ジョブとして、ワークフローのチェーンを実行します。
スケジュールとイベントCron と統合トリガー時刻、メッセージ、アップロード、またはプラットフォームイベントに応じて実行します。

エディターの Run with cURL ダイアログでは、ノードごとの開始メッセージやリアルタイムのイベント出力を含む、REST または SSE 用のコマンドを生成できます。認証、リクエスト本文、イベント形式については、Webhooks と SSE Streaming を参照してください。

ポータル

ワークフローを /chat/{slug} に公開されるチャットインターフェースに変換できます。ユーザーごとの認証、ストリーミング応答、ファイルアップロード、複数ターンの会話履歴にも対応しています。ワークフローから、社内ツールや顧客向けチャットインターフェースを直接構築できます。ポータル を参照してください。

ワークフローを活用したダッシュボード

カスタムダッシュボードの各ウィジェットは、それぞれ独自の非表示 Heym ワークフローを基盤としています。ワークフローのロジックを使ってデータを取得、変換、検索、生成し、結果をダッシュボードのグラフとして表示できます。ダッシュボード を参照してください。


📝 式 DSL

すっきりとした構文で、ノード間のデータを参照および変換できます。

$input.text                         // Trigger input
$nodeName.field                     // Any upstream node output
$global.variableName                // Persistent global variable
$now.format("YYYY-MM-DD HH:mm")    // Date/time formatting
$UUID                               // Random unique ID
$range(1, 10)                       // Generate number range
$input.items.filter("item.active")  // Array filtering
$input.users.map("item.email")      // Array mapping
$input.text.upper()                // String helpers

プロンプト、HTTP ヘッダー、条件、メール本文、Redis キーなど、対応するノードフィールドで式を使用します。式 DSL リファレンス を参照してください。


🏗️ 技術スタック

レイヤーテクノロジー
フロントエンドVue.js 3 + TypeScript(strict)+ Vite + Bun
UI コンポーネントShadcn Vue + Tailwind CSS
キャンバスVue Flow
状態管理Pinia
バックエンドPython 3.11+ + FastAPI + UV
データベースPostgreSQL 16 + SQLAlchemy 2.0(async)
認証JWT(access + refresh)、bcrypt、オプションの OpenID Connect SSO ログイン

📁 プロジェクト構成

heym/
├── frontend/src/
│   ├── components/     # Canvas, Nodes, Panels, Credentials, Evals, MCP, Teams
│   ├── views/          # DashboardView, EditorView, ChatPortalView
│   ├── stores/         # Pinia (workflow, auth, folder)
│   ├── services/       # API clients
│   └── docs/content/   # In-app documentation (Markdown)
├── backend/
│   ├── app/
│   │   ├── api/        # Routes: workflows, auth, mcp, portal, evals, traces
│   │   ├── models/     # Pydantic schemas
│   │   ├── services/   # Executor, node handlers, LLM, RAG, agent engine
│   │   └── db/         # SQLAlchemy models and database configuration
│   ├── tests/          # Backend unit tests
│   └── alembic/        # Database migrations
├── docker-compose.yml
├── run.sh              # Local development launcher
├── check.sh            # Project validation script
└── deploy.sh           # Docker production deployer

⚙️ 環境変数

変数説明デフォルト
DATABASE_URL任意のデータベース接続文字列の上書きPOSTGRES_* から自動生成
POSTGRES_HOSTDATABASE_URL が空の場合に使用するデータベースホストlocalhost
POSTGRES_PORTDATABASE_URL が空の場合に使用するデータベースポート6543
SECRET_KEYJWT 署名キー未設定
ENCRYPTION_KEY保存された認証情報を保存時に暗号化します。起動時に必須です。python -c "import secrets; print(secrets.token_hex(32))" で生成してください未設定
BACKEND_PORTバックエンドサーバーのポート10105
FRONTEND_PORTフロントエンドサーバーのポート4017
ALLOW_REGISTERユーザー登録を有効にしますtrue
REQUEST_BODY_MAX_SIZE_MBバックエンドの HTTP リクエストボディの最大サイズです。FILE_MAX_SIZE_MB にマルチパートのオーバーヘッド分として 1 MB を加えた値として、デフォルトで 100 に設定されます100
HEYM_OTEL_ENABLEDワークフロー、ノード、エージェントのツール実行に対する OpenTelemetry トレースを有効にしますfalse
HEYM_OTEL_EXPORTER_OTLP_ENDPOINTOTLP/HTTP のベースエンドポイントです。例:http://collector:4318(スパンは /v1/traces に送信されます)未設定
HEYM_OTEL_EXPORTER_OTLP_HEADERS認証用の、カンマ区切りの key=value エクスポーターヘッダー未設定
HEYM_OTEL_SERVICE_NAMEservice.name リソース属性heym
HEYM_OTEL_TRACES_SAMPLER_RATIO親ベースのヘッドサンプリング比率(0.0~1.0)1.0
HEYM_OTEL_CAPTURE_NODE_IO切り詰めたノードの入力/出力をノードスパンに付加しますfalse
HEYM_MCP_ALLOW_PRIVATE_URLSプライベート/ループバック/メタデータアドレス上の MCP HTTP/SSE サーバーを許可します(SSRF ガードを無効化)。ホスト型/マルチテナント環境では false のままにしてくださいfalse

すべての項目については、ENVIRONMENT-VARIABLES.md を参照してください。


🛠️ 開発

前提条件: Bun ≥ 1.0 · Python ≥ 3.11 · UV · Docker

# Start all services (recommended)
./run.sh
./run.sh --no-debug    # INFO logging instead of DEBUG

または、各サービスを手動で起動します:

# Start database only
docker-compose up -d postgres

# Backend
cd backend && uv sync && uv run alembic upgrade head
uv run uvicorn app.main:app --reload --port 10105

# Frontend (separate terminal)
cd frontend && bun install && bun run dev

検証:

./check.sh    # Frontend lint/typecheck; backend format, lint, and tests
# If SECRET_KEY is not exported locally:
SECRET_KEY=test-secret-key-for-tests-only-32-bytes ./check.sh

# Frontend unit and browser tests run separately
(cd frontend && bun run test)
./run_e2e.sh

または、個別に実行します:

(cd frontend && bun run lint && bun run typecheck && bun run test)
(cd backend && uv run ruff check . && uv run ruff format .)

すべてのプルリクエストでは、PR チェックワークフローが実行されます。これには、ファイル行数の上限チェック、フロントエンドの ESLint、TypeScript の厳密な型チェック、フロントエンドの Vitest 単体テスト、本番ビルド、バックエンドの Ruff によるフォーマットとリント、バックエンドの単体テストスイート、および稼働中の Postgres サービスに対する Playwright E2E テストが含まれます。

バックエンドは、バックエンドサーバーの /docs(ローカル開発ではポート 10105)で OpenAPI リファレンスを公開します。


ドキュメントと全機能

すべての機能の簡単な説明を含む一覧は、全機能 を参照してください。Getting Started、すべてのノードタイプ、リファレンストピック(Expression DSL、ワークフロー構造、リアルタイムキャンバスコラボレーション、Webhook、SSE ストリーミング、AI アシスタント、ドキュメントとのチャット、ポータル、セキュリティなど)、およびすべてのダッシュボードタブ(Workflows、Templates、Variables、Chat、Credentials、Vectorstores、MCP、Traces、Alerts、Analytics、Evals、Teams、Logs など)を網羅しています。

現在の記事に基づいた質問をするには、ドキュメントのヘッダーにある Chat with Docs を使用してください。Ctrl+K を押すと、コマンドパレットから検索、ナビゲーション、ワークフローアクションを開けます。

Heym の全機能を紹介するアニメーション

📄 ライセンス

Heym は、Commons Clause の条件が付いた MIT License の下でソースコードを公開しています。これらの条件の下で、使用、変更、配布、セルフホストが可能です。Commons Clause によって制限される権利については、商用ライセンスを利用できます。これには、Heym に実質的に価値が由来する製品やサービスの販売が含まれます。詳細な条件については、両方のライセンスファイルを参照してください。


💬 コミュニティ

Discord に参加して、コミュニティと交流し、質問したり、ワークフローを共有したり、最新情報を確認したりしましょう。

Discord


🧩 テンプレートを共有

コミュニティ向けにワークフローテンプレートを公開しませんか? テンプレートページ から直接送信できます。ダイアログを開いて、ワークフロー DSL を貼り付け、レビューに送信してください。プルリクエストは不要です。

コードで貢献したい場合は、プルリクエストを作成する前に一緒に相談できるよう、ディスカッションを開始 してください。


⭐ 最新情報を確認

ワークフロー作成のデモ

Heym は、制御性を求める開発者と、本番環境への信頼できる道筋を必要とするエンタープライズチームのために作られています。GitHub で Heym にスター ⭐ を付けて、リリース情報を受け取り、より多くのビルダーに知ってもらいましょう。


🏢 エンタープライズ

商用ライセンス、デプロイサービス、プロフェッショナルサポートにより、チームはプライベートインフラストラクチャ上でエージェントシステムを構築・運用できます。

提供内容:

  • 製品またはサービス向けの商用ライセンス
  • デプロイ計画、アーキテクチャレビュー、インフラストラクチャサポート
  • カスタム連携と機能開発
  • エンタープライズのセキュリティおよび ID 要件への対応
  • オンボーディング、トレーニング、トラブルシューティング、ソリューションサポート
  • 優先サポートと SLA 契約

実行履歴、可観測性、評価、チーム管理、SSO、負荷分散、Portal などのコアランタイム機能は、セルフホスト可能な製品の一部です。

セルフホスト可能な Heym ランタイムでシステムを構築・運用するためのコア機能

📧 お問い合わせ: [email protected]


Vue.js、FastAPI、そして大量の LLM トークンを使って ❤️ を込めて構築しました。

⭐ このリポジトリにスターを付ける · 🐛 バグを報告 · 💡 機能をリクエスト

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。