コンテンツにスキップ

プロジェクトシステム (Project System)

プロジェクトシステムは、Griptape Nodes 内で作業する際のファイルの整理、命名、および保存方法を制御します。ノードが画像を保存したり、アップロードされたファイルをコピーしたり、URL からダウンロードしたりするたびに、プロジェクトシステムがそのファイルの配置場所とファイル名を決定します。


存在する理由

プロジェクトシステムが存在しない場合、ファイル保存のたびにハードコードされた絶対パスが必要になってしまいます。プロジェクトシステムは、ハードコードされたパスの代わりに、マクロ (macros) と呼ばれる名前付きテンプレートと、シチュエーション (situations) と呼ばれる名前付きファイル保存シナリオを提供します。これにより、プロジェクト全体のファイル配置レイアウトを 1 か所で一元管理でき、ファイルを保存するすべてのノードがそのルールに自動的に従うようになります。


各コンポーネントの構造

workspace/                         ← ワークスペースディレクトリ(作業ルート)
  griptape-nodes-project.yml       ← 任意: 独自のカスタマイズ設定
  my_workflow/                     ← ワークフローディレクトリ
    inputs/                        ← デフォルトの inputs ディレクトリ
    outputs/                       ← デフォルトの outputs ディレクトリ
    temp/                          ← デフォルトの temp ディレクトリ
    .griptape-nodes-previews/      ← デフォルトの previews ディレクトリ

概念的な階層関係は以下のようになります:

workspace
  └── project template (プロジェクトテンプレート)
        ├── situations    (各シナリオでどこにどのように保存するか)
        ├── directories   (論理名 → 相対パスのマッピング)
        ├── variables     (ノードやマクロで使用可能なプロジェクト所有の変数)
        └── environment   (マクロ構成用のカスタムキー・バリューペア)

Workspace(ワークスペース) は、このプロジェクトにおけるすべての作業のルートディレクトリです。設定画面で構成します。

Project template(プロジェクトテンプレート) は、このプロジェクトを統括する設定ファイルです。起動時に読み込まれ、まずシステムデフォルト、次に parent_project_path で宣言された 親プロジェクト、最後にこのプロジェクトの griptape-nodes-project.yml のオーバーライドが適用されます。プロジェクトテンプレートにより、ファイルの保存先や命名規則を自在に制御できます。

Situations(シチュエーション) は、ファイルが読み書きされる際の具体的なシナリオ(名前付き場面)です。各シチュエーションはファイルパスを決定するマクロテンプレートと、同名ファイルがすでに存在する場合の動作を決めるポリシーを持ちます。

Directories(ディレクトリ) は、論理名から実際のパスへのマッピングです。各ディレクトリには短い論理名(outputs など)が付けられており、マクロ内で変数として使用できます。その名前がディスク上の実パスへと対応付けられます(デフォルトでは outputs は outputs サブフォルダに対応します)。ディレクトリのパスは相対パスでも絶対パスでも指定でき、マクロ変数や環境変数の参照を含めることも可能です。

Variables(プロジェクト変数) は、ノードパラメータやマクロ内での {VAR} 置換に参加する、プロジェクト所有の名前付きの値(文字列または整数)です。書き込み可能としてマークすることで、クリエイターが実行時に値を変更でき、変更内容をプロジェクトファイルに書き戻すことができます。

Environment(環境変数群) は、マクロ内で参照できるカスタムのキーと値のペアの集まりです。

Macros(マクロ) は、シチュエーションやディレクトリ内で具体的なファイルパスを動的に生成するために使用されるテンプレート文字列です。


このセクションの各ガイド