# 開始ノードの設定

開始ノード（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による回答を生成する。
* **ナレッジ検索ノード**: ユーザーの質問に関連する情報をナレッジベースから検索する。
* **質問分類ノード**: ユーザーの意図に応じて処理を分岐させる。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digitalhumans.jp/dify-guide/chatflow/dify-docs-configure-start-node.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
