> For the complete documentation index, see [llms.txt](https://docs.digitalhumans.jp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitalhumans.jp/dify-guide/chatflow/dify-docs-configure-start-node.md).

# 開始ノードの設定

開始ノード（Start Node）は、チャットフロー実行の起点となるノードです。ユーザーからのメッセージ入力、ファイルアップロード、および会話開始時に必要な初期変数を受け取り、後続ノードに渡す役割を担います。

## 開始ノードの主な機能

![](/files/mNGzyVAsf766VNOTXQsO)

開始ノードでは以下の設定やデータ取得が行われます。

1. **ユーザー入力の取得**: ユーザーが送信したテキストメッセージを受け取ります。
2. **入力フィールド（変数の定義）**: 会話開始時にユーザーから収集する情報（名前、カテゴリ、言語など）を定義します。
3. **ファイルアップロード設定**: ユーザーによる画像やドキュメントの送信許可設定を行います。

## 設定画面の開き方

開始ノードの設定を行うには、以下の手順で設定パネルを開きます。

1. ワークフローエディタを開きます
2. キャンバス上の「開始」と表示されたノードをクリックします
3. 右側に設定パネルが表示されます

## システム変数

Difyが標準で提供し、開始ノードから自動的に出力される変数です。これらはフロー内のあらゆるノードで参照可能です。

| 変数名                   | 型            | 説明                                                 |
| --------------------- | ------------ | -------------------------------------------------- |
| `sys.query`           | String       | ユーザーが入力したメッセージ本文。最も頻繁に使用されます。                      |
| `sys.files`           | Array\[File] | ユーザーがアップロードしたファイル情報の配列。ファイルアップロード機能を有効にした場合に使用します。 |
| `sys.conversation_id` | String       | 会話セッションの一意なID。ログ追跡などに利用します。                        |
| `sys.user_id`         | String       | ユーザーの一意なID。ユーザーごとの処理を行う場合に使用します。                   |
| `sys.dialogue_count`  | Number       | 現在の会話における往復回数（ターン数）。会話の長さに応じた処理に利用できます。            |

## 入力フィールド（カスタム変数）の設定

開始ノード内に独自の「入力フィールド」を追加することで、会話のコンテキストに必要な情報を定義できます。これらは**会話変数**として機能します。

**用途例** `language`（回答言語の指定）、`topic`（興味のあるトピック）、`user_name`（ユーザー名）

### フィールドの追加手順

![](/files/QInsLR3odtjhxlNazaTB)

1. 開始ノードの設定パネルを開きます
2. 「入力フィールド」セクションの「＋」ボタンをクリックします
3. 表示されるダイアログで以下を設定します：

   **設定項目**

   * **フィールドタイプ**: 入力データの種類を選択
   * **変数名**: ワークフロー内部で参照するための変数名（例: `topic`）
   * **ラベル名**: ユーザーに表示される項目名
   * **最大長**: 入力可能な文字数の上限（テキストフィールドの場合）
   * **必須**: 入力を必須にするかどうか
4. 「保存」をクリックしてフィールドを追加します

### フィールドタイプ一覧

![](/files/VfLlZRchawrpEFUme72Q)

* 短文（String）: 1行の短いテキスト入力（例: 名前、キーワード）
* 段落（String）: 複数行の長いテキスト入力（例: 説明文、詳細）
* 選択（String）: 事前に定義した選択肢から選ぶドロップダウン（例: カテゴリ選択）
* 数値（Number）: 数値のみを受け付ける入力フィールド（例: 年齢、数量）
* チェックボックス（Boolean）: オン/オフの選択（例: 同意チェック、オプションの有効化）
* 単一ファイル（File）: 1つのファイルのアップロード
* ファイルリスト（Array\[File]）: 複数ファイルのアップロード

## ファイルアップロードの設定

マルチモーダルな対話を行う場合、開始ノードでファイルアップロードを有効化します。

1. 開始ノードを選択します。
2. 「ファイルアップロード」機能をオンにします。
3. 許可するファイル形式（画像、ドキュメントなど）を選択します。 アップロードされたファイルは `sys.files` 変数に格納され、「ドキュメント抽出ノード」や「LLMノード（Vision対応モデル）」で利用できます。

## 変数の参照方法

後続のノード（LLM、条件分岐、HTTPリクエストなど）で、開始ノードの値を参照するには以下の手順を行います。

1. **プロンプト/設定欄での参照**:
   * 入力欄で `{`（波括弧）を入力すると変数リストが表示されます。
   * リストから `sys.query` や設定したカスタム変数（例: `topic`）を選択します。
2. **表記形式**:
   * Dify上では `{{#sys.query#}}` のようなブロックとして表示されます。

## 次のステップ

開始ノードの設定完了後は、フローのロジックに合わせて以下のノードを接続します。

* **LLMノード**: `sys.query` を入力として受け取り、AIによる回答を生成する。
* **ナレッジ検索ノード**: ユーザーの質問に関連する情報をナレッジベースから検索する。
* **質問分類ノード**: ユーザーの意図に応じて処理を分岐させる。
