
Finyuus
Finyuusは、インデントベースのDSLとTemporalベースのランタイムを使用して、エージェント、ツール、ガード、人間の承認、可観測性、API公開を備えた耐久性のあるAIワークフローを構築、実行、バージョン管理、および管理するためのコードファーストプラットフォームです。
https://github.com/mariusndini/Finyuus?ref=producthunt&utm_source=aipure

製品情報
更新日:2026年08月06日
Finyuusとは
Finyuusは、プロンプトとオーケストレーションロジックをアプリケーションコード全体に埋め込むのではなく、AIの動作をスタンドアロンのバージョン管理されたシステムとして定義および運用するためのプラットフォームです。小さく、読みやすく、インデントベースのワークフロー言語(DSL)と本番ランタイムおよびコントロールプレーンを組み合わせることで、チームはエージェント、ツール、ポリシーチェック(ガード)、人間の承認、ネストされたワークフローをテキストで構成できます。FinyuusはTemporalを使用してワークフローを耐久性高く実行し、実行の作成とレビューのためのダッシュボードを提供し、バージョン管理、監査、一元化された可観測性を通じてエンタープライズスタイルの運用をサポートします。
Finyuusの主な機能
Finyuusは、小さなインデントベースのDSLを使用して、耐久性のあるAIワークフローを定義、実行、および管理するためのコードファーストプラットフォームです。AIの動作(エージェント、プロンプト、ツール、ガード、承認、スキーマ、パイプライン)をアプリケーションコードから分離し、耐久性のある状態、再試行、キャンセル、および再現性のためにTemporalでワークフローを実行します。このプラットフォームは、一元化されたバージョン管理、監査および実行履歴(ネストされたワークフローを含む)、Langfuseトレーシングとコストレポートによる可観測性、ClickHouseとオブジェクトストレージ(MinIO/S3)を介したデータおよびアーティファクト処理、および検証、冪等性、レート制限、サーバー送信イベントを備えた認証済みAPIとしてパイプラインを公開する機能を追加します。
インデントベースのパイプラインDSL: エージェント、ツール、ガード、承認、制御フロー(if/else、ループ、ルート、並列)、子パイプライン、および構造化された戻り値を構成するための、読みやすい差分とコードレビューに最適化された、焦点を絞ったテキストDSLです。
Temporalでの耐久性のある実行: 耐久性のある状態、再試行、キャンセル、長時間実行、および再現性を備えたワークフローを実行します。子ワークフローのオーケストレーションとネストされたパイプラインの一貫したセマンティクスをサポートします。
バージョン管理されたAIビルディングブロック: バージョン履歴と不変のバージョンピン(例:pipeline@v3)を備えたエージェント、ツール、ガード、スキーマ、およびパイプラインの中央レジストリにより、再現性と制御されたロールアウトを保証します。
ガバナンス:ガード + 人間の承認: ファーストクラスのポリシーチェック(パス/ブロックルーティングと信頼度を備えたLLMベースのガード)と、担当者、タイムアウト、および明示的な承認/拒否ブランチを備えた人間のレビューのために実行を一時停止する承認ステップ。
ツールレジストリ(ネイティブ、HTTP、パイプラインバック): TypeScriptネイティブツール、設定可能なHTTPツール、およびDSLから、またはツールループ中にエージェントによって呼び出し可能なパイプラインバックツールをサポートし、再利用可能な運用機能を可能にします。
プロダクションAPI + 可観測性スタック: レート制限、冪等性、入力検証、およびSSEストリーミングを備えた認証済みエンドポイントとしてパイプラインを公開します。Langfuseとダッシュボードを介して、実行イベント、ワークフロー履歴、ツール呼び出し、およびモデルのトレース/コストを検査します。
Finyuusのユースケース
金融サービスコンプライアンスワークフロー: 金融アドバイスガードを介してリクエストをルーティングし、教育的な書き換えを生成し、リリース前にコンプライアンス承認を必要とする顧客向けコンテンツパイプラインを作成します。完全に監査可能で再現可能です。
エンタープライズサポートとIT自動化: セーフガード、人間のエスカレーション承認、および不安定な統合のための耐久性のある再試行を備えた、多段階のエージェント/ツールワークフロー(チケットトリアージ、HTTPツールを介した診断、修復チェックリスト)をオーケストレーションします。
研究およびレポート作成パイプライン: データ取得ツール(例:SEC EDGAR/Yahoo Finance)、構造化出力を持つ分析エージェント、公開ポリシーガード、およびアーティファクトストレージを組み合わせて、市場/企業調査を自動化します。
医療または規制対象コンテンツ生成: ポリシーガードと必須の人間の承認を備えた患者/プロバイダー向け資料または内部要約を生成し、監査およびインシデントレビューのための完全な実行履歴を保持します。
内部データ運用および分析ワークフロー: ClickHouseテーブルの読み書き、オブジェクトストレージでのファイル/アーティファクトの管理、および構造化された戻り値を生成するパイプラインを構築します。これは、ETLのようなAI拡張および再現可能なデータエンリッチメントに役立ちます。
アプリケーション向け製品化されたAIエンドポイント: 安定したAIワークフローをAPIとして公開し、複数のアプリが同じバージョン管理されたパイプラインを呼び出せるようにします。一方、運用チームはアプリのコードベース外で動作変更、監視、およびガバナンスを管理します。
メリット
Temporalを介した耐久性のあるプロダクショングレードの実行セマンティクス(再試行、キャンセル、再現性、長時間実行ワークフロー)。
強力なガバナンスプリミティブ(ガード、バージョンピン、承認)と集中化された監査/実行履歴。
コードファーストDSLにより、大規模なビジュアルワークフローと比較して、Gitベースのレビュー、再利用、および保守可能な差分が可能になります。
デメリット
運用上の複雑さ:複数のサービス(Temporal、Postgres、Redis、ClickHouse、オブジェクトストレージ、Langfuse)の実行と保守が必要です。
学習曲線:チームは、純粋にアプリケーションコードにとどまるのではなく、新しいDSLとワークフローモデルを採用する必要があります。
最高の価値は大規模で現れます。小規模なプロトタイプや単純なプロンプトチェーンには必要以上に重い場合があります。
Finyuusの使い方
1) 前提条件をインストールする: Node.js 22+、pnpm 10+、およびDocker Desktop(エンジンが実行中)をインストールします。少なくとも1つのLLMプロバイダーキー(OPENAI_API_KEYまたはANTHROPIC_API_KEY)を準備します。
2) コードを取得する: Finyuusリポジトリをローカルにクローンし(例:https://github.com/mariusndini/Finyuusから)、リポジトリのルートに移動します。
3) 依存関係をインストールする: pnpm install を実行します。
4) ローカル環境ファイルを作成する: テンプレートをコピーします: cp .env.local.example .env.local
5) 必要な環境変数を設定する: .env.localを編集し、少なくとも1つのプロバイダーキー(OPENAI_API_KEYまたはANTHROPIC_API_KEY)を追加します。公開されているPipeline APIを使用する予定がある場合は、PIPELINE_API_TOKENを設定します。オプション:SEC EDGARデモツール用にSEC_USER_AGENTを設定します。オブジェクトストレージの場合:ローカルのMinIOを使用するには未設定のままにするか、AWS S3を使用したい場合はOBJECT_STORAGE_PROVIDER=s3とS3変数を設定します。
6) ローカルシークレットとアプリ環境ファイルを生成する: make init を実行します(これにより、infra/.envやLangfuseなどのローカルサービスで使用される他の生成された環境ファイルが生成されます)。
7) ローカルインフラストラクチャ(Temporal、Postgres、ClickHouse、MinIO、Redis、Langfuse)を起動する: make up を実行します。
8) (オプション)デモコンテンツをシードする: 新規インストールは空の状態から始まります。探索するためのサンプルツール/スキーマ/エージェント/パイプラインが必要な場合は、make demos を実行します。
9) ウェブダッシュボードをビルドして起動する(より速いナビゲーションのために推奨): pnpm build-web の後、pnpm start-web を実行します(ダッシュボードはhttp://localhost:3001で実行されます)。
10) ワーカー(実行エンジン)を起動する: 別のターミナルで、pnpm start-worker を実行します(このTemporalワーカーがパイプラインを実行します)。
11) ローカルUIを開く: Finyuusダッシュボードを開きます: http://localhost:3001。オプションのサポートUI: Langfuse http://localhost:3000、Temporal UI http://localhost:8080、MinIO Console http://localhost:9001、Redis Insight http://localhost:5540。
12) インデントベースのDSLを使用してパイプラインを作成または編集する: ダッシュボードのパイプラインエディタで、agent:、tool:、guard:、approval:、pipeline:、http:*、read/save file/table、if/else、for、parallel、route、returnなどのファーストクラスステートメントを使用してワークフローを記述します。バージョン管理されたパイプラインとして保存し、バージョンごとに実行および固定できるようにします。
13) ダッシュボードからパイプラインを実行する: ダッシュボードのパイプラインページから、入力値を使用して実行を開始します。実行イベント、ガードの結果、ツール呼び出し、ネストされたワークフローステップを観察します。Temporalベースの実行でサポートされているキャンセル/リトライを使用します。
14) ガード(ポリシーチェック)でガバナンスを追加する: エージェント呼び出しの前後にguard:<key>ステップを挿入します。実行をルーティングするためにpass/blockブランチを実装します。ガードの返されたフィールド(例:message/confidence)をリターンペイロードまたは分岐ロジックで使用します。
15) 人間による承認を追加する: レビュー担当者が解決するまで実行を一時停止するためにapproval:<key>ステップを挿入します。-assigned-toと-timeoutを設定し、approved:/rejected:ブランチ(および必要に応じてタイムアウトアクション)を定義します。レビュー担当者はダッシュボードまたはAPI経由で承認を解決します。
16) ツールを使用する(ネイティブ、HTTP、またはパイプラインベース): DSLでtool:<name>と引数を使用してツールを直接呼び出します。ダッシュボードでHTTPツールを設定します(ヘッダー/URLは{{env.MY_API_KEY}}のようなサーバーサイドの環境シークレットを参照できます)。パイプラインを保存し、ツールループ中にエージェントがそれらを呼び出すことを許可することで、パイプラインベースのツールを作成します。
17) 耐久性のあるデータとアーティファクト(テーブル + ファイル)を使用する: ClickHouseベースの構造化データ操作にはread:table/save:tableを、オブジェクトストレージベースのファイル/アーティファクトにはread:file/save:fileを使用します(デフォルトではローカルMinIO、設定されていればS3)。
18) 再現性のためにバージョンを固定する: pipeline:company_research@v3やagent:research_analyst@v2のような不変のバージョンを参照して、実行全体で安定した動作を確保し、監査可能性を可能にします。
19) パイプラインを認証済みHTTP APIとして公開する: ダッシュボードでパイプラインをエンドポイントとして公開します。その後、ベアラートークンと冪等性キーを使用して呼び出します。例:curl -X POST http://localhost:3001/api/v1/responses/<pipeline-slug> -H "Authorization: Bearer $PIPELINE_API_TOKEN" -H "Idempotency-Key: request-001" -H "Content-Type: application/json" -d '{"input": {"query": "example"}}'。有効になっている場合は、ライブ実行更新のためにSSEストリーミングエンドポイントを使用します。
20) 実行を監視および監査する: ダッシュボードを使用して、実行履歴、ネストされたワークフロー、ガード/承認の決定、およびイベントを検査します。Temporal UIを使用してワークフローのタイムラインと耐久性セマンティクス(リトライ/キャンセル/リプレイ可能性)を確認します。Langfuseを使用してトレース、トークン使用量、モデルコストレポートを確認します(必要に応じてLLM_TRACING_ENABLED=falseでグローバルに無効にできます)。
21) コードを変更する際にローカルで開発する(ウォッチモード): Finyuus自体を変更する場合は、ウォッチモードのためにpnpm devを実行します。開発中はpnpm typecheck(またはパッケージフィルターされた型チェック)を使用します。
22) 新しいネイティブツールを追加する(Finyuusの拡張): packages/tools/src/metadata.tsにツールメタデータを追加し、packages/tools/src/registry.tsにファクトリを追加し、packages/tools/src/にツールを実装し、影響を受けるパッケージの型チェックを実行します。
23) 新しいDSLステートメントを追加する(言語/ランタイムの拡張): packages/pipelines/src/types.tsにAST型を追加し、packages/pipelines/src/parser.tsにパーサーサポートを追加し、apps/worker/src/workflows.tsに実行ロジックを実装し、副作用がある場合はapps/worker/src/activities.tsにアクティビティを追加し、apps/web/src/lib/pipeline-intelligence.tsとapps/web/src/components/pipeline/pipeline-completions.tsでエディタのインテリジェンス/オートコンプリートを更新します。
24) ローカルインフラストラクチャを停止またはリセットする: データを保持したままサービスを停止するには: make down。ログを追跡するには: make logs。正常性を確認するには: make verify。ローカルサービスデータを破棄するには: make reset。
Finyuusのよくある質問
Finyuusは、耐久性のあるAIワークフローを構築、実行、管理するためのコードファーストのプラットフォームです。インデントベースのDSLを提供し、エージェント、ツール、ガード、人間の承認、構造化データ操作、ネストされたワークフローを構成し、Temporalを使用して、バージョン管理、監視、監査、ワークフロー操作のための一元化された環境でそれらを実行します。











