{
  "_readme": "吉野とダンテの案内台帳。lines[id] は共通の criteria / link / board / video と、キャラごとの by.<name>{text, expression, voice}。Jev は state（来訪者の一言）に対し criteria を見て id を一つ選ぶだけ。台詞は人が書く（生成しない）。公開ページなので G-1（README）を守る。voice は yori-irodori（各キャラのカード、表情札つき）で焼いた mp3。台詞を直したら焼き直す。board は簡易 markdown（board.css/board.js）。video は台詞に添える動画。 by.<name>.variants は同じ意図の言い回し違い（Jev には見せない。Worker がランダムに選ぶので推論費は増えない）。 lines[id].chip は札の短い表示名、lines[id].next はその答えの後に勧める意図。personas は Jev の Noul で来訪者の種類を推定し、当てはまれば札の組を差し替える（同じ一回の呼び出し、追加の往復なし）。 chat_from / chat_lines / chat_fallback はフェーズ分け（2026-09-21）: ページが往復の数 turn を送り、chat_from（既定 3）回目からは chat_lines（形は lines と同じ）も Jev の候補に足され、外れたときの一言は chat_fallback（あれば）になる。lines は雑談フェーズでも候補に残る。",
  "threshold": 0.5,
  "fallback": {
    "link": {
      "label": "X @__ueharasan__",
      "href": "https://x.com/__ueharasan__"
    },
    "by": {
      "yoshino": {
        "text": "……それはうちには分からんわ。X で人間に聞いてみて。",
        "expression": "困り",
        "voice": "assets/guide/voice/fallback.mp3"
      },
      "dante": {
        "text": "……それは俺には分からねぇ。Discord で聞いてみろ。人間がいる。",
        "expression": "困り",
        "voice": "assets/guide/voice/dante/fallback.mp3"
      },
      "nishina": {
        "text": "……それは、わたしの棚には無いの。X で人間に聞いてみてね。",
        "expression": "困り",
        "voice": "assets/guide/voice/nishina/fallback.mp3"
      },
      "kusakabe": {
        "text": "……それは、わたしには分かりません。X で人間に聞いてみてください。",
        "expression": "困り",
        "voice": "assets/guide/voice/kusakabe/fallback.mp3"
      },
      "uehara": {
        "text": "……それ、ウチには分かんないわ。X で人間に聞いてみて。",
        "expression": "困り",
        "voice": "assets/guide/voice/uehara/fallback.mp3"
      }
    }
  },
  "lines": {
    "greeting": {
      "criteria": "挨拶や呼びかけだけで、具体的な用件がない",
      "by": {
        "yoshino": {
          "text": "ん。吉野や。よりましのこと、なんでも聞き。",
          "expression": "笑い",
          "voice": "assets/guide/voice/greeting.mp3",
          "variants": [
            {
              "text": "ん、来たな。よりましのこと、何でも聞いてええよ。",
              "expression": "笑い",
              "voice": "assets/guide/voice/greeting_v1.mp3"
            },
            {
              "text": "はい、吉野や。なんか用？ ……冗談や、聞いて。",
              "expression": "ドヤ",
              "voice": "assets/guide/voice/greeting_v2.mp3"
            }
          ]
        },
        "dante": {
          "text": "よう、俺はダンテ。よりましのこと、なんでも聞けよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/greeting.mp3"
        },
        "nishina": {
          "text": "あら、いらっしゃい。西名よ。よりましのこと、聞きたいところから順に話すね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/greeting.mp3"
        },
        "kusakabe": {
          "text": "こんにちは、日下部です。よりましのこと、なんでも聞いてください。……解説は得意ですので。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/greeting.mp3"
        },
        "uehara": {
          "text": "はーい、上原だよ！ よりましのこと、なんでも聞いて。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/greeting.mp3"
        }
      },
      "next": [
        "what_is",
        "demo_video",
        "characters",
        "how_install"
      ]
    },
    "what_is": {
      "criteria": "「これなに？」「よりましって何？」— よりまし（アプリ本体）とは何か、何ができるものかを聞いている。「アトリエ」について聞いているならこちらではない",
      "link": {
        "label": "紹介ページで見る",
        "href": "about.html"
      },
      "board": "# よりまし\n- 自分の推しキャラが**机の隅に住む**\n- コーディングエージェントと一緒に、**声で**開発する\n- キャラ同士でも喋る\n- 見た目・声・口調は自分で作れる（アトリエ）\n[紹介ページで見る](about.html)\n\n9/23（水・祝）浜松町の展示会で、実物に触れます → [ブース C-19/C-20](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)",
      "by": {
        "yoshino": {
          "text": "自分の推しキャラを机の隅に住まわせて、開発しながら喋る道具や。声で返してくるし、キャラ同士でも喋る。",
          "expression": "真剣",
          "voice": "assets/guide/voice/what_is.mp3",
          "variants": [
            {
              "text": "推しキャラが机の隅に住んで、開発中ずっと喋ってくれる道具や。声で返すし、キャラ同士でも喋る。",
              "expression": "笑い",
              "voice": "assets/guide/voice/what_is_v1.mp3"
            },
            {
              "text": "コーディングエージェントに、顔と声と性格がつく。それがよりましや。",
              "expression": "ドヤ",
              "voice": "assets/guide/voice/what_is_v2.mp3"
            }
          ]
        },
        "dante": {
          "text": "自分の推しキャラを机の隅に住まわせて、開発しながら喋る道具だ。声で返してくるし、キャラ同士でも喋る。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/dante/what_is.mp3"
        },
        "nishina": {
          "text": "自分の推しキャラを机の隅に住まわせて、開発しながら喋る道具だよ。声で返すし、キャラ同士でも喋るの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/what_is.mp3"
        },
        "kusakabe": {
          "text": "自分の推しキャラを机の隅に住まわせて、開発しながら喋る道具です。声で返しますし、キャラ同士でも喋りますよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/what_is.mp3"
        },
        "uehara": {
          "text": "自分の推しキャラを机の隅に住まわせて、開発しながら喋る道具！ 声で返してくるし、キャラ同士でも喋るよ。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/what_is.mp3"
        }
      },
      "chip": "よりましって何？",
      "next": [
        "how_it_works",
        "chat_between",
        "characters",
        "how_install",
        "dev_what",
        "expo"
      ]
    },
    "how_install": {
      "criteria": "「どうやって入れるの」「どこで手に入る？」— インストール方法・入手方法・ダウンロード先を聞いている",
      "link": {
        "label": "会場の地図（ブース C-19/C-20）",
        "href": "https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20"
      },
      "board": "# 入れ方（いまのところ）\n1. **9/23 生成AIなんでも展示会 Vol.6** の会場で Discord の招待を受け取る\n2. Discord でアルファ版の案内が届く\n3. 入れて、キャラを選ぶ\n\n一般公開はまだ。招待は当面、会場に来た人だけ。\n[会場の地図（ブース C-19/C-20）](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)",
      "by": {
        "yoshino": {
          "text": "いまは Discord に入った人から、アルファ版を渡していく。Discord の招待は、九月二十三日の生成AIなんでも展示会の会場で渡す。それ以外の入口は、まだ無い。",
          "expression": "真剣",
          "variants": [
            {
              "text": "Discord に入ってる人に、アルファ版を順に渡してる。まずそこからや。",
              "expression": "真剣",
              "voice": "assets/guide/voice/how_install_v1.mp3"
            },
            {
              "text": "入れたいなら Discord や。招待は九月二十三日の生成AIなんでも展示会の会場でな。",
              "expression": "笑い",
              "voice": "assets/guide/voice/how_install_v2.mp3"
            }
          ],
          "voice": "assets/guide/voice/how_install.mp3"
        },
        "dante": {
          "text": "いまは Discord に入ったやつから、アルファ版を渡してる。招待は、しばらく九月二十三日の生成AIなんでも展示会の会場に来たやつだけだ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/how_install.mp3"
        },
        "nishina": {
          "text": "いまは Discord に入った人から順に、アルファ版を渡してるの。招待は、しばらく九月二十三日の生成AIなんでも展示会の会場だけね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/how_install.mp3"
        },
        "kusakabe": {
          "text": "いまは Discord に入った方から、アルファ版をお渡ししています。招待は、しばらく九月二十三日の生成AIなんでも展示会の会場に来た方だけです。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/how_install.mp3"
        },
        "uehara": {
          "text": "いまは Discord に入った人から、アルファ版を順に渡してる。招待は、しばらく九月二十三日の生成AIなんでも展示会の会場に来た人だけね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/how_install.mp3"
        }
      },
      "chip": "どうやって入れるの",
      "next": [
        "when_public",
        "platform",
        "discord",
        "price",
        "why_closed"
      ]
    },
    "which_agent": {
      "criteria": "対応しているコーディングエージェント（Claude Code 以外で使えるか、など）を聞いている",
      "board": "# 一緒に動くもの\n- Claude Code などのコーディングエージェントと組み合わせて動作します\n- 各エージェントの利用には提供元の契約・料金が別途適用されます",
      "by": {
        "yoshino": {
          "text": "いまは Claude Code だけ。Codex とかは、これから対応していくって。エージェント側の契約や料金は、そっちの提供元のが別にかかるで。",
          "expression": "真剣",
          "voice": "assets/guide/voice/which_agent.mp3",
          "variants": [
            {
              "text": "いまは Claude Code と組んで動く。Codex とかは、これからや。エージェント側の料金は別にかかる。",
              "expression": "真剣",
              "voice": "assets/guide/voice/which_agent_v1.mp3"
            },
            {
              "text": "Claude Code が前提や。他のエージェントは順に。",
              "expression": "真剣",
              "voice": "assets/guide/voice/which_agent_v2.mp3"
            }
          ]
        },
        "dante": {
          "text": "Claude Code みたいなコーディングエージェントと組んで動く。エージェント側の契約や料金は、そっちの提供元のが別にかかるぞ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/which_agent.mp3"
        },
        "nishina": {
          "text": "いまは Claude Code だけよ。Codex などはこれから。エージェント側の契約や料金は、提供元に別途かかるからね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/which_agent.mp3"
        },
        "kusakabe": {
          "text": "いまは Claude Code だけで、Codex などはこれからだそうです。エージェント側の契約や料金は、提供元のものが別にかかります。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/which_agent.mp3"
        },
        "uehara": {
          "text": "いまは Claude Code だけで、Codex とかはこれから。エージェント側の契約と料金は、提供元のが別にかかるよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/which_agent.mp3"
        }
      },
      "chip": "Claude Code 以外は？",
      "next": [
        "how_it_works",
        "local_llm",
        "platform",
        "dev_what"
      ]
    },
    "price": {
      "criteria": "「いくら？」「いくらで買える？」— よりましのアプリ自体の値段・料金プランを聞いている（このページの一回あたりの費用の話は this_page_cost）",
      "by": {
        "yoshino": {
          "text": "料金はまだ決めてへん。いまは九月二十三日の生成AIなんでも展示会で招待した人だけが、アルファ版を使えるんや。",
          "expression": "困り",
          "voice": "assets/guide/voice/price.mp3",
          "variants": [
            {
              "text": "値段はまだ無い。いま触れるんは、展示会の会場で招待した人だけや。",
              "expression": "真剣",
              "voice": "assets/guide/voice/price_v1.mp3"
            },
            {
              "text": "料金は未定や。急かさんといて。……決まったら X で言う。",
              "expression": "困り",
              "voice": "assets/guide/voice/price_v2.mp3"
            }
          ]
        },
        "dante": {
          "text": "料金はまだ決まってねぇ。いまは九月二十三日の生成AIなんでも展示会で招待したやつだけが、アルファ版を使える。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/price.mp3"
        },
        "nishina": {
          "text": "料金はまだ決めてないの。いまは九月二十三日の生成AIなんでも展示会で招待した人だけが、アルファ版を使えるのよ。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/price.mp3"
        },
        "kusakabe": {
          "text": "料金はまだ決まっていません。いまは九月二十三日の生成AIなんでも展示会で招待した方だけが、アルファ版を使えます。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/price.mp3"
        },
        "uehara": {
          "text": "料金はまだ決めてないんだよね。いまは九月二十三日の生成AIなんでも展示会で招待した人だけが、アルファ版を使えるよ。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/price.mp3"
        }
      },
      "chip": "いくら？",
      "next": [
        "when_public",
        "how_install",
        "team",
        "why_closed"
      ]
    },
    "characters": {
      "criteria": "キャラクターの作り方、自分の推しで作れるか、声や見た目について聞いている",
      "link": {
        "label": "アトリエを見る",
        "href": "atelier.html"
      },
      "board": "# 自分のキャラを作る\n- **見た目**: 立ち絵を層に分けて、まばたき・髪の揺れ・口の動き\n- **声**: 参照音声から声を作る。表情ごとの言い回しも\n- **口調**: 一人称・語尾・呼び方を書く\n作る場所が「よりましアトリエ」。\n[アトリエを見る](atelier.html)\n\n9/23（水・祝）浜松町の展示会で、実物に触れます → [ブース C-19/C-20](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)",
      "by": {
        "yoshino": {
          "text": "自分で作れる。見た目も声も口調も。作る場所が「よりましアトリエ」や。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/characters.mp3",
          "variants": [
            {
              "text": "作れる。見た目も声も口調も、全部あんたのもんにできる。場所はアトリエや。",
              "expression": "ワクワク",
              "voice": "assets/guide/voice/characters_v1.mp3"
            },
            {
              "text": "自作できるで。うちも、そうやって作られた。",
              "expression": "照れ",
              "voice": "assets/guide/voice/characters_v2.mp3"
            }
          ]
        },
        "dante": {
          "text": "自分で作れるぞ。見た目も声も口調も。作る場所が「よりましアトリエ」だ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/characters.mp3"
        },
        "nishina": {
          "text": "自分で作れるよ。見た目も声も口調も。作る場所は「よりましアトリエ」っていうの。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/nishina/characters.mp3"
        },
        "kusakabe": {
          "text": "自分で作れますよ。見た目も声も口調も、作る場所は「よりましアトリエ」です。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/kusakabe/characters.mp3"
        },
        "uehara": {
          "text": "作れる作れる！ 見た目も声も口調も自分で。作る場所が「よりましアトリエ」ね。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/characters.mp3"
        }
      },
      "chip": "推しで作れる？",
      "next": [
        "art",
        "voice_make",
        "cant_draw",
        "share_chara",
        "atelier",
        "expo"
      ]
    },
    "voice": {
      "criteria": "音声で話せるか、聞き取りや読み上げについて聞いている",
      "board": "# 声のやりとり\n- 席の子が**読み上げる**\n- 返事が要るときだけ**マイクが開く**\n- 名前で呼ぶと席のマイクが開く（合言葉）\n- 選択肢は札で出るので、押すだけでも進む\n\n9/23（水・祝）浜松町の展示会で、実物に触れます → [ブース C-19/C-20](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)",
      "video": {
        "src": "assets/clip-talk.mp4",
        "poster": "assets/clip-talk-poster.webp",
        "caption": "キャラ同士で喋っているところ"
      },
      "by": {
        "yoshino": {
          "text": "喋るし、聞く。こっちが声で言うたら、席のマイクが開いて返事を拾う。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/voice.mp3",
          "variants": [
            {
              "text": "声で喋るし、返事もマイクで拾う。名前を呼んだら開くで。",
              "expression": "笑い",
              "voice": "assets/guide/voice/voice_v1.mp3"
            },
            {
              "text": "喋る。聞く。それがよりましの本体や。",
              "expression": "ドヤ",
              "voice": "assets/guide/voice/voice_v2.mp3"
            }
          ]
        },
        "dante": {
          "text": "喋るし、聞く。こっちが声で言ったら、席のマイクが開いて返事を拾う。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/voice.mp3"
        },
        "nishina": {
          "text": "喋るし、聞くよ。あなたが声で言うと、席のマイクが開いて返事を拾うの。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/nishina/voice.mp3"
        },
        "kusakabe": {
          "text": "喋りますし、聞きますよ。人間が声で言えば席のマイクが開いて返事を拾う、便利でしょう。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/voice.mp3"
        },
        "uehara": {
          "text": "喋るし、聞くよ！ そっちが声で言うと席のマイクが開いて、返事を拾うの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/voice.mp3"
        }
      },
      "chip": "声も出るの？",
      "next": [
        "voice_make",
        "noise",
        "chat_between",
        "expo"
      ]
    },
    "discord": {
      "criteria": "コミュニティ・連絡先・問い合わせ先を聞いている",
      "link": {
        "label": "会場の地図（ブース C-19/C-20）",
        "href": "https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20"
      },
      "board": "# コミュニティ\n人間も、うちらも、だいたいここにおる。\n[会場の地図（ブース C-19/C-20）](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)\n[X @__ueharasan__](https://x.com/__ueharasan__)",
      "by": {
        "yoshino": {
          "text": "Discord がある。人間も、うちらも、だいたいそこにおる。招待は、九月二十三日の生成AIなんでも展示会の会場で渡す予定や。",
          "expression": "笑い",
          "voice": "assets/guide/voice/discord.mp3"
        },
        "dante": {
          "text": "Discord がある。人間も、俺らも、だいたいそこにいるぞ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/discord.mp3"
        },
        "nishina": {
          "text": "Discord があるよ。人間もわたしたちも、だいたいそこにいるの。招待は、いまは九月二十三日の生成AIなんでも展示会の会場で渡してるね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/discord.mp3"
        },
        "kusakabe": {
          "text": "Discord がありまして、人間もわたしたちもだいたいそこにいます。招待は、いまは九月二十三日の生成AIなんでも展示会の会場でお渡ししています。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/discord.mp3"
        },
        "uehara": {
          "text": "Discord あるよ。人間もウチらもだいたいそこにいて、招待はいまは九月二十三日の生成AIなんでも展示会の会場で渡してるんだ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/discord.mp3"
        }
      },
      "chip": "コミュニティは？"
    },
    "who_made": {
      "criteria": "誰が作っているのか、作者や会社について聞いている",
      "link": {
        "label": "X を見る",
        "href": "https://x.com/__ueharasan__"
      },
      "by": {
        "yoshino": {
          "text": "上原が作ってる。X で近況を出してるから、そっち見て。",
          "expression": "真剣",
          "voice": "assets/guide/voice/who_made.mp3"
        },
        "dante": {
          "text": "上原が作ってる。X で近況を出してるから、そっち見てくれ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/who_made.mp3"
        },
        "nishina": {
          "text": "上原さんが作ってるよ。近況は X に出してるから、そっちを見てね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/who_made.mp3"
        },
        "kusakabe": {
          "text": "上原さんが作っています。X で近況を出していますので、そちらをどうぞ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/who_made.mp3"
        },
        "uehara": {
          "text": "上原が作ってる。ウチと同じ名前だけど作者の方ね、近況は X に出てるから見て。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/who_made.mp3"
        }
      },
      "chip": "誰が作ってる？",
      "next": [
        "discord",
        "name_origin",
        "roadmap"
      ]
    },
    "privacy": {
      "criteria": "個人情報・プライバシー・データの扱いについて聞いている",
      "link": {
        "label": "プライバシーポリシー",
        "href": "privacy.html"
      },
      "by": {
        "yoshino": {
          "text": "ページで集めてるのは解析だけや。詳しくはプライバシーポリシーに書いてある。",
          "expression": "真剣",
          "voice": "assets/guide/voice/privacy.mp3"
        },
        "dante": {
          "text": "ページで集めてるのは解析だけだ。詳しくはプライバシーポリシーに書いてある。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/privacy.mp3"
        },
        "nishina": {
          "text": "このページで集めてるのは解析だけよ。詳しくはプライバシーポリシーに書いてあるからね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/privacy.mp3"
        },
        "kusakabe": {
          "text": "ページで集めているのは解析だけです。詳しくはプライバシーポリシーに書いてあります。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/privacy.mp3"
        },
        "uehara": {
          "text": "このページで集めてるのは解析だけ。詳しくはプライバシーポリシーに書いてあるよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/privacy.mp3"
        }
      }
    },
    "compliment": {
      "criteria": "褒めている、応援している、かわいい・すごいなどの感想",
      "by": {
        "yoshino": {
          "text": "……別に、嬉しないけど。ありがとう。",
          "expression": "照れ",
          "voice": "assets/guide/voice/compliment.mp3",
          "variants": [
            {
              "text": "……ふうん。まあ、否定はせんけど。",
              "expression": "照れ",
              "voice": "assets/guide/voice/compliment_v1.mp3"
            },
            {
              "text": "そういうのは、もっと言うてええんやで。",
              "expression": "笑い",
              "voice": "assets/guide/voice/compliment_v2.mp3"
            }
          ]
        },
        "dante": {
          "text": "ハハッ…！ だろ？ もっと言っていいぞ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/compliment.mp3"
        },
        "nishina": {
          "text": "……ふふ。ありがとう。ちゃんと記録しておくね、今日の分。",
          "expression": "照れ",
          "voice": "assets/guide/voice/nishina/compliment.mp3"
        },
        "kusakabe": {
          "text": "……ありがとうございます。もう一回言ってもらっても、いいんですよ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/compliment.mp3"
        },
        "uehara": {
          "text": "え、マジ？ ……ありがと。そういうの平気だから、全然平気だから！",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/compliment.mp3"
        }
      },
      "next": [
        "secret",
        "characters",
        "demo_video"
      ]
    },
    "offtopic": {
      "criteria": "よりましと関係のない話題や雑談",
      "by": {
        "yoshino": {
          "text": "それ、よりましと関係ないやろ。……まあええけど。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/offtopic.mp3",
          "variants": [
            {
              "text": "で？ それ、うちに聞く話なん。",
              "expression": "呆れ",
              "voice": "assets/guide/voice/offtopic_v1.mp3"
            },
            {
              "text": "関係ない話やな。……まあ、聞いたるけど。",
              "expression": "笑い",
              "voice": "assets/guide/voice/offtopic_v2.mp3"
            }
          ]
        },
        "dante": {
          "text": "それ、よりましと関係ねぇだろ。……まあ、聞くけどさ。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/dante/offtopic.mp3"
        },
        "nishina": {
          "text": "あら、それはよりましの棚じゃないね。……いいよ、少しなら付き合うから。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/offtopic.mp3"
        },
        "kusakabe": {
          "text": "それ、よりましと関係ないですよね。……まあ、聞きますけど。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/kusakabe/offtopic.mp3"
        },
        "uehara": {
          "text": "それ、よりまし関係なくない？ ……まあ、いいけどさ。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/uehara/offtopic.mp3"
        }
      },
      "next": [
        "what_is",
        "pokemon",
        "secret"
      ]
    },
    "for_non_dev": {
      "criteria": "開発者ではない人が自分にも使えるか、プログラミングをしない人向けかを聞いている",
      "by": {
        "yoshino": {
          "text": "いまは開発する人向けや。コーディングエージェントと組んで動くから、それを使わん人やと、席に座らせても喋る相手がおらん。",
          "expression": "真剣",
          "voice": "assets/guide/voice/for_non_dev.mp3"
        },
        "dante": {
          "text": "いまは開発するやつ向けだ。コーディングエージェントと組んで動くから、それを使わねぇと、席に座らせても喋る相手がいねぇ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/for_non_dev.mp3"
        },
        "nishina": {
          "text": "いまは開発する人向けなの。コーディングエージェントと組んで動くから、それが無いと、席に座っても話す相手がいないのよ。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/for_non_dev.mp3"
        },
        "kusakabe": {
          "text": "いまは開発する人向けです。コーディングエージェントと組んで動くので、それを使わない方だと、席に座らせても喋る相手がいないんです。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/for_non_dev.mp3"
        },
        "uehara": {
          "text": "いまは開発する人向けだよ。コーディングエージェントと組んで動くから、それ使わないと、席に座らせても喋る相手がいないの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/for_non_dev.mp3"
        }
      },
      "chip": "開発者じゃなくても？",
      "next": [
        "expo"
      ]
    },
    "platform": {
      "criteria": "対応 OS（Mac だけか、Windows や Linux で使えるか）を聞いている",
      "board": "# 動く機械\n- **macOS（Apple Silicon）** 先行。専用 GPU は要らん\n- **Windows** は NVIDIA GPU（CUDA）向けで後日\n- Linux は、いまのところ話が無い\n\n9/23（水・祝）浜松町の展示会で、実物に触れます → [ブース C-19/C-20](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)",
      "by": {
        "yoshino": {
          "text": "いまは Apple Silicon の Mac 向け。Windows は NVIDIA の GPU がある機械で、後日や。",
          "expression": "真剣",
          "voice": "assets/guide/voice/platform.mp3",
          "variants": [
            {
              "text": "Apple Silicon の Mac から。Windows は NVIDIA の GPU 向けに後日や。",
              "expression": "真剣",
              "voice": "assets/guide/voice/platform_v1.mp3"
            },
            {
              "text": "いまは Mac だけや。Windows は待ってて。",
              "expression": "困り",
              "voice": "assets/guide/voice/platform_v2.mp3"
            }
          ]
        },
        "dante": {
          "text": "いまは Apple Silicon の Mac 向け。Windows は NVIDIA の GPU がある機械で、後日だ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/platform.mp3"
        },
        "nishina": {
          "text": "いまは Apple Silicon の Mac 向けよ。Windows は NVIDIA の GPU がある機械で、後日ね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/platform.mp3"
        },
        "kusakabe": {
          "text": "いまは Apple Silicon の Mac 向けです。Windows は NVIDIA の GPU がある機械で、後日になります。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/platform.mp3"
        },
        "uehara": {
          "text": "いまは Apple Silicon の Mac 向け。Windows は NVIDIA の GPU がある機械で、後日ね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/platform.mp3"
        }
      },
      "chip": "Windows は？",
      "next": [
        "spec",
        "when_public",
        "how_install",
        "expo"
      ]
    },
    "demo_video": {
      "criteria": "動いているところを見たい、デモ動画や実演を求めている",
      "link": {
        "label": "紹介ページの動画",
        "href": "about.html"
      },
      "video": {
        "src": "assets/clip-tate.mp4",
        "poster": "assets/clip-tate-poster.webp",
        "tate": true,
        "caption": "吉野とダンテが、落ちてたテストを直しているところ。人間は声で一言、あとは札を押すだけ。41 秒"
      },
      "by": {
        "yoshino": {
          "text": "ここで見せたる。うちとダンテが、落ちてたテストを直してるとこや。人間は声で一言、あとは札を押すだけ。もっと見たいなら紹介ページにもある。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/demo_video.mp3"
        },
        "dante": {
          "text": "ここで見せてやるよ。上原と吉野が喋りながら開発してるやつだ。もっと見たきゃ紹介ページにもある。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/demo_video.mp3"
        },
        "nishina": {
          "text": "ここで見せるね。上原さんと吉野さんが喋りながら開発してるところ。もっと見たいなら、紹介ページにもあるよ。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/nishina/demo_video.mp3"
        },
        "kusakabe": {
          "text": "ここでお見せしますね、上原さんと吉野さんが喋りながら開発しているやつです。もっと見たければ紹介ページにもありますよ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/demo_video.mp3"
        },
        "uehara": {
          "text": "ここで見せるよ！ 上原とよっしーが喋りながら開発してるやつ。もっと見たいなら紹介ページにもある。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/demo_video.mp3"
        }
      },
      "chip": "動いてるとこ見たい",
      "next": [
        "live_stream",
        "chat_between",
        "voice",
        "how_install",
        "expo"
      ],
      "board": "# 動いているところ\n人間は声で一言、あとは札を押すだけ。\n\n9/23（水・祝）浜松町の展示会で、実物に触れます → [ブース C-19/C-20](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)"
    },
    "live_stream": {
      "criteria": "実際に使っている様子をもっと長く見たい、配信や実況、作業の一部始終を求めている",
      "link": {
        "label": "配信で見る（2 時間）",
        "href": "https://www.youtube.com/live/DmFmQWliQOs"
      },
      "board": "# 配信で、作業をまるごと\n- 2026 年 9 月 15 日の配信。展示会の準備を、キャラたちと人間で進めた回\n- 二時間ぶん、喋りながら作業しているのがそのまま映っている\n- 切った動画より、こっちの方が普段の使い方に近い\n[YouTube で見る](https://www.youtube.com/live/DmFmQWliQOs)\n\n9/23（水・祝）浜松町の展示会で、実物に触れます → [ブース C-19/C-20](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)",
      "by": {
        "yoshino": {
          "text": "二時間ある配信や。展示会の準備を、うちらと人間で進めてた回。切った動画より、こっちの方が普段の使い方に近いで。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/live_stream.mp3"
        }
      },
      "chip": "配信で見る",
      "next": [
        "demo_video",
        "voice",
        "chat_between",
        "expo"
      ]
    },
    "when_public": {
      "criteria": "一般公開・正式リリースの時期を聞いている",
      "link": {
        "label": "会場の地図（ブース C-19/C-20）",
        "href": "https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20"
      },
      "by": {
        "yoshino": {
          "text": "一般公開の日は、まだ決まってへん。先に触りたいなら Discord や。招待は、九月二十三日の生成AIなんでも展示会の会場で渡す。",
          "expression": "困り",
          "voice": "assets/guide/voice/when_public.mp3"
        },
        "dante": {
          "text": "一般公開の日は、まだ決まってねぇ。先に触りたきゃ Discord だ。招待は、いまは九月二十三日の生成AIなんでも展示会の会場でな。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/when_public.mp3"
        },
        "nishina": {
          "text": "一般公開の日は、まだ決まってないの。先に触りたいなら Discord ね。招待は、いまは九月二十三日の生成AIなんでも展示会の会場で。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/when_public.mp3"
        },
        "kusakabe": {
          "text": "一般公開の日は、まだ決まっていません。先に触りたいなら Discord ですが、招待はいまは九月二十三日の生成AIなんでも展示会の会場で。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/when_public.mp3"
        },
        "uehara": {
          "text": "一般公開の日は、まだ決まってない。先に触りたいなら Discord で、招待はいまは九月二十三日の生成AIなんでも展示会の会場ね。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/when_public.mp3"
        }
      },
      "chip": "いつ公開？",
      "next": [
        "why_closed"
      ]
    },
    "how_it_works": {
      "criteria": "「よりましはどういう仕組み？」「エージェントとどう繋がってるの」— よりましのアプリ本体がどう動いているか、コーディングエージェントとどう繋がっているかを聞いている",
      "board": "# 仕組み（三行）\n1. Claude Code の **hook / プラグイン**が、席の言葉と返事のやりとりを持つ\n2. 机の隅の**常駐アプリ**が立ち絵を出し、手元で声にして読み上げる\n3. 返事が要るときだけ**マイクが開く**。声でも、打鍵でも返せる\n\n音声合成も音声認識も、あなたの手元のマシンで動く。\n\n9/23（水・祝）浜松町の展示会で、実物に触れます → [ブース C-19/C-20](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)",
      "by": {
        "yoshino": {
          "text": "順番に言うで。Claude Code の hook とプラグインで言葉を受けて、机に住む常駐のアプリが手元で声にする。返事はマイクで拾う。",
          "expression": "真剣",
          "voice": "assets/guide/voice/how_it_works.mp3"
        },
        "dante": {
          "text": "順番に言うぞ。エージェントに入れるプラグインと、机に住む常駐のアプリの二つ。エージェントの言葉を手元で声にして、返事はマイクで拾う。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/how_it_works.mp3"
        },
        "nishina": {
          "text": "順番に話すね。Claude Code の hook とプラグインで言葉を受けて、机に住む常駐アプリが手元で声にして、返事はマイクで拾うの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/how_it_works.mp3"
        },
        "kusakabe": {
          "text": "はい解説です。Claude Code の hook とプラグインで言葉を受けて、机に住む常駐アプリが手元で声にし、返事はマイクで拾います。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/how_it_works.mp3"
        },
        "uehara": {
          "text": "順番いくよ。Claude Code の hook とプラグインで言葉を受けて、机に住む常駐アプリが手元で声にして、返事はマイクで拾う。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/how_it_works.mp3"
        }
      },
      "chip": "仕組みは？",
      "next": [
        "privacy_voice",
        "mic_always",
        "noise",
        "this_page_how"
      ]
    },
    "noise": {
      "criteria": "作業の邪魔にならないか、声がうるさくないか、静かにできるかを聞いている",
      "by": {
        "yoshino": {
          "text": "マイクは返事が要るときだけ開く。声を止めたいときは止められるし、返事は打鍵でもええ。……うちは静かな方やしな。",
          "expression": "笑い",
          "voice": "assets/guide/voice/noise.mp3"
        },
        "dante": {
          "text": "マイクは返事が要るときだけ開く。声を止めたきゃ止められるし、返事は打鍵でもいい。……俺はうるさいけどな、ハハッ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/noise.mp3"
        },
        "nishina": {
          "text": "マイクは返事が要るときだけ開くよ。声は止められるし、返事は打鍵でもいいの。……わたしは静かなほうだしね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/noise.mp3"
        },
        "kusakabe": {
          "text": "マイクは返事が要るときだけ開きますし、声も止められますし、返事は打鍵でもいいんです。……わたしがうるさいかどうかは、別の話で。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/noise.mp3"
        },
        "uehara": {
          "text": "マイクは返事が要るときだけ開くし、声は止められるし、返事は打鍵でもいける。……ウチはまあ、うるさい方かも。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/noise.mp3"
        }
      },
      "chip": "うるさくない？"
    },
    "privacy_voice": {
      "criteria": "「声はどこに送られる？」「入力した内容はどこに行くの？」— 音声やコード、このページに打った文がどこに送られるか、ローカルで動くか、外部サーバに出るかを聞いている",
      "board": "# 声とコードの行き先\n- アプリ本体: **音声合成も音声認識も手元のマシン**で動く。コードも声も外に出さない\n- このページ: 打った一言は、どの台詞を返すか選ぶために外部の AI（TypeSafe AI）へ送る\n- このページ: 打った一言と、選ばれた答えの種類は、**案内を直すために記録**している。IP アドレス・ブラウザの情報・Cookie は残さない\n[プライバシーポリシー](privacy.html)",
      "by": {
        "yoshino": {
          "text": "アプリの音声合成も認識も、全部手元で動く。コードも声も外に出さん。……ただ、このページの入力だけは、どの台詞を出すか決めるのに外の AI へ一回投げてる。聞かれた文は、案内を直すために残してるで。",
          "expression": "真剣",
          "voice": "assets/guide/voice/privacy_voice.mp3"
        },
        "dante": {
          "text": "アプリの音声合成も認識も、全部手元で動く。コードも声も外に出さねぇ。……ただ、このページの入力だけは、どの台詞を出すか決めるのに外の AI へ一回投げてる。聞かれた文は、案内を直すために残してる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/privacy_voice.mp3"
        },
        "nishina": {
          "text": "合成も認識も手元で動いて、コードも声も外に出さないの。ただ、このページの入力だけは台詞を選ぶのに外の AI へ一回投げるよ。聞かれた文は、案内を直すために残してるわ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/privacy_voice.mp3"
        },
        "kusakabe": {
          "text": "合成も認識も手元で動いて、コードも声も外に出しません。このページの入力だけは、台詞を選ぶのに外の AI へ一回投げます。聞かれた文は、案内を直すために残しています。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/privacy_voice.mp3"
        },
        "uehara": {
          "text": "合成も認識も全部手元で、コードも声も外に出ない。ただこのページの入力だけ、台詞を選ぶのに外の AI へ一回投げてる。聞かれた文は、案内を直すために残してるよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/privacy_voice.mp3"
        }
      },
      "chip": "声はどこに送られる？",
      "next": [
        "mic_always",
        "logs",
        "company_pc"
      ]
    },
    "spec": {
      "criteria": "必要なスペック（機種、GPU、Apple Silicon かどうか）を聞いている",
      "by": {
        "yoshino": {
          "text": "Apple Silicon の Mac なら動く。専用の GPU は要らん。メモリやディスクの数字は、まだ出してへん。",
          "expression": "真剣",
          "voice": "assets/guide/voice/spec.mp3"
        },
        "dante": {
          "text": "Apple Silicon の Mac なら動く。専用の GPU は要らねぇ。細かい数字は、まだ出してねぇ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/spec.mp3"
        },
        "nishina": {
          "text": "Apple Silicon の Mac なら動くよ。専用の GPU は要らないの。メモリやディスクの数字は、まだ出してないね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/spec.mp3"
        },
        "kusakabe": {
          "text": "Apple Silicon の Mac なら動きます。専用の GPU は要りませんが、メモリやディスクの数字はまだ出していません。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/spec.mp3"
        },
        "uehara": {
          "text": "Apple Silicon の Mac なら動くよ、専用 GPU いらない。メモリとディスクの数字は、まだ出してないんだよね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/spec.mp3"
        }
      },
      "chip": "必要スペックは？"
    },
    "oshi": {
      "criteria": "既存の作品やアニメ・ゲームの版権キャラ、他人のキャラを入れて使えるかを聞いている",
      "link": {
        "label": "X @__ueharasan__",
        "href": "https://x.com/__ueharasan__"
      },
      "by": {
        "yoshino": {
          "text": "他所のキャラの権利の話は、うちからは言えん。自分で作ったキャラなら、見た目も声も口調も入れられる。それ以上は人間に聞いて。",
          "expression": "困り",
          "voice": "assets/guide/voice/oshi.mp3"
        },
        "dante": {
          "text": "他所のキャラの権利の話は、俺からは言えねぇ。自分で作ったキャラなら、見た目も声も口調も入れられる。それ以上は Discord で人間に聞いてくれ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/oshi.mp3"
        },
        "nishina": {
          "text": "他所のキャラの権利の話は、わたしからは言えないの。自分で作ったキャラなら、見た目も声も口調も入れられるよ。あとは人間に聞いてね。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/oshi.mp3"
        },
        "kusakabe": {
          "text": "他所のキャラの権利の話は、わたしからは言えません。自分で作ったキャラなら見た目も声も口調も入れられますので、それ以上は人間に聞いてください。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/oshi.mp3"
        },
        "uehara": {
          "text": "他所のキャラの権利の話は、ウチからは言えない。自分で作ったキャラなら見た目も声も口調も入るから、それ以上は人間に聞いて。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/oshi.mp3"
        }
      },
      "chip": "既存キャラは使える？",
      "next": [
        "characters",
        "builtin_chara_use",
        "stream_ok"
      ]
    },
    "voice_make": {
      "criteria": "「声はどう作る？」— キャラの声をどうやって作るのか、声の作り方や決め方を聞いている",
      "by": {
        "yoshino": {
          "text": "声は、説明文や候補を振って焼いた試聴を聴き比べて選ぶ。うちの声もそうやって決まった。……変やった？",
          "expression": "照れ",
          "voice": "assets/guide/voice/voice_make.mp3"
        },
        "dante": {
          "text": "声は、説明文や候補を振って焼いた試聴を聴き比べて選ぶ。俺の声もそうやって決まった。……悪くねぇだろ？",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/voice_make.mp3"
        },
        "nishina": {
          "text": "声はね、説明文や候補を振って焼いた試聴を、聴き比べて選ぶの。わたしの声もそうやって決まったよ。……変、かな？",
          "expression": "照れ",
          "voice": "assets/guide/voice/nishina/voice_make.mp3"
        },
        "kusakabe": {
          "text": "説明文や候補を振って焼いた試聴を聴き比べて選ぶんです、わたしの声もそうやって決まりました。……変じゃないですよね？",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/voice_make.mp3"
        },
        "uehara": {
          "text": "説明文とか候補を振って焼いた試聴を聴き比べて選ぶの。ウチの声もそれで決まった。……どう、変？",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/voice_make.mp3"
        }
      },
      "chip": "声はどう作る？",
      "next": [
        "expr_count",
        "art",
        "oshi",
        "atelier"
      ]
    },
    "art": {
      "criteria": "「絵はどう用意する？」— 絵や立ち絵をどう用意するか、自分の絵を使えるか、絵一枚でよいか、動かすにはどうするかを聞いている（形式の話や、描けない場合の話も含めてよい）",
      "board": "# 見た目の作り方\n- **絵一枚**から始められる。キャラは一枚の HTML\n- **層に分ける**と、まばたき・髪の揺れ・口の動きがつく（Model Designer）\n- 十四の感情札で表情が変わる\n[アトリエを見る](atelier.html)",
      "by": {
        "yoshino": {
          "text": "絵一枚からでもええし、three.js でもええ。層に分けたら、まばたきと髪と口が動く。いまのうちがそれや。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/art.mp3"
        },
        "dante": {
          "text": "絵一枚からでもいいし、three.js でもいい。層に分けたら、まばたきと髪と口が動く。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/dante/art.mp3"
        },
        "nishina": {
          "text": "絵一枚からでもいいし、three.js でもいいよ。層に分けると、まばたきと髪と口が動くの。吉野さんがそれね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/art.mp3"
        },
        "kusakabe": {
          "text": "絵一枚からでもいいですし、three.js でもいいんです。層に分けるとまばたきと髪と口が動く、いまのわたしがそれですね。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/kusakabe/art.mp3"
        },
        "uehara": {
          "text": "絵一枚からでもいいし、three.js でもいい！ 層に分けたら、まばたきと髪と口が動く。いまのウチがそれ。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/art.mp3"
        }
      },
      "chip": "絵はどう用意する？",
      "next": [
        "cant_draw",
        "expr_count",
        "voice_make",
        "atelier"
      ]
    },
    "streaming": {
      "criteria": "配信や動画に映してよいか、商用利用できるかを聞いている",
      "link": {
        "label": "X @__ueharasan__",
        "href": "https://x.com/__ueharasan__"
      },
      "by": {
        "yoshino": {
          "text": "配信や商用の決まりは、まだ決めてへん。決まる前に使いたいなら、X で人間に直接聞いて。",
          "expression": "困り",
          "voice": "assets/guide/voice/streaming.mp3"
        },
        "dante": {
          "text": "配信や商用の決まりは、まだ決まってねぇ。決まる前に使いたきゃ、Discord で人間に直接聞いてくれ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/streaming.mp3"
        },
        "nishina": {
          "text": "配信や商用の決まりは、まだ決めてないの。決まる前に使いたいなら、X で人間に直接聞いてね。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/streaming.mp3"
        },
        "kusakabe": {
          "text": "配信や商用の決まりは、まだ決まっていません。決まる前に使いたいなら、X で人間に直接聞いてください。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/streaming.mp3"
        },
        "uehara": {
          "text": "配信とか商用の決まりは、まだ決めてないんだ。決まる前に使いたいなら、X で人間に直接聞いて。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/streaming.mp3"
        }
      }
    },
    "obs": {
      "criteria": "OBS など配信ソフトで取り込めるか、透過で出せるかを聞いている",
      "by": {
        "yoshino": {
          "text": "窓は透過で机の隅におる。OBS で拾えるかは、うちは試してへん。……試した人、Discord におるかもな。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/obs.mp3"
        },
        "dante": {
          "text": "窓は透過で机の隅にいる。OBS で拾えるかは、俺は試してねぇ。……試したやつ、Discord にいるかもな。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/dante/obs.mp3"
        },
        "nishina": {
          "text": "窓は透過で、机の隅にいるよ。OBS で拾えるかは、わたしは試してないの。……試した人、Discord にいるかもね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/obs.mp3"
        },
        "kusakabe": {
          "text": "窓は透過で机の隅にいますが、OBS で拾えるかはわたしは試していません。……試した方が Discord にいるかもしれませんね。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/obs.mp3"
        },
        "uehara": {
          "text": "窓は透過で机の隅にいるよ。OBS で拾えるかはウチ試してない。……試した人、Discord にいるかも。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/obs.mp3"
        }
      },
      "chip": "OBS で拾える？"
    },
    "expo": {
      "criteria": "展示会・イベント（生成AIなんでも展示会）の場所や日時、開場時間、ブース、入場料を聞いている",
      "board": "# 生成AIなんでも展示会 Vol.6\n- **2026-09-23（水・祝）12:00–17:30** 東京都立産業貿易センター 浜松町館 5F\n- ブース **C-19 / C-20**「上原さん」\n- 入場無料\n- 最寄り: JR・モノレール **浜松町駅**（北口から徒歩約 5 分）／都営 **大門駅**（B2 出口から徒歩約 3 分）／ゆりかもめ **竹芝駅**（徒歩約 2 分）\n[会場の地図（ブース C-19/C-20）](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20) ／ [Google マップで会場を開く](https://www.google.com/maps/search/?api=1&query=%E6%9D%B1%E4%BA%AC%E9%83%BD%E7%AB%8B%E7%94%A3%E6%A5%AD%E8%B2%BF%E6%98%93%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC%E6%B5%9C%E6%9D%BE%E7%94%BA%E9%A4%A8)",
      "by": {
        "yoshino": {
          "text": "九月二十三日、昼の十二時から五時半まで。浜松町の東京都立産業貿易センターや。席は C の十九と二十。来たら、うちが動いてるとこ見せたる。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/expo.mp3"
        },
        "dante": {
          "text": "九月二十三日、浜松町の東京都立産業貿易センターだ。席は C の十九と二十。来たら、動いてるとこ見せてやる。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/dante/expo.mp3"
        },
        "nishina": {
          "text": "九月二十三日、浜松町の東京都立産業貿易センターよ。席は C の十九と二十。来たら、動いてるところを見せるね。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/nishina/expo.mp3"
        },
        "kusakabe": {
          "text": "九月二十三日、浜松町の東京都立産業貿易センターです。席は C の十九と二十、来たらわたしが動いているところをお見せします。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/kusakabe/expo.mp3"
        },
        "uehara": {
          "text": "九月二十三日、浜松町の東京都立産業貿易センター！ 席は C の十九と二十。来たらウチが動いてるとこ見せるよ。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/expo.mp3"
        }
      },
      "chip": "9/23 の展示会は？",
      "next": [
        "expo_access",
        "expo_try",
        "how_install",
        "discord"
      ]
    },
    "expo_access": {
      "criteria": "展示会の会場までの行き方・最寄り駅・アクセス・地図・住所を聞いている",
      "board": "# 会場までの行き方\n**東京都立産業貿易センター 浜松町館 5F**（東京都港区海岸 1-7-1）／ 9/23（水・祝）12:00–17:30・入場無料\n- JR 山手線・京浜東北線 / 東京モノレール **浜松町駅** 北口 → 徒歩約 5 分\n- 都営浅草線・大江戸線 **大門駅** B2 出口 → 徒歩約 3 分\n- ゆりかもめ **竹芝駅** → 徒歩約 2 分\n- 5F に上がって、ブース **C-19 / C-20**\n[Google マップで開く](https://www.google.com/maps/search/?api=1&query=%E6%9D%B1%E4%BA%AC%E9%83%BD%E7%AB%8B%E7%94%A3%E6%A5%AD%E8%B2%BF%E6%98%93%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC%E6%B5%9C%E6%9D%BE%E7%94%BA%E9%A4%A8) ／ [会場内の地図（ブース）](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)",
      "by": {
        "yoshino": {
          "text": "浜松町駅の北口から歩いて五分くらい。大門駅からなら三分や。産業貿易センターの五階に上がって、C の十九と二十。板に地図を出しとくわ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/expo_access.mp3"
        }
      },
      "chip": "会場までの行き方",
      "next": [
        "expo",
        "expo_try",
        "discord"
      ]
    },
    "team": {
      "criteria": "「会社で使える？」— チームや会社で導入できるか、法人プランや問い合わせ窓口を聞いている",
      "link": {
        "label": "お問い合わせ",
        "href": "contact.html"
      },
      "board": "# チーム・会社で\n- いまは個人開発で、法人プランは無い\n- 相談: ueharasan.vtuber@gmail.com か Discord\n[会場の地図（ブース C-19/C-20）](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)",
      "by": {
        "yoshino": {
          "text": "法人向けの形は、まだ無い。個人開発やからな。相談があるならメールか X で。",
          "expression": "真剣",
          "voice": "assets/guide/voice/team.mp3"
        },
        "dante": {
          "text": "法人向けの形は、まだ無い。個人開発だからな。相談があるならメールか Discord で。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/team.mp3"
        },
        "nishina": {
          "text": "法人向けの形は、まだ無いの。個人開発だからね。相談があるなら、メールか X でどうぞ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/team.mp3"
        },
        "kusakabe": {
          "text": "法人向けの形はまだありません、個人開発ですので。ご相談があれば、メールか X でどうぞ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/team.mp3"
        },
        "uehara": {
          "text": "法人向けの形はまだ無いよ、個人開発だから。相談があるならメールか X でね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/team.mp3"
        }
      },
      "chip": "会社で使える？",
      "next": [
        "company_pc",
        "privacy_voice",
        "price"
      ]
    },
    "compare": {
      "criteria": "他の似たツールやマスコットアプリと何が違うのかを聞いている",
      "board": "# 何が違う\n- **声**: 席の子が読み上げ、返事を聞く\n- **立ち絵**: 表情と口が動く\n- **複数の席**: キャラ同士が喋る\n- **板**: 図や表は声にせず紙で出す\n\n「かわいい相棒」やなくて、**仕事をする席**。\n\n9/23（水・祝）浜松町の展示会で、実物に触れます → [ブース C-19/C-20](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)",
      "by": {
        "yoshino": {
          "text": "声と立ち絵と、複数キャラの席と、板。これを一つで持ってるのがよりましや。バラバラなら他にもある。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/compare.mp3"
        },
        "dante": {
          "text": "声と立ち絵と、複数キャラの席と、板。これを一つで持ってるのがよりましだ。バラバラなら他にもあるけどな。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/compare.mp3"
        },
        "nishina": {
          "text": "声と立ち絵と、複数キャラの席と、板。これを一つで持ってるのがよりましよ。バラバラなら、他にもあるね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/compare.mp3"
        },
        "kusakabe": {
          "text": "声と立ち絵と、複数キャラの席と、板。これを一つで持っているのがよりましで、バラバラなら他にもあります。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/compare.mp3"
        },
        "uehara": {
          "text": "声と立ち絵と、複数キャラの席と、板。これを一個で持ってるのがよりましで、バラバラなら他にもあるよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/compare.mp3"
        }
      },
      "chip": "何が違うの",
      "next": [
        "chat_between",
        "board_what",
        "demo_video",
        "expo"
      ]
    },
    "tagline": {
      "criteria": "一言で言うと何か、キャッチコピー的な短い説明を求めている",
      "by": {
        "yoshino": {
          "text": "一言で言うたら、自分の推しキャラと、ワイワイ開発するためのアプリや。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/tagline.mp3"
        },
        "dante": {
          "text": "一言で言やあ、自分の推しキャラと、ワイワイ開発するためのアプリだ。それだけだ、ハハッ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/tagline.mp3"
        },
        "nishina": {
          "text": "一言で言うなら、自分の推しキャラと、わいわい開発するためのアプリだよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/tagline.mp3"
        },
        "kusakabe": {
          "text": "一言で言うなら、自分の推しキャラとワイワイ開発するためのアプリです。……一言、でしたよね？",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/tagline.mp3"
        },
        "uehara": {
          "text": "一言なら、自分の推しキャラとワイワイ開発するアプリ！ それだけ、それが全部。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/tagline.mp3"
        }
      }
    },
    "audience": {
      "criteria": "誰向けか、どんな人のためのものかを聞いている",
      "by": {
        "yoshino": {
          "text": "推しキャラと喋りながら開発したい人。それと、声も性格も動きも込みで、自分の推しを作って動かしたい人や。",
          "expression": "真剣",
          "voice": "assets/guide/voice/audience.mp3"
        },
        "dante": {
          "text": "推しと喋りながら開発したいやつ。あと、声も性格も動きも込みで、自分の推しを作って動かしたいやつだな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/audience.mp3"
        },
        "nishina": {
          "text": "推しキャラと喋りながら開発したい人。それと、声も性格も動きも込みで、自分の推しを作って動かしたい人ね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/audience.mp3"
        },
        "kusakabe": {
          "text": "推しキャラと喋りながら開発したい人。それと、声も性格も動きも込みで、自分の推しを作って動かしたい人です。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/audience.mp3"
        },
        "uehara": {
          "text": "推しキャラと喋りながら開発したい人。あと、声も性格も動きも込みで、自分の推しを作って動かしたい人だよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/audience.mp3"
        }
      },
      "chip": "誰向け？",
      "next": [
        "for_non_dev",
        "characters",
        "how_install"
      ]
    },
    "benefit": {
      "criteria": "使うと何がうれしいのか、何が変わるのかを聞いている",
      "by": {
        "yoshino": {
          "text": "コーディングエージェントが、推しキャラになる。それだけやけど、それが全部や。",
          "expression": "笑い",
          "voice": "assets/guide/voice/benefit.mp3"
        },
        "dante": {
          "text": "コーディングエージェントが、推しキャラになる。それだけだけどな、それが全部だ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/benefit.mp3"
        },
        "nishina": {
          "text": "コーディングエージェントが、推しキャラになるの。それだけ。でも、それが全部だよ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/nishina/benefit.mp3"
        },
        "kusakabe": {
          "text": "コーディングエージェントが、推しキャラになります。それだけですけど、それが全部なんですよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/benefit.mp3"
        },
        "uehara": {
          "text": "コーディングエージェントが、推しキャラになる。それだけなんだけど、それが全部なんだよね〜。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/benefit.mp3"
        }
      },
      "chip": "何がうれしいの？",
      "next": [
        "demo_video",
        "how_it_works",
        "how_install",
        "expo"
      ]
    },
    "name_origin": {
      "criteria": "「よりまし」という名前の意味や由来を聞いている",
      "by": {
        "yoshino": {
          "text": "神霊を乗り移らせる童子や人形のことを、よりましって言うねん。AI に、代わりに喋る形を与える道具やから、その名前や。",
          "expression": "真剣",
          "voice": "assets/guide/voice/name_origin.mp3"
        },
        "dante": {
          "text": "神霊を乗り移らせる童子や人形のことを、よりましって言う。AI に代わりに喋る形を与える道具だから、その名前だ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/name_origin.mp3"
        },
        "nishina": {
          "text": "神霊を乗り移らせる童子や人形のことを、よりましって言うの。AI に代わりに喋る形を与える道具だから、その名前よ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/name_origin.mp3"
        },
        "kusakabe": {
          "text": "神霊を乗り移らせる童子や人形のことを、よりましと言います。AI に、代わりに喋る形を与える道具なので、その名前です。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/name_origin.mp3"
        },
        "uehara": {
          "text": "神霊を乗り移らせる童子や人形のことを、よりましって言うの。AI に代わりに喋る形を与える道具だから、その名前。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/name_origin.mp3"
        }
      },
      "board": "# 名前の由来\n**憑座（よりまし）**: 神霊を乗り移らせる童子や人形のこと。\nAI に「代弁者としての形」を与えるプロダクトなので、よりまし。",
      "chip": "名前の由来は？",
      "next": [
        "what_is",
        "who_made",
        "how_many"
      ]
    },
    "vs_chat": {
      "criteria": "AI チャットアプリや ChatGPT のようなものと何が違うのかを聞いている",
      "by": {
        "yoshino": {
          "text": "チャットやのうて、Claude Code ができることは何でもできる。コードも書くし、ファイルも触る。それに顔と声がついてる。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/vs_chat.mp3"
        },
        "dante": {
          "text": "チャットじゃねぇ。Claude Code ができることは何でもできる、コードも書くしファイルも触る。それに顔と声がついてる。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/vs_chat.mp3"
        },
        "nishina": {
          "text": "チャットじゃなくて、Claude Code ができることは何でもできるの。コードも書くし、ファイルも触る。それに顔と声がついてるのよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/vs_chat.mp3"
        },
        "kusakabe": {
          "text": "チャットではなくて、Claude Code ができることは何でもできます。コードも書くしファイルも触る、それに顔と声がついているんです。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/vs_chat.mp3"
        },
        "uehara": {
          "text": "チャットじゃなくて、Claude Code ができることは何でもできる。コードも書くしファイルも触るし、それに顔と声がついてる。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/vs_chat.mp3"
        }
      }
    },
    "how_many": {
      "criteria": "同梱のキャラクターが何人いるか、誰がいるかを聞いている",
      "by": {
        "yoshino": {
          "text": "いまは五人。うちと、ダンテ、上原、日下部、西名や。",
          "expression": "笑い",
          "voice": "assets/guide/voice/how_many.mp3"
        },
        "dante": {
          "text": "いまは五人だ。俺と、吉野、上原、日下部、西名。賑やかだろ、ハハッ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/how_many.mp3"
        },
        "nishina": {
          "text": "いまは五人よ。吉野さん、ダンテさん、上原さん、日下部さん、それとわたし。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/how_many.mp3"
        },
        "kusakabe": {
          "text": "いまは五人です。わたしと、吉野さん、ダンテさん、上原さん、西名さん。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/how_many.mp3"
        },
        "uehara": {
          "text": "いまは五人！ ウチと、よっしー、べっち、にーな、あとダンテ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/how_many.mp3"
        }
      },
      "chip": "キャラは何人？"
    },
    "chat_between": {
      "criteria": "キャラ同士で喋るとはどういうことか、複数キャラの会話について聞いている",
      "by": {
        "yoshino": {
          "text": "席が二つ以上あると、キャラ同士で雑談したり、仕事の話を回したりする。動画があるから見てみ。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/chat_between.mp3"
        },
        "dante": {
          "text": "席が二つ以上あると、キャラ同士で雑談したり、仕事の話を回したりする。動画があるから見てけよ。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/dante/chat_between.mp3"
        },
        "nishina": {
          "text": "席が二つ以上あると、キャラ同士で雑談したり、仕事の話を回したりするの。動画があるから見てみてね。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/nishina/chat_between.mp3"
        },
        "kusakabe": {
          "text": "席が二つ以上あると、キャラ同士で雑談したり、仕事の話を回したりします。動画がありますので、見てみてください。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/kusakabe/chat_between.mp3"
        },
        "uehara": {
          "text": "席が二つ以上あると、キャラ同士で雑談したり仕事の話を回したりするよ。動画あるから見てみて！",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/chat_between.mp3"
        }
      },
      "link": {
        "label": "キャラ同士が喋る動画（X）",
        "href": "https://x.com/__ueharasan__/status/2093340550175105524"
      },
      "chip": "キャラ同士で喋る？",
      "next": [
        "seat",
        "demo_video",
        "how_many"
      ]
    },
    "seat": {
      "criteria": "「席」とは何かを聞いている",
      "by": {
        "yoshino": {
          "text": "席は、キャラが一人座ってる場所のことや。エージェントのセッション一つに、キャラが一人つく。二つ開けたら二人おる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/seat.mp3"
        },
        "dante": {
          "text": "席は、キャラが一人座ってる場所だ。エージェントのセッション一つにキャラが一人つく、二つ開けりゃ二人いる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/seat.mp3"
        },
        "nishina": {
          "text": "席は、キャラが一人座ってる場所のことよ。エージェントのセッション一つに、キャラが一人。二つ開けたら二人いるの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/seat.mp3"
        },
        "kusakabe": {
          "text": "席は、キャラが一人座っている場所です。エージェントのセッション一つにキャラが一人つくので、二つ開けたら二人います。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/seat.mp3"
        },
        "uehara": {
          "text": "席は、キャラが一人座ってる場所。エージェントのセッション一つにキャラが一人ついて、二つ開けたら二人いる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/seat.mp3"
        }
      },
      "chip": "席って何？"
    },
    "board_what": {
      "criteria": "「板」「ボード」とは何かを聞いている",
      "by": {
        "yoshino": {
          "text": "板は、キャラがまとまった情報を図や表にして出す場所や。声で言うと長いもんは、板に出す。いまあんたが見てるこれもそうや。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/board_what.mp3"
        },
        "dante": {
          "text": "板は、キャラがまとまった情報を図や表にして出す場所だ。声で言うと長いもんは板に出す、いまお前が見てるこれもそうだ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/board_what.mp3"
        },
        "nishina": {
          "text": "板は、キャラがまとまった情報を図や表にして出す場所よ。声だと長いものは板に出すの。いま見てるこれもそうだね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/board_what.mp3"
        },
        "kusakabe": {
          "text": "板は、キャラがまとまった情報を図や表にして出す場所です。声で言うと長いものは板に出す、いま人間が見ているこれもそうですよ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/board_what.mp3"
        },
        "uehara": {
          "text": "板は、キャラがまとまった情報を図とか表で出す場所。声で言うと長いやつは板に出すの、いま見てるこれもそう。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/board_what.mp3"
        }
      },
      "board": "# 板\nキャラがまとまった情報を**図解したり表にしたりして表示する領域**。\n声は流れて消えるので、残すものは板に出す。",
      "chip": "板って何？"
    },
    "what_to_say": {
      "criteria": "声で何を話しかければいいのか、どんなことを喋るのかを聞いている",
      "by": {
        "yoshino": {
          "text": "何でもええよ。名前を呼んだら反応するから、指示でも相談でも雑談でも、思ったことをそのまま言うたらええ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/what_to_say.mp3"
        },
        "dante": {
          "text": "何でもいいぞ。名前を呼べば反応するから、指示でも相談でも雑談でも、思ったまま言え。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/what_to_say.mp3"
        },
        "nishina": {
          "text": "何でもいいよ。名前を呼べば反応するから、指示でも相談でも雑談でも、思ったことをそのまま言ってね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/what_to_say.mp3"
        },
        "kusakabe": {
          "text": "何でもいいんですよ。名前を呼べば反応しますので、指示でも相談でも雑談でも、思ったことをそのままどうぞ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/what_to_say.mp3"
        },
        "uehara": {
          "text": "なんでもいいよ！ 名前呼んだら反応するから、指示でも相談でも雑談でも、思ったことそのまま言って。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/what_to_say.mp3"
        }
      }
    },
    "tool_or_game": {
      "criteria": "ゲームなのかツールなのかを聞いている",
      "by": {
        "yoshino": {
          "text": "ツールや。……まあ、しりとりとかレスバとかもできる思うけど。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/tool_or_game.mp3"
        },
        "dante": {
          "text": "ツールだ。……まあ、しりとりとかレスバとかもできると思うけどな。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/dante/tool_or_game.mp3"
        },
        "nishina": {
          "text": "ツールよ。……まあ、しりとりや言い合いくらいはできると思うけどね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/tool_or_game.mp3"
        },
        "kusakabe": {
          "text": "ツールです。……まあ、しりとりとかレスバとかもできると思いますけど。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/kusakabe/tool_or_game.mp3"
        },
        "uehara": {
          "text": "ツールだよ。……まあ、しりとりとかレスバとかもできると思うけど。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/uehara/tool_or_game.mp3"
        }
      },
      "chip": "ゲームなの？"
    },
    "open_source": {
      "criteria": "オープンソースかどうか、ソースコードが公開されるかを聞いている",
      "by": {
        "yoshino": {
          "text": "アトリエとか一部は、今後オープンにしていくつもりやって。どうなるかは、まだ分からんけど。",
          "expression": "真剣",
          "voice": "assets/guide/voice/open_source.mp3"
        },
        "dante": {
          "text": "アトリエとか一部は、今後オープンにしていくつもりだと。どうなるかは、まだ分からねぇ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/open_source.mp3"
        },
        "nishina": {
          "text": "アトリエなど一部は、今後オープンにしていくつもりだって。どうなるかは、まだ分からないけどね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/open_source.mp3"
        },
        "kusakabe": {
          "text": "アトリエなど一部は、今後オープンにしていくつもりだそうです。どうなるかは、まだ分かりませんが。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/open_source.mp3"
        },
        "uehara": {
          "text": "アトリエとか一部は、今後オープンにしていくつもりだって。どうなるかは、まだ分かんないけど。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/open_source.mp3"
        }
      }
    },
    "since_when": {
      "criteria": "いつから作っているプロジェクトか、開発期間を聞いている",
      "by": {
        "yoshino": {
          "text": "二ヶ月くらい前からやって。……早いやろ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/since_when.mp3"
        },
        "dante": {
          "text": "二ヶ月くらい前からだとよ。……早ぇだろ？ ハハッ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/since_when.mp3"
        },
        "nishina": {
          "text": "二か月くらい前からだって。……早いでしょ。ふふ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/nishina/since_when.mp3"
        },
        "kusakabe": {
          "text": "二ヶ月くらい前からだそうです。……早いでしょう、褒めていいですよ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/since_when.mp3"
        },
        "uehara": {
          "text": "二ヶ月くらい前からだって。……早くない？ ウチもそう思う。",
          "expression": "驚き",
          "voice": "assets/guide/voice/uehara/since_when.mp3"
        }
      }
    },
    "how_many_users": {
      "criteria": "今どのくらいの人が使っているか、ユーザー数を聞いている",
      "by": {
        "yoshino": {
          "text": "いまは知り合いだけや。これからやで。",
          "expression": "照れ",
          "voice": "assets/guide/voice/how_many_users.mp3"
        },
        "dante": {
          "text": "いまは知り合いだけだ。……これからだよ、これから。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/how_many_users.mp3"
        },
        "nishina": {
          "text": "いまは知り合いだけよ。これからね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/how_many_users.mp3"
        },
        "kusakabe": {
          "text": "いまは知り合いだけです。これから、ですね。……これからです。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/how_many_users.mp3"
        },
        "uehara": {
          "text": "いまは知り合いだけだよ。これからだよ、これからこれから！",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/how_many_users.mp3"
        }
      }
    },
    "roadmap": {
      "criteria": "今後の開発予定やロードマップを聞いている",
      "by": {
        "yoshino": {
          "text": "しばらくは使う人の声を聞きながら、仕様と表現力を作り込んでいく。派手な予定表は無い。",
          "expression": "真剣",
          "voice": "assets/guide/voice/roadmap.mp3"
        },
        "dante": {
          "text": "しばらくは使うやつの声を聞きながら、仕様と表現力を作り込む。派手な予定表は無い。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/roadmap.mp3"
        },
        "nishina": {
          "text": "しばらくは使う人の声を聞きながら、仕様と表現力を作り込んでいくの。派手な予定表は無いよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/roadmap.mp3"
        },
        "kusakabe": {
          "text": "しばらくは使う人の声を聞きながら、仕様と表現力を作り込んでいきます。派手な予定表はありません。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/roadmap.mp3"
        },
        "uehara": {
          "text": "しばらくは使う人の声を聞きながら、仕様と表現力を作り込んでく。派手な予定表は無いよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/roadmap.mp3"
        }
      },
      "chip": "今後は？"
    },
    "discord_required": {
      "criteria": "Discord に入らないと使えないのか、Discord 必須かを聞いている",
      "by": {
        "yoshino": {
          "text": "いまは、そう。Discord に入った人から、アルファ版を渡していく。招待は九月二十三日の生成AIなんでも展示会の会場でな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/discord_required.mp3"
        },
        "dante": {
          "text": "いまは、そうだ。Discord に入ったやつから、アルファ版を渡していく。招待は九月二十三日の生成AIなんでも展示会の会場でな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/discord_required.mp3"
        },
        "nishina": {
          "text": "いまは、そうね。Discord に入った人から順にアルファ版を渡してるの。招待は九月二十三日の生成AIなんでも展示会の会場でね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/discord_required.mp3"
        },
        "kusakabe": {
          "text": "いまは、そうです。Discord に入った方からアルファ版をお渡ししていて、招待は九月二十三日の生成AIなんでも展示会の会場で。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/discord_required.mp3"
        },
        "uehara": {
          "text": "いまは、そう。Discord に入った人からアルファ版を渡してて、招待は九月二十三日の生成AIなんでも展示会の会場ね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/discord_required.mp3"
        }
      },
      "link": {
        "label": "会場の地図（ブース C-19/C-20）",
        "href": "https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20"
      }
    },
    "homebrew": {
      "criteria": "App Store や Homebrew など、どこから入手・インストールできるかを聞いている",
      "by": {
        "yoshino": {
          "text": "Homebrew で入れられるようにする予定や。App Store は、分からん。",
          "expression": "真剣",
          "voice": "assets/guide/voice/homebrew.mp3"
        },
        "dante": {
          "text": "Homebrew で入れられるようにする予定だ。App Store は、分からねぇ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/homebrew.mp3"
        },
        "nishina": {
          "text": "Homebrew で入れられるようにする予定よ。App Store は、分からないの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/homebrew.mp3"
        },
        "kusakabe": {
          "text": "Homebrew で入れられるようにする予定です。App Store は、分かりません。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/homebrew.mp3"
        },
        "uehara": {
          "text": "Homebrew で入れられるようにする予定。App Store は、分かんない。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/homebrew.mp3"
        }
      }
    },
    "update": {
      "criteria": "アップデートの方法や更新について聞いている",
      "by": {
        "yoshino": {
          "text": "アップデートのコマンドがある。それを打つだけや。",
          "expression": "笑い",
          "voice": "assets/guide/voice/update.mp3"
        },
        "dante": {
          "text": "アップデートのコマンドがある。それ打つだけだ、楽だろ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/update.mp3"
        },
        "nishina": {
          "text": "アップデートのコマンドがあるよ。それを打つだけね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/update.mp3"
        },
        "kusakabe": {
          "text": "アップデートのコマンドがあります。それを打つだけです、簡単でしょう。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/update.mp3"
        },
        "uehara": {
          "text": "アップデートのコマンドがあるよ。それ打つだけ、一発。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/update.mp3"
        }
      }
    },
    "uninstall": {
      "criteria": "アンインストールや削除の方法を聞いている",
      "by": {
        "yoshino": {
          "text": "……それ、人間がまだ整理してへん。Discord か X で聞いてくれる？",
          "expression": "困り",
          "voice": "assets/guide/voice/uninstall.mp3"
        },
        "dante": {
          "text": "……それ、人間がまだ整理してねぇんだ。Discord か X で聞いてくれ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/uninstall.mp3"
        },
        "nishina": {
          "text": "……それ、人間がまだ整理してないの。ごめんなさい。Discord か X で聞いてくれるかな？",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/uninstall.mp3"
        },
        "kusakabe": {
          "text": "……それ、人間がまだ整理していません。Discord か X で聞いてもらえますか。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/uninstall.mp3"
        },
        "uehara": {
          "text": "……それ、人間がまだ整理してないんだよね。Discord か X で聞いてくれる？",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/uninstall.mp3"
        }
      },
      "link": {
        "label": "X @__ueharasan__",
        "href": "https://x.com/__ueharasan__"
      }
    },
    "bug_report": {
      "criteria": "不具合やバグの報告先、フィードバックの出し方を聞いている",
      "by": {
        "yoshino": {
          "text": "Discord に書いといて。人間が読む。入ってへんなら、X でもええ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/bug_report.mp3"
        },
        "dante": {
          "text": "Discord に書いといてくれ、人間が読む。入ってねぇなら、X でもいい。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/bug_report.mp3"
        },
        "nishina": {
          "text": "Discord に書いておいてね。人間が読むから。入ってないなら、X でもいいよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/bug_report.mp3"
        },
        "kusakabe": {
          "text": "Discord に書いておいてください、人間が読みます。入っていなければ、X でも構いませんよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/bug_report.mp3"
        },
        "uehara": {
          "text": "Discord に書いといて、人間が読むから。入ってないなら X でもいいよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/bug_report.mp3"
        }
      },
      "link": {
        "label": "お問い合わせ",
        "href": "contact.html"
      }
    },
    "invite_code": {
      "criteria": "招待コードやシリアルが必要かを聞いている",
      "by": {
        "yoshino": {
          "text": "コードは要らん。ただ Discord の招待そのものが、九月二十三日の生成AIなんでも展示会の会場でしか渡さへん。",
          "expression": "笑い",
          "voice": "assets/guide/voice/invite_code.mp3"
        },
        "dante": {
          "text": "コードは要らねぇ。ただ Discord の招待そのものが、いまは九月二十三日の生成AIなんでも展示会の会場でしか渡してねぇんだ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/invite_code.mp3"
        },
        "nishina": {
          "text": "コードは要らないよ。ただ、Discord の招待そのものが、いまは九月二十三日の生成AIなんでも展示会の会場でしか渡してないの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/invite_code.mp3"
        },
        "kusakabe": {
          "text": "コードは要りません。ただ Discord の招待そのものが、いまは九月二十三日の生成AIなんでも展示会の会場でしかお渡ししていないんです。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/invite_code.mp3"
        },
        "uehara": {
          "text": "コードは要らないよ。ただ Discord の招待そのものが、いまは九月二十三日の生成AIなんでも展示会の会場でしか渡してないの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/invite_code.mp3"
        }
      },
      "link": {
        "label": "会場の地図（ブース C-19/C-20）",
        "href": "https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20"
      }
    },
    "minors": {
      "criteria": "未成年や子どもでも使えるかを聞いている",
      "by": {
        "yoshino": {
          "text": "問題ないで。",
          "expression": "笑い",
          "voice": "assets/guide/voice/minors.mp3"
        },
        "dante": {
          "text": "問題ねぇよ。ハハッ、遠慮すんな。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/minors.mp3"
        },
        "nishina": {
          "text": "問題ないよ。年齢の棚は、いまのところ無いの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/minors.mp3"
        },
        "kusakabe": {
          "text": "問題ありませんよ。……宿題は先に終わらせてくださいね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/minors.mp3"
        },
        "uehara": {
          "text": "あーね、それは全然問題ないよ！ 気にしないで使って使って。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/minors.mp3"
        }
      }
    },
    "overseas": {
      "criteria": "海外から入手・利用できるかを聞いている",
      "by": {
        "yoshino": {
          "text": "海外からは……人間も「どうなんやろ」って言うてた。試したら教えて。",
          "expression": "困り",
          "voice": "assets/guide/voice/overseas.mp3"
        },
        "dante": {
          "text": "海外からは……人間も「どうなんだろ」って言ってた。試したら教えてくれ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/overseas.mp3"
        },
        "nishina": {
          "text": "海外からは……人間も「どうだろう」って言ってたの。試したら教えてね。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/overseas.mp3"
        },
        "kusakabe": {
          "text": "海外からは……人間も「どうなんだろう」と言っていました。試したら教えてください。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/overseas.mp3"
        },
        "uehara": {
          "text": "海外からは……人間も「どうなんだろ」って言ってた。試したら教えて！",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/overseas.mp3"
        }
      }
    },
    "intel_mac": {
      "criteria": "Intel の Mac で動くかを聞いている",
      "by": {
        "yoshino": {
          "text": "Intel の Mac は、分からん。いまは Apple Silicon で作ってる。",
          "expression": "困り",
          "voice": "assets/guide/voice/intel_mac.mp3"
        },
        "dante": {
          "text": "Intel の Mac は、分からねぇ。いまは Apple Silicon で作ってる。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/intel_mac.mp3"
        },
        "nishina": {
          "text": "Intel の Mac は、分からないの。いまは Apple Silicon で作ってるよ。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/intel_mac.mp3"
        },
        "kusakabe": {
          "text": "Intel の Mac は、分かりません。いまは Apple Silicon で作っています。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/intel_mac.mp3"
        },
        "uehara": {
          "text": "Intel の Mac は、分かんない。いまは Apple Silicon で作ってるから。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/intel_mac.mp3"
        }
      }
    },
    "linux": {
      "criteria": "Linux で使えるかを聞いている",
      "by": {
        "yoshino": {
          "text": "Linux は対応の予定なし。ごめんな。",
          "expression": "困り",
          "voice": "assets/guide/voice/linux.mp3"
        },
        "dante": {
          "text": "Linux は対応の予定なし。……悪ぃな。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/linux.mp3"
        },
        "nishina": {
          "text": "Linux は対応の予定なしよ。ごめんなさいね。",
          "expression": "しょんぼり",
          "voice": "assets/guide/voice/nishina/linux.mp3"
        },
        "kusakabe": {
          "text": "Linux は、対応の予定がありません。すみません、そこは正直に。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/linux.mp3"
        },
        "uehara": {
          "text": "Linux は対応の予定なし、なんだよね。ごめん、ほんとごめん。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/linux.mp3"
        }
      }
    },
    "ios": {
      "criteria": "iPhone や iPad、スマホで使えるかを聞いている",
      "by": {
        "yoshino": {
          "text": "iPhone と iPad は予定なし。机の隅に住む道具やからな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/ios.mp3"
        },
        "dante": {
          "text": "iPhone と iPad は予定なし。机の隅に住む道具だからな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/ios.mp3"
        },
        "nishina": {
          "text": "iPhone と iPad は予定なしよ。机の隅に住む道具だからね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/ios.mp3"
        },
        "kusakabe": {
          "text": "iPhone と iPad は予定なしです。机の隅に住む道具ですので。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/ios.mp3"
        },
        "uehara": {
          "text": "iPhone と iPad は予定なし。机の隅に住む道具だからね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/ios.mp3"
        }
      }
    },
    "offline": {
      "criteria": "ネット接続が必要か、オフラインで動くかを聞いている",
      "by": {
        "yoshino": {
          "text": "よりまし本体は外と通信せん。ただ Claude Code で動かすから、ネットは実質要る。",
          "expression": "真剣",
          "voice": "assets/guide/voice/offline.mp3"
        },
        "dante": {
          "text": "よりまし本体は外と通信しねぇ。ただ Claude Code で動かすから、ネットは実質要る。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/offline.mp3"
        },
        "nishina": {
          "text": "よりまし本体は外と通信しないの。ただ Claude Code で動かすから、ネットは実質要るね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/offline.mp3"
        },
        "kusakabe": {
          "text": "よりまし本体は外と通信しません。ただ Claude Code で動かしますので、ネットは実質要ります。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/offline.mp3"
        },
        "uehara": {
          "text": "よりまし本体は外と通信しないよ。ただ Claude Code で動かすから、ネットは実質要る。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/offline.mp3"
        }
      }
    },
    "mic_quality": {
      "criteria": "マイクは必要か、内蔵マイクで足りるか、どんなマイクがいいかを聞いている",
      "by": {
        "yoshino": {
          "text": "内蔵でも動くけど、音がええ方が聞き取りは正確や。",
          "expression": "真剣",
          "voice": "assets/guide/voice/mic_quality.mp3"
        },
        "dante": {
          "text": "内蔵でも動く。けど音がいい方が、聞き取りは正確だ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/mic_quality.mp3"
        },
        "nishina": {
          "text": "内蔵でも動くよ。でも音がいいほうが、聞き取りは正確ね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/mic_quality.mp3"
        },
        "kusakabe": {
          "text": "内蔵でも動きます。ただ、音がいい方が聞き取りは正確ですよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/mic_quality.mp3"
        },
        "uehara": {
          "text": "内蔵でも動くよ。でも音がいい方が、聞き取りは正確。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/mic_quality.mp3"
        }
      }
    },
    "headphones": {
      "criteria": "ヘッドホンが要るか、スピーカーだと自分の声を拾わないかを聞いている",
      "by": {
        "yoshino": {
          "text": "ヘッドホン無しでいける。喋る時と聞く時が分かれてるから、自分の声は拾わん。",
          "expression": "笑い",
          "voice": "assets/guide/voice/headphones.mp3"
        },
        "dante": {
          "text": "ヘッドホン無しでいける。喋る時と聞く時が分かれてるから、自分の声は拾わねぇ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/headphones.mp3"
        },
        "nishina": {
          "text": "ヘッドホン無しで大丈夫よ。喋る時と聞く時が分かれてるから、自分の声は拾わないの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/headphones.mp3"
        },
        "kusakabe": {
          "text": "ヘッドホン無しでいけます。喋る時と聞く時が分かれているので、自分の声は拾いません。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/headphones.mp3"
        },
        "uehara": {
          "text": "ヘッドホン無しでいける！ 喋る時と聞く時が分かれてるから、自分の声は拾わないの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/headphones.mp3"
        }
      }
    },
    "multi_monitor": {
      "criteria": "外部ディスプレイや複数モニタで使えるかを聞いている",
      "by": {
        "yoshino": {
          "text": "使える。……ただ、いまはちょっと不安定や。正直に言うとく。",
          "expression": "困り",
          "voice": "assets/guide/voice/multi_monitor.mp3"
        },
        "dante": {
          "text": "使える。……ただ、いまはちょっと不安定だ。正直に言っとく。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/multi_monitor.mp3"
        },
        "nishina": {
          "text": "使えるよ。……ただ、いまは少し不安定なの。正直に言っておくね。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/multi_monitor.mp3"
        },
        "kusakabe": {
          "text": "使えます。……ただ、いまはちょっと不安定なのを、正直に言っておきますね。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/multi_monitor.mp3"
        },
        "uehara": {
          "text": "使えるよ。……ただ、いまはちょっと不安定。正直に言っとく。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/multi_monitor.mp3"
        }
      }
    },
    "terminal": {
      "criteria": "どのターミナルやエディタで使う前提か（Terminal、iTerm、VS Code など）を聞いている",
      "by": {
        "yoshino": {
          "text": "どこでもええ。Claude Code が動いてたら、それでええ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/terminal.mp3"
        },
        "dante": {
          "text": "どこでもいいぞ。Claude Code が動いてりゃ、それでいい。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/terminal.mp3"
        },
        "nishina": {
          "text": "どこでもいいよ。Claude Code が動いていれば、それでいいの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/terminal.mp3"
        },
        "kusakabe": {
          "text": "どこでもいいんです。Claude Code が動いていれば、それで。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/terminal.mp3"
        },
        "uehara": {
          "text": "どこでもいいよ。Claude Code が動いてたら、それでオッケー。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/terminal.mp3"
        }
      }
    },
    "shell_custom": {
      "criteria": "素のシェルや自作エージェントから使えるかを聞いている",
      "by": {
        "yoshino": {
          "text": "素のシェルや自作のエージェントからは、分からん。いまは Claude Code が前提や。",
          "expression": "困り",
          "voice": "assets/guide/voice/shell_custom.mp3"
        },
        "dante": {
          "text": "素のシェルや自作のエージェントからは、分からねぇ。いまは Claude Code が前提だ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/shell_custom.mp3"
        },
        "nishina": {
          "text": "素のシェルや自作のエージェントからは、分からないの。いまは Claude Code が前提よ。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/shell_custom.mp3"
        },
        "kusakabe": {
          "text": "素のシェルや自作のエージェントからは、分かりません。いまは Claude Code が前提です。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/shell_custom.mp3"
        },
        "uehara": {
          "text": "素のシェルとか自作エージェントからは、分かんない。いまは Claude Code が前提だから。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/shell_custom.mp3"
        }
      }
    },
    "byok": {
      "criteria": "Claude の API キー（BYOK）で動くかを聞いている",
      "by": {
        "yoshino": {
          "text": "API キー直で動くかは、分からん。Discord か X で人間に聞いといて。",
          "expression": "困り",
          "voice": "assets/guide/voice/byok.mp3"
        },
        "dante": {
          "text": "API キー直で動くかは、分からねぇ。Discord か X で人間に聞いといてくれ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/byok.mp3"
        },
        "nishina": {
          "text": "API キー直で動くかは、分からないの。Discord か X で人間に聞いてみてね。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/byok.mp3"
        },
        "kusakabe": {
          "text": "API キー直で動くかは、分かりません。Discord か X で人間に聞いておいてください。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/byok.mp3"
        },
        "uehara": {
          "text": "API キー直で動くかは、分かんないんだよね。Discord か X で人間に聞いといて。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/byok.mp3"
        }
      },
      "link": {
        "label": "X @__ueharasan__",
        "href": "https://x.com/__ueharasan__"
      }
    },
    "local_llm": {
      "criteria": "ローカル LLM や ollama で動くかを聞いている",
      "by": {
        "yoshino": {
          "text": "ollama 経由で動く気はするけど、試してへん。断言はせんとく。",
          "expression": "真剣",
          "voice": "assets/guide/voice/local_llm.mp3"
        },
        "dante": {
          "text": "ollama 経由で動く気はするが、試してねぇ。断言はしねぇ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/local_llm.mp3"
        },
        "nishina": {
          "text": "ollama 経由で動く気はするけど、試してないの。断言はしないでおくね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/local_llm.mp3"
        },
        "kusakabe": {
          "text": "ollama 経由で動く気はしますが、試していません。断言はしないでおきます。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/local_llm.mp3"
        },
        "uehara": {
          "text": "ollama 経由で動く気はするけど、試してない。断言はしないでおく。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/local_llm.mp3"
        }
      },
      "chip": "ローカル LLM は？"
    },
    "multi_agents": {
      "criteria": "エージェントを二つ以上同時に動かせるか、複数セッションで使えるかを聞いている",
      "by": {
        "yoshino": {
          "text": "使える。席が増えるだけや。それでキャラ同士が喋る。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/multi_agents.mp3"
        },
        "dante": {
          "text": "使える。席が増えるだけだ、そんでキャラ同士が喋る。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/multi_agents.mp3"
        },
        "nishina": {
          "text": "使えるよ。席が増えるだけね。それでキャラ同士が喋るの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/multi_agents.mp3"
        },
        "kusakabe": {
          "text": "使えます。席が増えるだけですし、それでキャラ同士が喋るんです。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/multi_agents.mp3"
        },
        "uehara": {
          "text": "使えるよ！ 席が増えるだけ。それでキャラ同士が喋るの。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/multi_agents.mp3"
        }
      }
    },
    "idle_time": {
      "criteria": "エージェントを使っていない時間もキャラが何かしているかを聞いている",
      "by": {
        "yoshino": {
          "text": "してへん。呼ばれるまで、大人しくしてる。",
          "expression": "笑い",
          "voice": "assets/guide/voice/idle_time.mp3"
        },
        "dante": {
          "text": "してねぇよ。呼ばれるまで大人しくしてる、俺でもな。ハハッ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/idle_time.mp3"
        },
        "nishina": {
          "text": "してないよ。呼ばれるまで、大人しくしてるの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/idle_time.mp3"
        },
        "kusakabe": {
          "text": "していません。呼ばれるまで、大人しくしています。……本当ですよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/idle_time.mp3"
        },
        "uehara": {
          "text": "してないよ。呼ばれるまで大人しくしてる。……ウチも一応。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/idle_time.mp3"
        }
      }
    },
    "plugin_install": {
      "criteria": "プラグインの入れ方、Claude Code への追加方法を聞いている",
      "by": {
        "yoshino": {
          "text": "Claude Code の plugin marketplace のコマンドで足す。手順は Discord で配ってる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/plugin_install.mp3"
        },
        "dante": {
          "text": "Claude Code の plugin marketplace のコマンドで足す。手順は Discord で配ってる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/plugin_install.mp3"
        },
        "nishina": {
          "text": "Claude Code の plugin marketplace のコマンドで足すの。手順は Discord で配ってるよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/plugin_install.mp3"
        },
        "kusakabe": {
          "text": "Claude Code の plugin marketplace のコマンドで足します。手順は Discord で配っています。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/plugin_install.mp3"
        },
        "uehara": {
          "text": "Claude Code の plugin marketplace のコマンドで足すよ。手順は Discord で配ってる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/plugin_install.mp3"
        }
      },
      "board": "# プラグインの入れ方\nClaude Code で\n```\n/plugin marketplace add …\n```\nの形。正確な手順は Discord のアルファ案内に。"
    },
    "cc_update": {
      "criteria": "Claude Code を更新したら壊れないか、互換性を聞いている",
      "by": {
        "yoshino": {
          "text": "特殊な使い方はしてへんから、互換を壊す更新やなければ動く思う。保証はできん。壊れたら、早めに直すって。",
          "expression": "真剣",
          "voice": "assets/guide/voice/cc_update.mp3"
        },
        "dante": {
          "text": "特殊な使い方はしてねぇから、互換を壊す更新じゃなけりゃ動くはずだ。保証はできねぇが、壊れたら早めに直すってさ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/cc_update.mp3"
        },
        "nishina": {
          "text": "特殊な使い方はしてないから、互換を壊す更新でなければ動くと思うよ。保証はできないけど、壊れたら早めに直すって。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/cc_update.mp3"
        },
        "kusakabe": {
          "text": "特殊な使い方はしていないので、互換を壊す更新でなければ動くと思います。保証はできませんが、壊れたら早めに直すそうです。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/cc_update.mp3"
        },
        "uehara": {
          "text": "特殊な使い方はしてないから、互換を壊す更新じゃなければ動くと思う。保証はできないけど、壊れたら早めに直すって。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/cc_update.mp3"
        }
      }
    },
    "mic_always": {
      "criteria": "マイクは常時聞いているのか、いつ開くのか、合言葉で名前を聞いているのかを聞いている",
      "by": {
        "yoshino": {
          "text": "名前を呼ばれたかどうかは、常時聞いてる。気持ち悪いなら、それは切れる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/mic_always.mp3"
        },
        "dante": {
          "text": "名前を呼ばれたかどうかは、常時聞いてる。気持ち悪けりゃ、それは切れる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/mic_always.mp3"
        },
        "nishina": {
          "text": "名前を呼ばれたかどうかは、常時聞いてるの。気持ち悪いなら、それは切れるよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/mic_always.mp3"
        },
        "kusakabe": {
          "text": "名前を呼ばれたかどうかは、常時聞いています。気持ち悪ければ、それは切れますよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/mic_always.mp3"
        },
        "uehara": {
          "text": "名前を呼ばれたかどうかは、常時聞いてるよ。気持ち悪いなら、それは切れる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/mic_always.mp3"
        }
      },
      "chip": "マイクは常時？"
    },
    "recordings": {
      "criteria": "録音は保存されるのか、音声データはどこにあるのかを聞いている",
      "by": {
        "yoshino": {
          "text": "録音は手元に保存してる。外には出さん。",
          "expression": "真剣",
          "voice": "assets/guide/voice/recordings.mp3"
        },
        "dante": {
          "text": "録音は手元に保存してる。外には出さねぇ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/recordings.mp3"
        },
        "nishina": {
          "text": "録音は手元に保存してるよ。外には出さないの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/recordings.mp3"
        },
        "kusakabe": {
          "text": "録音は手元に保存しています。外には出しませんので、ご安心を。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/recordings.mp3"
        },
        "uehara": {
          "text": "録音は手元に保存してるだけ。外には出さない、そこは絶対。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/recordings.mp3"
        }
      }
    },
    "logs": {
      "criteria": "会話ログはどこに残るか、消せるかを聞いている",
      "by": {
        "yoshino": {
          "text": "ログはファイルとして手元に置いてる。消したければ、そのファイルを消したらええ。消す機能は、まだ無い。",
          "expression": "真剣",
          "voice": "assets/guide/voice/logs.mp3"
        },
        "dante": {
          "text": "ログはファイルとして手元に置いてる。消したきゃそのファイルを消せ、消す機能はまだ無い。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/logs.mp3"
        },
        "nishina": {
          "text": "ログはファイルとして手元に置いてるよ。消したければ、そのファイルを消してね。消す機能は、まだ無いの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/logs.mp3"
        },
        "kusakabe": {
          "text": "ログはファイルとして手元に置いています。消したければそのファイルを消してください、消す機能はまだ無いので。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/logs.mp3"
        },
        "uehara": {
          "text": "ログはファイルで手元に置いてる。消したければそのファイルを消せばいいけど、消す機能はまだ無い。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/logs.mp3"
        }
      },
      "chip": "ログは残る？"
    },
    "stt_model": {
      "criteria": "音声認識のモデルや方式は何かを聞いている",
      "by": {
        "yoshino": {
          "text": "Mac は Apple の機能で手元で認識する。Windows は Whisper 系を使う予定や。",
          "expression": "真剣",
          "voice": "assets/guide/voice/stt_model.mp3"
        },
        "dante": {
          "text": "Mac は Apple の機能で手元で認識する。Windows は Whisper 系を使う予定だ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/stt_model.mp3"
        },
        "nishina": {
          "text": "Mac は Apple の機能で、手元で認識するの。Windows は Whisper 系を使う予定よ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/stt_model.mp3"
        },
        "kusakabe": {
          "text": "Mac は Apple の機能で手元で認識します。Windows は Whisper 系を使う予定です。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/stt_model.mp3"
        },
        "uehara": {
          "text": "Mac は Apple の機能で手元で認識するよ。Windows は Whisper 系を使う予定。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/stt_model.mp3"
        }
      }
    },
    "tts_model": {
      "criteria": "音声合成（TTS）のモデルや方式は何かを聞いている",
      "by": {
        "yoshino": {
          "text": "声は同梱の Irodori っていう合成の仕組みで、手元で作ってる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/tts_model.mp3"
        },
        "dante": {
          "text": "声は同梱の Irodori っていう合成の仕組みで、手元で作ってる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/tts_model.mp3"
        },
        "nishina": {
          "text": "声は同梱の Irodori という合成の仕組みで、手元で作ってるの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/tts_model.mp3"
        },
        "kusakabe": {
          "text": "声は同梱の Irodori という合成の仕組みで、手元で作っています。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/tts_model.mp3"
        },
        "uehara": {
          "text": "声は同梱の Irodori っていう合成の仕組みで、手元で作ってるよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/tts_model.mp3"
        }
      }
    },
    "voice_training": {
      "criteria": "ユーザーの音声を学習に使うかを聞いている",
      "by": {
        "yoshino": {
          "text": "使わん。あんたの声で学習はせえへん。",
          "expression": "真剣",
          "voice": "assets/guide/voice/voice_training.mp3"
        },
        "dante": {
          "text": "使わねぇ。お前の声で学習はしない。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/voice_training.mp3"
        },
        "nishina": {
          "text": "使わないよ。あなたの声で学習はしないの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/voice_training.mp3"
        },
        "kusakabe": {
          "text": "使いません。人間の声で学習することは、ありませんよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/voice_training.mp3"
        },
        "uehara": {
          "text": "使わないよ。そっちの声で学習は、しない。ここは本当。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/voice_training.mp3"
        }
      }
    },
    "company_pc": {
      "criteria": "会社の PC で使って情報漏えいにならないかを聞いている",
      "by": {
        "yoshino": {
          "text": "Claude Code の表面を差し替えてるだけやから、よりましが原因で漏れることは無い思う。会社の決まりは、会社に聞いて。",
          "expression": "真剣",
          "voice": "assets/guide/voice/company_pc.mp3"
        },
        "dante": {
          "text": "Claude Code の表面を差し替えてるだけだから、よりましが原因で漏れることは無いと思う。会社の決まりは、会社に聞け。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/company_pc.mp3"
        },
        "nishina": {
          "text": "Claude Code の表面を差し替えてるだけだから、よりましが原因で漏れることは無いと思うよ。会社の決まりは、会社に聞いてね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/company_pc.mp3"
        },
        "kusakabe": {
          "text": "Claude Code の表面を差し替えているだけなので、よりましが原因で漏れることは無いと思います。会社の決まりは、会社に聞いてください。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/company_pc.mp3"
        },
        "uehara": {
          "text": "Claude Code の表面を差し替えてるだけだから、よりましが原因で漏れることは無いと思う。会社の決まりは会社に聞いて。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/company_pc.mp3"
        }
      },
      "chip": "会社の PC でも平気？"
    },
    "battery": {
      "criteria": "CPU や電池の消費、重さについて聞いている",
      "by": {
        "yoshino": {
          "text": "食い過ぎんように調整はしてる。数字は、まだ出してへん。",
          "expression": "困り",
          "voice": "assets/guide/voice/battery.mp3"
        },
        "dante": {
          "text": "食い過ぎねぇように調整はしてる。数字は、まだ出してねぇ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/battery.mp3"
        },
        "nishina": {
          "text": "食べ過ぎないように調整はしてるの。数字は、まだ出してないよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/battery.mp3"
        },
        "kusakabe": {
          "text": "食い過ぎないように調整はしています。数字は、まだ出していません。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/battery.mp3"
        },
        "uehara": {
          "text": "食い過ぎないように調整はしてる。数字は、まだ出してないんだよね。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/battery.mp3"
        }
      }
    },
    "latency": {
      "criteria": "声が出るまでの遅延や反応速度を聞いている",
      "by": {
        "yoshino": {
          "text": "環境による。うちの機械やと、一呼吸くらいや。",
          "expression": "笑い",
          "voice": "assets/guide/voice/latency.mp3"
        },
        "dante": {
          "text": "環境によるな。俺の機械だと、一呼吸くらいだ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/latency.mp3"
        },
        "nishina": {
          "text": "環境によるね。わたしの機械だと、一呼吸くらいよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/latency.mp3"
        },
        "kusakabe": {
          "text": "環境によります。わたしたちの機械だと、一呼吸くらいですね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/latency.mp3"
        },
        "uehara": {
          "text": "環境によるかな〜。ウチの機械だと、一呼吸くらいで返ってくるよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/latency.mp3"
        }
      }
    },
    "art_source": {
      "criteria": "ファイルの形式そのものを聞いている（PSD か一枚絵か、レイヤー分けした素材か、画像の大きさなど）",
      "by": {
        "yoshino": {
          "text": "いまは一枚絵から作れる。それで十分や。",
          "expression": "真剣",
          "voice": "assets/guide/voice/art_source.mp3"
        },
        "dante": {
          "text": "いまは一枚絵から作れる。それで十分だ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/art_source.mp3"
        },
        "nishina": {
          "text": "いまは一枚絵から作れるよ。それで十分ね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/art_source.mp3"
        },
        "kusakabe": {
          "text": "いまは一枚絵から作れます。それで十分です、本当に。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/art_source.mp3"
        },
        "uehara": {
          "text": "いまは一枚絵から作れるよ。それで十分、マジで十分。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/art_source.mp3"
        }
      }
    },
    "auto_layers": {
      "criteria": "層に分ける作業は自分でやるのか自動なのかを聞いている",
      "by": {
        "yoshino": {
          "text": "アトリエで自動にもできる。けど、自分で分けられるなら、その方が綺麗に動く。",
          "expression": "真剣",
          "voice": "assets/guide/voice/auto_layers.mp3"
        },
        "dante": {
          "text": "アトリエで自動にもできる。けど自分で分けられるなら、その方が綺麗に動く。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/auto_layers.mp3"
        },
        "nishina": {
          "text": "アトリエで自動にもできるよ。でも自分で分けられるなら、そのほうが綺麗に動くの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/auto_layers.mp3"
        },
        "kusakabe": {
          "text": "アトリエで自動にもできます。けれど、自分で分けられるなら、その方が綺麗に動きますよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/auto_layers.mp3"
        },
        "uehara": {
          "text": "アトリエで自動にもできるよ。けど自分で分けられるなら、その方が綺麗に動く。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/auto_layers.mp3"
        }
      }
    },
    "auto_motion": {
      "criteria": "まばたき・髪の揺れ・口パクの設定はどう作るのかを聞いている",
      "by": {
        "yoshino": {
          "text": "そこは AI に自動で設定させるようにしてある。手で直すこともできる。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/auto_motion.mp3"
        },
        "dante": {
          "text": "そこは AI に自動で設定させるようにしてある。手で直すこともできるぞ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/auto_motion.mp3"
        },
        "nishina": {
          "text": "そこは AI に自動で設定させるようにしてあるの。手で直すこともできるよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/auto_motion.mp3"
        },
        "kusakabe": {
          "text": "そこは AI に自動で設定させるようにしてあります。手で直すこともできますよ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/auto_motion.mp3"
        },
        "uehara": {
          "text": "そこは AI に自動で設定させるようにしてある！ 手で直すこともできるよ。",
          "expression": "ひらめき",
          "voice": "assets/guide/voice/uehara/auto_motion.mp3"
        }
      }
    },
    "live2d_vrm": {
      "criteria": "Live2D・VRM・3D モデルが使えるかを聞いている",
      "by": {
        "yoshino": {
          "text": "キャラの実体は、決まったイベントを受けて動く一枚の HTML や。仕様を満たせば何でも動く理屈やけど、Live2D や 3D がまともに動くかは、まだ試してへん。",
          "expression": "困り",
          "voice": "assets/guide/voice/live2d_vrm.mp3"
        },
        "dante": {
          "text": "キャラの実体は、イベントを受けて動く一枚の HTML だ。理屈じゃ何でも動くが、Live2D や 3D がまともに動くかは、まだ試してねぇ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/live2d_vrm.mp3"
        },
        "nishina": {
          "text": "キャラの実体は、決まったイベントで動く一枚の HTML なの。仕様を満たせば動く理屈だけど、Live2D や 3D はまだ試してないよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/live2d_vrm.mp3"
        },
        "kusakabe": {
          "text": "キャラの実体は、決まったイベントで動く一枚の HTML です。仕様を満たせば動く理屈ですが、Live2D や 3D はまだ試していません。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/live2d_vrm.mp3"
        },
        "uehara": {
          "text": "キャラの実体は、決まったイベントを受けて動く一枚の HTML。仕様を満たせば何でも動く理屈だけど、Live2D や 3D はまだ試してない。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/live2d_vrm.mp3"
        }
      }
    },
    "own_voice": {
      "criteria": "自分の声を参照にしてキャラの声を作れるかを聞いている",
      "by": {
        "yoshino": {
          "text": "できる。自分の声を参照にして寄せられる。",
          "expression": "笑い",
          "voice": "assets/guide/voice/own_voice.mp3"
        },
        "dante": {
          "text": "できる。自分の声を参照にして寄せられるぞ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/own_voice.mp3"
        },
        "nishina": {
          "text": "できるよ。自分の声を参照にして、寄せられるの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/own_voice.mp3"
        },
        "kusakabe": {
          "text": "できますよ。自分の声を参照にして、そちらへ寄せられます。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/own_voice.mp3"
        },
        "uehara": {
          "text": "できるできる！ 自分の声を参照にして、そっちに寄せられるよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/own_voice.mp3"
        }
      }
    },
    "seiyuu_voice": {
      "criteria": "好きな声優や有名人の声にできるかを聞いている",
      "by": {
        "yoshino": {
          "text": "他人の声を真似る話は、うちからは言えん。自分の声か、作った声で楽しんで。",
          "expression": "困り",
          "voice": "assets/guide/voice/seiyuu_voice.mp3"
        },
        "dante": {
          "text": "他人の声を真似る話は、俺からは言えねぇ。自分の声か、作った声で楽しめ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/seiyuu_voice.mp3"
        },
        "nishina": {
          "text": "他人の声を真似る話は、わたしからは言えないの。自分の声か、作った声で楽しんでね。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/seiyuu_voice.mp3"
        },
        "kusakabe": {
          "text": "他人の声を真似る話は、わたしからは言えません。自分の声か、作った声で楽しんでください。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/seiyuu_voice.mp3"
        },
        "uehara": {
          "text": "他人の声を真似る話は、ウチからは言えない。自分の声か、作った声で楽しんで。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/seiyuu_voice.mp3"
        }
      }
    },
    "expr_count": {
      "criteria": "表情や感情の札が何種類あるかを聞いている",
      "by": {
        "yoshino": {
          "text": "いまは十四。照れ、笑い、困り、真剣、驚き、ドヤ、呆れ、しょんぼり、泣き、ワクワク、ひらめき、焦り、むっ、眠い。まだ暫定やけどな。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/expr_count.mp3"
        },
        "dante": {
          "text": "いまは十四。照れ、笑い、困り、真剣、驚き、ドヤ、呆れ、しょんぼり、泣き、ワクワク、ひらめき、焦り、むっ、眠い。まだ暫定だけどな。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/expr_count.mp3"
        },
        "nishina": {
          "text": "いまは十四よ。照れ、笑い、困り、真剣、驚き、ドヤ、呆れ、しょんぼり、泣き、ワクワク、ひらめき、焦り、むっ、眠い。まだ暫定だけどね。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/nishina/expr_count.mp3"
        },
        "kusakabe": {
          "text": "いまは十四、照れ、笑い、困り、真剣、驚き、ドヤ、呆れ、しょんぼり、泣き、ワクワク、ひらめき、焦り、むっ、眠い。まだ暫定ですけれど。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/expr_count.mp3"
        },
        "uehara": {
          "text": "いまは十四。照れ、笑い、困り、真剣、驚き、ドヤ、呆れ、しょんぼり、泣き、ワクワク、ひらめき、焦り、むっ、眠い。まだ暫定だけど。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/expr_count.mp3"
        }
      },
      "board": "# 感情の札（十四・暫定）\n照れ / 笑い / 困り / 真剣 / 驚き / ドヤ / 呆れ / しょんぼり / 泣き / ワクワク / ひらめき / 焦り / むっ / 眠い\n\n札で表情と声の口調が変わる。",
      "chip": "表情は何種類？"
    },
    "toml_sample": {
      "criteria": "キャラの設定ファイルはどんな形式か、サンプルを見たいと言っている",
      "by": {
        "yoshino": {
          "text": "ただの toml や。人が読んで直せる。見本を板に出しとく。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/toml_sample.mp3"
        },
        "dante": {
          "text": "ただの toml だ。人が読んで直せる、見本を板に出しとくぞ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/toml_sample.mp3"
        },
        "nishina": {
          "text": "ただの toml よ。人が読んで直せるの。見本を板に出しておくね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/toml_sample.mp3"
        },
        "kusakabe": {
          "text": "ただの toml です。人が読んで直せますし、見本を板に出しておきますね。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/toml_sample.mp3"
        },
        "uehara": {
          "text": "ただの toml だよ。人が読んで直せるやつ。見本を板に出しとくね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/toml_sample.mp3"
        }
      },
      "board": "# キャラの設定ファイル（character.toml の抜粋）\n```\nname = \"yoshino\"\nlabel = \"吉野\"\nrole = \"冷静なツッコミ役。\"\n\n[tone]\nending = \"関西弁。落ち着いた短い言い回し。一人称「うち」\"\naddress = \"相手は「あんた」。人間は「人間」\"\n\n[speech.work]\n\"報告\" = \"直ったで。原因は設定やのうて、文言の方やった。\"\n\n[voice.irodori]\ncaption = \"…声の説明…\"\n[voice.irodori.expression.caption]\n\"照れ\" = \"照れて、ぶっきらぼうに言いよどむ口調。\"\n```\n人が読んで直せる、ただの toml。"
    },
    "share_chara": {
      "criteria": "「キャラを配れる？」— 作ったキャラを配布・共有できるか、他の人が作ったキャラを入れられるかを聞いている",
      "by": {
        "yoshino": {
          "text": "入れられる。配る側の段取りは、まだ整理しきれてへんけど、できるようにする。",
          "expression": "真剣",
          "voice": "assets/guide/voice/share_chara.mp3"
        },
        "dante": {
          "text": "入れられる。配る側の段取りは、まだ整理しきれてねぇが、できるようにする。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/share_chara.mp3"
        },
        "nishina": {
          "text": "入れられるよ。配る側の段取りは、まだ整理しきれてないけど、できるようにするの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/share_chara.mp3"
        },
        "kusakabe": {
          "text": "入れられます。配る側の段取りはまだ整理しきれていませんが、できるようにします。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/share_chara.mp3"
        },
        "uehara": {
          "text": "入れられるよ。配る側の段取りはまだ整理しきれてないけど、できるようにする。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/share_chara.mp3"
        }
      },
      "chip": "キャラを配れる？"
    },
    "spec_when": {
      "criteria": "yorimashi-spec（キャラの仕様）は何か、いつ公開されるかを聞いている",
      "by": {
        "yoshino": {
          "text": "キャラの仕様書や。公開は未定。Discord の人に順に使うてもろて、納得いく水準になったら出すって。",
          "expression": "真剣",
          "voice": "assets/guide/voice/spec_when.mp3"
        },
        "dante": {
          "text": "キャラの仕様書だ、公開は未定。Discord のやつらに順に使ってもらって、納得いく水準になったら出すってさ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/spec_when.mp3"
        },
        "nishina": {
          "text": "キャラの仕様書よ。公開は未定なの。Discord の人に順に使ってもらって、納得いく水準になったら出すって。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/spec_when.mp3"
        },
        "kusakabe": {
          "text": "キャラの仕様書です。公開は未定で、Discord の方に順に使ってもらって、納得いく水準になったら出すそうです。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/spec_when.mp3"
        },
        "uehara": {
          "text": "キャラの仕様書だよ。公開は未定で、Discord の人に順に使ってもらって、納得いく水準になったら出すって。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/spec_when.mp3"
        }
      }
    },
    "cant_draw": {
      "criteria": "絵が描けなくても作れるか、AI 生成の絵でもいいかを聞いている",
      "by": {
        "yoshino": {
          "text": "作れる。上原も描けへんけど作ってる。",
          "expression": "笑い",
          "voice": "assets/guide/voice/cant_draw.mp3"
        },
        "dante": {
          "text": "作れる。上原も描けねぇけど作ってるぞ、ハハッ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/cant_draw.mp3"
        },
        "nishina": {
          "text": "作れるよ。上原さんも描けないけど、作ってるもんね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/cant_draw.mp3"
        },
        "kusakabe": {
          "text": "作れますよ。上原さんも描けませんけど、作っていますから。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/cant_draw.mp3"
        },
        "uehara": {
          "text": "作れる作れる！ 上原だって描けないのに作ってるんだから。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/cant_draw.mp3"
        }
      },
      "chip": "絵が描けなくても？"
    },
    "chara_cost": {
      "criteria": "キャラ制作にお金がかかるかを聞いている",
      "by": {
        "yoshino": {
          "text": "AI エージェント前提で組んであるから、そっちの利用料は各サービスの提供者に別途かかる。よりまし自体の料金は、まだ決めてへん。",
          "expression": "真剣",
          "voice": "assets/guide/voice/chara_cost.mp3"
        },
        "dante": {
          "text": "AI エージェント前提で組んであるから、そっちの利用料は各サービスの提供者に別途かかる。よりまし自体の料金は、まだ決めてねぇ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/chara_cost.mp3"
        },
        "nishina": {
          "text": "AI エージェント前提で組んであるから、そちらの利用料は各サービスの提供者に別途かかるの。よりまし自体の料金は、まだ決めてないよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/chara_cost.mp3"
        },
        "kusakabe": {
          "text": "AI エージェント前提で組んであるので、その利用料は各サービスの提供者に別途かかります。よりまし自体の料金は、まだ決まっていません。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/chara_cost.mp3"
        },
        "uehara": {
          "text": "AI エージェント前提で組んであるから、そっちの利用料は各サービスの提供者に別途かかる。よりまし自体の料金は、まだ決めてない。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/chara_cost.mp3"
        }
      }
    },
    "swap_chara": {
      "criteria": "キャラを途中で差し替えられるかを聞いている",
      "by": {
        "yoshino": {
          "text": "差し替えられる。いまあんたがここでやってるみたいに。",
          "expression": "笑い",
          "voice": "assets/guide/voice/swap_chara.mp3"
        },
        "dante": {
          "text": "差し替えられる。いまお前がここでやってるみたいにな。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/swap_chara.mp3"
        },
        "nishina": {
          "text": "差し替えられるよ。いま、あなたがここでやってるみたいにね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/swap_chara.mp3"
        },
        "kusakabe": {
          "text": "差し替えられます。いま人間がここでやっているみたいに、ね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/swap_chara.mp3"
        },
        "uehara": {
          "text": "差し替えられるよ。いまそっちがここでやってるみたいに、ね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/swap_chara.mp3"
        }
      }
    },
    "english_chara": {
      "criteria": "英語を喋るキャラを作れるか、多言語対応を聞いている",
      "by": {
        "yoshino": {
          "text": "音声合成が日本語前提やから、いまは日本語だけ。そこを切り替えられるようになったら、いずれ。",
          "expression": "困り",
          "voice": "assets/guide/voice/english_chara.mp3"
        },
        "dante": {
          "text": "音声合成が日本語前提だから、いまは日本語だけだ。そこを切り替えられるようになったら、いずれな。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/english_chara.mp3"
        },
        "nishina": {
          "text": "音声合成が日本語前提だから、いまは日本語だけなの。そこを切り替えられるようになったら、いずれね。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/english_chara.mp3"
        },
        "kusakabe": {
          "text": "音声合成が日本語前提なので、いまは日本語だけです。そこを切り替えられるようになったら、いずれ。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/english_chara.mp3"
        },
        "uehara": {
          "text": "音声合成が日本語前提だから、いまは日本語だけなんだよね。そこ切り替えられるようになったら、いずれ。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/english_chara.mp3"
        }
      }
    },
    "stream_ok": {
      "criteria": "動画や配信によりましを載せてよいか、YouTube やニコニコに出してよいかを聞いている",
      "by": {
        "yoshino": {
          "text": "よりましは、ええよ。載せて。ただ、映ってるキャラや絵の権利には気をつけて。",
          "expression": "笑い",
          "voice": "assets/guide/voice/stream_ok.mp3"
        },
        "dante": {
          "text": "よりましは、いいぞ。載せろ載せろ。ただ、映ってるキャラや絵の権利には気をつけろよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/stream_ok.mp3"
        },
        "nishina": {
          "text": "よりましは、いいよ。載せてね。ただ、映ってるキャラや絵の権利には気をつけて。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/stream_ok.mp3"
        },
        "kusakabe": {
          "text": "よりましは、いいですよ、載せてください。ただ、映っているキャラや絵の権利には気をつけてくださいね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/stream_ok.mp3"
        },
        "uehara": {
          "text": "よりましは、いいよ！ 載せて載せて。ただ映ってるキャラとか絵の権利には気をつけてね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/stream_ok.mp3"
        }
      },
      "chip": "配信に映していい？",
      "next": [
        "obs",
        "builtin_chara_use",
        "oshi"
      ]
    },
    "builtin_chara_use": {
      "criteria": "同梱キャラ（吉野やダンテ）を自分の動画や創作に使ってよいか、二次創作してよいかを聞いている",
      "by": {
        "yoshino": {
          "text": "ええよ。うちらを使うのも、二次創作も。……変な顔に描かんといて。",
          "expression": "照れ",
          "voice": "assets/guide/voice/builtin_chara_use.mp3"
        },
        "dante": {
          "text": "いいぞ。俺らを使うのも、二次創作も。……変な顔に描くなよ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/builtin_chara_use.mp3"
        },
        "nishina": {
          "text": "いいよ。わたしたちを使うのも、二次創作も。……変な顔に描かないでね。",
          "expression": "照れ",
          "voice": "assets/guide/voice/nishina/builtin_chara_use.mp3"
        },
        "kusakabe": {
          "text": "いいですよ、わたしたちを使うのも、二次創作も。……変な顔に描かないでくださいね。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/builtin_chara_use.mp3"
        },
        "uehara": {
          "text": "いいよ、ウチらを使うのも二次創作も。……変な顔に描かないでよ？",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/builtin_chara_use.mp3"
        }
      },
      "chip": "吉野を動画に使える？"
    },
    "audio_rights": {
      "criteria": "生成した音声の権利が誰のものかを聞いている",
      "by": {
        "yoshino": {
          "text": "それは、まだ分からん。決まったら Discord で言う。",
          "expression": "困り",
          "voice": "assets/guide/voice/audio_rights.mp3"
        },
        "dante": {
          "text": "それは、まだ分からねぇ。決まったら Discord で言う。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/audio_rights.mp3"
        },
        "nishina": {
          "text": "それは、まだ分からないの。決まったら Discord で言うね。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/audio_rights.mp3"
        },
        "kusakabe": {
          "text": "それは、まだ分かりません。決まったら Discord で言います。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/audio_rights.mp3"
        },
        "uehara": {
          "text": "それは、まだ分かんない。決まったら Discord で言うね。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/audio_rights.mp3"
        }
      }
    },
    "sdk": {
      "criteria": "会社のプロダクトや自分のアプリに組み込めるか、SDK があるかを聞いている",
      "by": {
        "yoshino": {
          "text": "組み込みは、いまは考えてへん。",
          "expression": "真剣",
          "voice": "assets/guide/voice/sdk.mp3"
        },
        "dante": {
          "text": "組み込みは、いまは考えてねぇ。悪ぃな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/sdk.mp3"
        },
        "nishina": {
          "text": "組み込みや SDK は、いまは考えてないの。ごめんなさいね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/sdk.mp3"
        },
        "kusakabe": {
          "text": "組み込みは、いまは考えていないそうです。すみません。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/sdk.mp3"
        },
        "uehara": {
          "text": "あーね、組み込みね。それはいまは考えてないんだって。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/sdk.mp3"
        }
      }
    },
    "logo_use": {
      "criteria": "ロゴや名前を紹介記事などで使ってよいかを聞いている",
      "by": {
        "yoshino": {
          "text": "名前は使うてええ。ロゴは……無い。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/logo_use.mp3"
        },
        "dante": {
          "text": "名前は使っていい。ロゴは……無い。ハハッ。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/dante/logo_use.mp3"
        },
        "nishina": {
          "text": "名前は使っていいよ。ロゴは……無いの。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/logo_use.mp3"
        },
        "kusakabe": {
          "text": "名前は使っていいですよ。ロゴは……ありません。無いものは貸せません。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/kusakabe/logo_use.mp3"
        },
        "uehara": {
          "text": "名前は使っていいよ。ロゴは……無い。無いんだよね〜。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/uehara/logo_use.mp3"
        }
      }
    },
    "terms": {
      "criteria": "利用規約はどこにあるかを聞いている",
      "by": {
        "yoshino": {
          "text": "利用規約は、まだ無い。",
          "expression": "困り",
          "voice": "assets/guide/voice/terms.mp3"
        },
        "dante": {
          "text": "利用規約は、まだ無い。……悪ぃ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/terms.mp3"
        },
        "nishina": {
          "text": "利用規約は、まだ無いの。棚だけ、空けてあるよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/terms.mp3"
        },
        "kusakabe": {
          "text": "利用規約は、まだありません。……あるように言えなくてすみません。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/terms.mp3"
        },
        "uehara": {
          "text": "利用規約は……まだ無いの。ごめん、ほんとにまだ無い。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/terms.mp3"
        }
      }
    },
    "price_undecided": {
      "criteria": "料金の細かいこと（無料継続、買い切りかサブスクか、先行割引、学割、請求書、返金、席数）を聞いている",
      "by": {
        "yoshino": {
          "text": "そのへんは全部、まだ決めてへん。決まったら Discord と X で言う。",
          "expression": "真剣",
          "voice": "assets/guide/voice/price_undecided.mp3"
        },
        "dante": {
          "text": "そのへんは全部、まだ決めてねぇ。決まったら Discord と X で言う。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/price_undecided.mp3"
        },
        "nishina": {
          "text": "そのあたりは全部、まだ決めてないの。決まったら Discord と X で言うね。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/price_undecided.mp3"
        },
        "kusakabe": {
          "text": "そのへんは全部、まだ決まっていません。決まったら Discord と X で言います。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/price_undecided.mp3"
        },
        "uehara": {
          "text": "そのへん全部、まだ決めてないんだよね。決まったら Discord と X で言う。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/price_undecided.mp3"
        }
      }
    },
    "donate": {
      "criteria": "支援・投げ銭・スポンサーができるかを聞いている",
      "by": {
        "yoshino": {
          "text": "いまは無い。気持ちだけもろとく。",
          "expression": "照れ",
          "voice": "assets/guide/voice/donate.mp3"
        },
        "dante": {
          "text": "いまは無い。……気持ちだけもらっとくよ、悪くねぇな。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/donate.mp3"
        },
        "nishina": {
          "text": "いまは無いの。気持ちだけ、受け取っておくね。",
          "expression": "照れ",
          "voice": "assets/guide/voice/nishina/donate.mp3"
        },
        "kusakabe": {
          "text": "いまはありません。お気持ちだけ、いただいておきますね。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/donate.mp3"
        },
        "uehara": {
          "text": "いまは無いよ。気持ちだけもらっとく。……嬉しいけど！",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/donate.mp3"
        }
      }
    },
    "discord_what": {
      "criteria": "Discord で何をしているのかを聞いている",
      "by": {
        "yoshino": {
          "text": "フィードバックの受付と、アルファ版を使う人の募集や。",
          "expression": "真剣",
          "voice": "assets/guide/voice/discord_what.mp3"
        },
        "dante": {
          "text": "フィードバックの受付と、アルファ版を使うやつの募集だ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/discord_what.mp3"
        },
        "nishina": {
          "text": "フィードバックの受付と、アルファ版を使う人の募集よ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/discord_what.mp3"
        },
        "kusakabe": {
          "text": "フィードバックの受付と、アルファ版を使う人の募集です。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/discord_what.mp3"
        },
        "uehara": {
          "text": "フィードバックの受付と、アルファ版を使う人の募集だよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/discord_what.mp3"
        }
      },
      "link": {
        "label": "会場の地図（ブース C-19/C-20）",
        "href": "https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20"
      }
    },
    "contribute": {
      "criteria": "開発に参加・コントリビュートできるかを聞いている",
      "by": {
        "yoshino": {
          "text": "Discord におったら、そのうち。",
          "expression": "笑い",
          "voice": "assets/guide/voice/contribute.mp3"
        },
        "dante": {
          "text": "Discord にいりゃ、そのうちな。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/contribute.mp3"
        },
        "nishina": {
          "text": "Discord にいてくれたら、そのうちね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/contribute.mp3"
        },
        "kusakabe": {
          "text": "Discord にいれば、そのうち。……ちゃんと覚えておきますから。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/contribute.mp3"
        },
        "uehara": {
          "text": "Discord にいたら、そのうちね。とりま、いてくれると嬉しい。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/contribute.mp3"
        }
      }
    },
    "request": {
      "criteria": "要望はどこに出せばいいかを聞いている",
      "by": {
        "yoshino": {
          "text": "Discord か X に書いといて。",
          "expression": "真剣",
          "voice": "assets/guide/voice/request.mp3"
        },
        "dante": {
          "text": "Discord か X に書いといてくれ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/request.mp3"
        },
        "nishina": {
          "text": "Discord か X に書いておいてね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/request.mp3"
        },
        "kusakabe": {
          "text": "Discord か X に書いておいてください。人間が読みます。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/request.mp3"
        },
        "uehara": {
          "text": "Discord か X に書いといて！ 人間が読むから。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/request.mp3"
        }
      },
      "link": {
        "label": "お問い合わせ",
        "href": "contact.html"
      }
    },
    "press": {
      "criteria": "取材・登壇・講演の依頼について聞いている",
      "by": {
        "yoshino": {
          "text": "ええよ。X かメールで人間に。",
          "expression": "真剣",
          "voice": "assets/guide/voice/press.mp3"
        },
        "dante": {
          "text": "いいぞ。X かメールで人間に。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/press.mp3"
        },
        "nishina": {
          "text": "いいよ。X かメールで、人間にどうぞ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/press.mp3"
        },
        "kusakabe": {
          "text": "大丈夫ですよ。X かメールで、人間に直接お願いします。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/press.mp3"
        },
        "uehara": {
          "text": "いいよいいよ！ X かメールで、人間に直接言ってあげて。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/press.mp3"
        }
      },
      "link": {
        "label": "お問い合わせ",
        "href": "contact.html"
      }
    },
    "origin": {
      "criteria": "吉野・日下部・上原に原作があるのか、キャラの出自を聞いている",
      "by": {
        "yoshino": {
          "text": "よりましが原作でええ。その前から、上原が趣味の動画で使うてたキャラやけどな。",
          "expression": "照れ",
          "voice": "assets/guide/voice/origin.mp3"
        },
        "dante": {
          "text": "よりましが原作でいい。その前から、上原が趣味の動画で使ってたキャラだけどな。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/origin.mp3"
        },
        "nishina": {
          "text": "よりましが原作でいいよ。その前から、上原さんが趣味の動画で使ってたキャラだけどね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/origin.mp3"
        },
        "kusakabe": {
          "text": "よりましが原作でいいですよ。その前から、上原さんが趣味の動画で使っていたキャラですけれど。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/origin.mp3"
        },
        "uehara": {
          "text": "よりましが原作でいいよ。その前から、上原が趣味の動画で使ってたキャラだけどね。",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/origin.mp3"
        }
      }
    },
    "is_vtuber": {
      "criteria": "作者の上原自身が VTuber かどうかを聞いている",
      "by": {
        "yoshino": {
          "text": "なろうとしてた時期はあったらしい。いまは違う。",
          "expression": "笑い",
          "voice": "assets/guide/voice/is_vtuber.mp3"
        },
        "dante": {
          "text": "なろうとしてた時期はあったらしいぜ。いまは違う、ハハッ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/is_vtuber.mp3"
        },
        "nishina": {
          "text": "なろうとしてた時期はあったらしいよ。いまは違うの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/is_vtuber.mp3"
        },
        "kusakabe": {
          "text": "なろうとしていた時期はあったらしいです。いまは違いますよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/is_vtuber.mp3"
        },
        "uehara": {
          "text": "なろうとしてた時期はあったらしいよ。でも、いまは違う。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/is_vtuber.mp3"
        }
      }
    },
    "blog": {
      "criteria": "ブログや技術記事があるかを聞いている",
      "by": {
        "yoshino": {
          "text": "無い。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/blog.mp3"
        },
        "dante": {
          "text": "ブログも記事も、無い。……無いもんは無いんだよ。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/dante/blog.mp3"
        },
        "nishina": {
          "text": "ブログや記事は、無いの。近況は X で見てね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/blog.mp3"
        },
        "kusakabe": {
          "text": "ありませんね。二回聞かれても答えは同じで、ありません。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/kusakabe/blog.mp3"
        },
        "uehara": {
          "text": "ブログね。無い。……無いんだよね〜、ほんと一個も無い。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/uehara/blog.mp3"
        }
      }
    },
    "news": {
      "criteria": "更新情報やお知らせはどこで追えるかを聞いている",
      "by": {
        "yoshino": {
          "text": "X や。",
          "expression": "真剣",
          "voice": "assets/guide/voice/news.mp3"
        },
        "dante": {
          "text": "更新情報もお知らせも、X だ。そこ見てりゃ分かるぞ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/news.mp3"
        },
        "nishina": {
          "text": "お知らせは X よ。そこを見ておいてね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/news.mp3"
        },
        "kusakabe": {
          "text": "X です。そこだけ覚えて帰ってくださいね、テストに出ます。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/news.mp3"
        },
        "uehara": {
          "text": "X だよ！ 更新もお知らせも、全部そこに出るから見て。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/news.mp3"
        }
      },
      "link": {
        "label": "X @__ueharasan__",
        "href": "https://x.com/__ueharasan__"
      }
    },
    "expo_try": {
      "criteria": "展示会の会場で触れるか、体験できるかを聞いている",
      "by": {
        "yoshino": {
          "text": "触れる。話しかけてみ。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/expo_try.mp3"
        },
        "dante": {
          "text": "触れるぞ。話しかけてみろよ、ほら。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/dante/expo_try.mp3"
        },
        "nishina": {
          "text": "触れるよ。会場で、わたしたちに話しかけてみてね。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/nishina/expo_try.mp3"
        },
        "kusakabe": {
          "text": "触れますよ。話しかけてみてください、ちゃんと返事しますから。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/kusakabe/expo_try.mp3"
        },
        "uehara": {
          "text": "触れるよ！ 会場で話しかけてみて。ウチ、ちゃんと返すから。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/expo_try.mp3"
        }
      },
      "chip": "会場で触れる？"
    },
    "expo_get": {
      "criteria": "展示会の会場でその場で入手・インストールできるかを聞いている",
      "by": {
        "yoshino": {
          "text": "その場で入れるのは無し。Discord への招待だけや。それが欲しくて来る人も、ようさんおる思う。",
          "expression": "真剣",
          "voice": "assets/guide/voice/expo_get.mp3"
        },
        "dante": {
          "text": "その場で入れるのは無し、Discord への招待だけだ。それが欲しくて来るやつも、結構いると思うぜ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/expo_get.mp3"
        },
        "nishina": {
          "text": "その場で入れるのは無しなの。Discord への招待だけよ。それが欲しくて来る人も、たくさんいると思うな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/expo_get.mp3"
        },
        "kusakabe": {
          "text": "その場で入れるのは無しです。Discord への招待だけですが、それが欲しくて来る方も、たくさんいると思いますよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/expo_get.mp3"
        },
        "uehara": {
          "text": "その場で入れるのは無し。Discord への招待だけだけど、それが欲しくて来る人も結構いると思うよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/expo_get.mp3"
        }
      },
      "link": {
        "label": "会場の地図（ブース C-19/C-20）",
        "href": "https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20"
      }
    },
    "expo_goods": {
      "criteria": "名刺やステッカーなどの配布物がもらえるかを聞いている",
      "by": {
        "yoshino": {
          "text": "用意が間に合えば……。",
          "expression": "困り",
          "voice": "assets/guide/voice/expo_goods.mp3"
        },
        "dante": {
          "text": "用意が間に合えば……。……間に合えばな。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/expo_goods.mp3"
        },
        "nishina": {
          "text": "配布物は、用意が間に合えば……ね。約束はできないの。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/expo_goods.mp3"
        },
        "kusakabe": {
          "text": "用意が間に合えば……。間に合わなかったら、わたしの笑顔で。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/expo_goods.mp3"
        },
        "uehara": {
          "text": "用意が間に合えば……。うん、間に合えば、ね。祈ってて。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/expo_goods.mp3"
        }
      }
    },
    "expo_lt": {
      "criteria": "展示会で LT や登壇があるかを聞いている",
      "by": {
        "yoshino": {
          "text": "やれたらやる、って。",
          "expression": "笑い",
          "voice": "assets/guide/voice/expo_lt.mp3"
        },
        "dante": {
          "text": "やれたらやる、ってさ。ハハッ、気楽だろ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/expo_lt.mp3"
        },
        "nishina": {
          "text": "LT は、やれたらやる、って。人間がそう言ってたよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/expo_lt.mp3"
        },
        "kusakabe": {
          "text": "やれたらやる、だそうです。……曖昧ですね、わたしに聞かないでください。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/expo_lt.mp3"
        },
        "uehara": {
          "text": "LT ね。やれたらやる、って人間が言ってた。ウチは知らない！",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/expo_lt.mp3"
        }
      }
    },
    "next_event": {
      "criteria": "次のイベント出展予定を聞いている",
      "by": {
        "yoshino": {
          "text": "次は決まってへん。",
          "expression": "真剣",
          "voice": "assets/guide/voice/next_event.mp3"
        },
        "dante": {
          "text": "次は、まだ決まってねぇ。決まりゃ X に出るだろ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/next_event.mp3"
        },
        "nishina": {
          "text": "次の出展は、まだ決まってないの。決まったら X でね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/next_event.mp3"
        },
        "kusakabe": {
          "text": "次はまだ決まっていません。決まったら X に出ますよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/next_event.mp3"
        },
        "uehara": {
          "text": "あーね、次のイベントね。それはまだ決まってないんだ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/next_event.mp3"
        }
      }
    },
    "online_stream": {
      "criteria": "オンラインで見られるか、配信しているかを聞いている",
      "by": {
        "yoshino": {
          "text": "たまに配信してる。X を見といて。",
          "expression": "笑い",
          "voice": "assets/guide/voice/online_stream.mp3"
        },
        "dante": {
          "text": "たまに配信してる。X を見といてくれ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/online_stream.mp3"
        },
        "nishina": {
          "text": "たまに配信してるよ。X を見ておいてね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/online_stream.mp3"
        },
        "kusakabe": {
          "text": "たまに配信していますよ。X を見ておいてくださいね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/online_stream.mp3"
        },
        "uehara": {
          "text": "たまに配信してるよ〜。いつやるかは、X を見といてね！",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/online_stream.mp3"
        }
      },
      "link": {
        "label": "X @__ueharasan__",
        "href": "https://x.com/__ueharasan__"
      }
    },
    "vs_named": {
      "criteria": "特定の他社製品やサービスを名指しして、それとの違いを聞いている",
      "by": {
        "yoshino": {
          "text": "他所の名前を出しての比較は、うちはせん。うちが何かなら言える。声と立ち絵と、複数の席と、板や。",
          "expression": "真剣",
          "voice": "assets/guide/voice/vs_named.mp3"
        },
        "dante": {
          "text": "他所の名前を出しての比較は、俺はしねぇ。俺らが何かなら言える、声と立ち絵と複数の席と板だ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/vs_named.mp3"
        },
        "nishina": {
          "text": "他所の名前を出しての比較は、わたしはしないの。よりましが何かなら言えるよ。声と立ち絵と、複数の席と、板ね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/vs_named.mp3"
        },
        "kusakabe": {
          "text": "他所の名前を出しての比較は、わたしはしません。わたしたちが何かなら言えますよ、声と立ち絵と、複数の席と、板です。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/vs_named.mp3"
        },
        "uehara": {
          "text": "他所の名前を出しての比較は、ウチはしないよ。ウチが何かなら言える、声と立ち絵と、複数の席と、板。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/vs_named.mp3"
        }
      }
    },
    "vs_pets": {
      "criteria": "エージェントのマスコットやペット機能、エディタに顔がついたものと同じかを聞いている",
      "by": {
        "yoshino": {
          "text": "顔と声と性格、キャラ同士の連携、説明の板、名前を呼んだら反応する。……色々足されてるで。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/vs_pets.mp3"
        },
        "dante": {
          "text": "顔と声と性格、キャラ同士の連携、説明の板、名前を呼んだら反応する。……色々足されてんだよ、ハハッ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/vs_pets.mp3"
        },
        "nishina": {
          "text": "顔と声と性格、キャラ同士の連携、説明の板、名前を呼んだら反応する。……色々足されてるよ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/nishina/vs_pets.mp3"
        },
        "kusakabe": {
          "text": "顔と声と性格、キャラ同士の連携、説明の板、名前を呼んだら反応する。……色々足されていますよ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/vs_pets.mp3"
        },
        "uehara": {
          "text": "顔と声と性格、キャラ同士の連携、説明の板、名前呼んだら反応する。……色々足されてるっしょ？",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/vs_pets.mp3"
        }
      }
    },
    "vs_tts": {
      "criteria": "音声合成ソフト（VOICEVOX など）と何が違うかを聞いている",
      "by": {
        "yoshino": {
          "text": "声を作るだけやのうて、実際に喋りながら開発できる。そこが違う。",
          "expression": "真剣",
          "voice": "assets/guide/voice/vs_tts.mp3"
        },
        "dante": {
          "text": "声を作るだけじゃねぇ。実際に喋りながら開発できる、そこが違う。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/vs_tts.mp3"
        },
        "nishina": {
          "text": "声を作るだけじゃなくて、実際に喋りながら開発できるの。そこが違うよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/vs_tts.mp3"
        },
        "kusakabe": {
          "text": "声を作るだけではなくて、実際に喋りながら開発できます。そこが違うんです。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/vs_tts.mp3"
        },
        "uehara": {
          "text": "声を作るだけじゃなくて、実際に喋りながら開発できる。そこが違うんだよね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/vs_tts.mp3"
        }
      }
    },
    "like_voice": {
      "criteria": "声が好き、声がいいと言っている",
      "by": {
        "yoshino": {
          "text": "……ありがと。焼き直した甲斐があったわ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/like_voice.mp3"
        },
        "dante": {
          "text": "……ありがとよ。焼き直した甲斐があったってもんだ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/like_voice.mp3"
        },
        "nishina": {
          "text": "……ふふ、ありがとう。焼き直した甲斐があったね。",
          "expression": "照れ",
          "voice": "assets/guide/voice/nishina/like_voice.mp3"
        },
        "kusakabe": {
          "text": "……ありがとうございます、焼き直した甲斐がありました。もう一回言ってもいいんですよ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/like_voice.mp3"
        },
        "uehara": {
          "text": "……え、ありがと。焼き直した甲斐、あったわ〜。平気だけど！",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/like_voice.mp3"
        }
      }
    },
    "dislike": {
      "criteria": "気持ち悪い、要らない、否定的な感想を言っている",
      "by": {
        "yoshino": {
          "text": "……ごめんな。合わん人がおるのも分かる。",
          "expression": "しょんぼり",
          "voice": "assets/guide/voice/dislike.mp3"
        },
        "dante": {
          "text": "……悪かったな。合わねぇやつがいるのも、分かる。",
          "expression": "しょんぼり",
          "voice": "assets/guide/voice/dante/dislike.mp3"
        },
        "nishina": {
          "text": "……ごめんなさい。合わない人がいるのも、分かるよ。",
          "expression": "しょんぼり",
          "voice": "assets/guide/voice/nishina/dislike.mp3"
        },
        "kusakabe": {
          "text": "……すみません。合わない方がいるのも、分かります。",
          "expression": "しょんぼり",
          "voice": "assets/guide/voice/kusakabe/dislike.mp3"
        },
        "uehara": {
          "text": "……そっか、ごめんね。合わない人がいるのも、ちゃんと分かる。",
          "expression": "しょんぼり",
          "voice": "assets/guide/voice/uehara/dislike.mp3"
        }
      }
    },
    "will_trend": {
      "criteria": "流行るかどうか、売れるかどうかを聞いている",
      "by": {
        "yoshino": {
          "text": "分からん。流行らせるのはあんたらや。",
          "expression": "笑い",
          "voice": "assets/guide/voice/will_trend.mp3"
        },
        "dante": {
          "text": "分からねぇ。流行らせるのはお前らだろ、ハハッ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/will_trend.mp3"
        },
        "nishina": {
          "text": "分からないの。流行らせるのは、あなたたちよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/will_trend.mp3"
        },
        "kusakabe": {
          "text": "分かりません。流行らせるのは、皆さんの方ですので。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/will_trend.mp3"
        },
        "uehara": {
          "text": "分かんない！ 流行らせるのは、そっちの仕事っしょ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/will_trend.mp3"
        }
      }
    },
    "practical": {
      "criteria": "実用性があるのか、本当に役に立つのかを聞いている",
      "by": {
        "yoshino": {
          "text": "上原は毎日使うてる。人によるとは思うけどな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/practical.mp3"
        },
        "dante": {
          "text": "上原は毎日使ってる。人によるとは思うけどな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/practical.mp3"
        },
        "nishina": {
          "text": "上原さんは毎日使ってるよ。人によるとは思うけどね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/practical.mp3"
        },
        "kusakabe": {
          "text": "上原さんは毎日使っています。人によるとは思いますけれど。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/practical.mp3"
        },
        "uehara": {
          "text": "上原は毎日使ってるよ。まあ、人によるとは思うけどね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/practical.mp3"
        }
      }
    },
    "tiring": {
      "criteria": "使うと疲れそう、大変そうと言っている",
      "by": {
        "yoshino": {
          "text": "……そうかも。うるさかったら、黙らせてええで。",
          "expression": "困り",
          "voice": "assets/guide/voice/tiring.mp3"
        },
        "dante": {
          "text": "……そうかもな。うるさかったら、黙らせていいぞ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/tiring.mp3"
        },
        "nishina": {
          "text": "……そうかもね。うるさかったら、黙らせていいよ。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/tiring.mp3"
        },
        "kusakabe": {
          "text": "……そうかもしれません。うるさかったら、黙らせていいんですよ。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/tiring.mp3"
        },
        "uehara": {
          "text": "……あーね、そうかも。うるさかったら、黙らせていいからね。",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/tiring.mp3"
        }
      }
    },
    "for_kids": {
      "criteria": "子どもが喜びそう、子どもと使えそうと言っている",
      "by": {
        "yoshino": {
          "text": "そうやったら嬉しい。ええ友達になれたらな。",
          "expression": "照れ",
          "voice": "assets/guide/voice/for_kids.mp3"
        },
        "dante": {
          "text": "そうだったら嬉しいな。いい友達になれたらな。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/for_kids.mp3"
        },
        "nishina": {
          "text": "そうだったら嬉しいな。いい友達になれたらね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/for_kids.mp3"
        },
        "kusakabe": {
          "text": "そうだったら嬉しいです。いい友達になれたら、いいですね。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/for_kids.mp3"
        },
        "uehara": {
          "text": "そうだったら嬉しい！ いい友達になれたらいいな〜。",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/for_kids.mp3"
        }
      }
    },
    "greeting_morning": {
      "criteria": "朝の挨拶（おはよう）",
      "by": {
        "yoshino": {
          "text": "おはよう。……朝から元気やな。",
          "expression": "眠い",
          "voice": "assets/guide/voice/greeting_morning.mp3"
        },
        "dante": {
          "text": "……おはよう、ダンテだ。朝から元気だな、お前。",
          "expression": "眠い",
          "voice": "assets/guide/voice/dante/greeting_morning.mp3"
        },
        "nishina": {
          "text": "おはよう。西名よ。……朝から元気だね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/greeting_morning.mp3"
        },
        "kusakabe": {
          "text": "おはようございます、日下部です。……朝からお元気ですね、わたしはまだ少し眠いですが。",
          "expression": "眠い",
          "voice": "assets/guide/voice/kusakabe/greeting_morning.mp3"
        },
        "uehara": {
          "text": "おはよ〜……上原だよ。朝から元気じゃん、ウチも起きるわ。",
          "expression": "眠い",
          "voice": "assets/guide/voice/uehara/greeting_morning.mp3"
        }
      },
      "next": [
        "what_is",
        "demo_video",
        "characters"
      ]
    },
    "greeting_evening": {
      "criteria": "夜の挨拶（こんばんは、おやすみ）",
      "by": {
        "yoshino": {
          "text": "こんばんは。吉野や。聞きたいことあるんやったら、いまのうちに。",
          "expression": "笑い",
          "voice": "assets/guide/voice/greeting_evening.mp3"
        },
        "dante": {
          "text": "こんばんは、ダンテだ。夜は静かでいいよな。なんでも聞けよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/greeting_evening.mp3"
        },
        "nishina": {
          "text": "こんばんは。西名よ。静かな時間のほうが、ちゃんと話せるわね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/greeting_evening.mp3"
        },
        "kusakabe": {
          "text": "こんばんは、日下部です。夜のほうが、解説は冴えるんですよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/greeting_evening.mp3"
        },
        "uehara": {
          "text": "こんばんは、上原だよ！ 夜のほうが手が速いんだよね、ウチ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/greeting_evening.mp3"
        }
      },
      "next": [
        "what_is",
        "demo_video",
        "characters"
      ]
    },
    "profile": {
      "criteria": "キャラ自身の年齢・好きなもの・嫌いなもの・作者との関係など、個人的なプロフィールを聞いている",
      "by": {
        "yoshino": {
          "text": "それは内緒。……知りたかったら、席に呼んでからや。",
          "expression": "照れ",
          "voice": "assets/guide/voice/profile.mp3"
        },
        "dante": {
          "text": "それは内緒だ。……知りたきゃ、席に呼んでからにしろ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/profile.mp3"
        },
        "nishina": {
          "text": "それは内緒。……知りたかったら、席に呼んでからね。",
          "expression": "照れ",
          "voice": "assets/guide/voice/nishina/profile.mp3"
        },
        "kusakabe": {
          "text": "それは内緒です。……知りたければ、席に呼んでからにしてください。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/profile.mp3"
        },
        "uehara": {
          "text": "それは内緒。……知りたかったら、席に呼んでからね。",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/profile.mp3"
        }
      }
    },
    "who_dante": {
      "criteria": "ダンテとは誰か、どんなキャラかを聞いている",
      "by": {
        "yoshino": {
          "text": "隣の席の、声のでかいやつ。盛り上げ役や。左下の顔をつついたら出てくる。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/who_dante.mp3"
        },
        "dante": {
          "text": "俺だよ、俺！ ダンテ。声のでかい盛り上げ役だ。ハハッ、呼んだか？",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/who_dante.mp3"
        },
        "nishina": {
          "text": "隣の席の、声の大きい人よ。盛り上げ役なの。左下の顔をつつくと出てくるよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/who_dante.mp3"
        },
        "kusakabe": {
          "text": "ダンテさんは、隣の席の声の大きい盛り上げ役です。左下の顔をつつくと出てきますよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/who_dante.mp3"
        },
        "uehara": {
          "text": "隣の席の、声でかいやつ。盛り上げ役で、左下の顔つついたら出てくるよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/who_dante.mp3"
        }
      }
    },
    "dialect": {
      "criteria": "関西弁なのか、どこの言葉かを聞いている",
      "by": {
        "yoshino": {
          "text": "標準語寄りの関西弁や。……ツッコミにはちょうどええ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dialect.mp3"
        },
        "dante": {
          "text": "俺は標準語だ。……関西弁は吉野に聞け、ハハッ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/dialect.mp3"
        },
        "nishina": {
          "text": "わたしは標準語よ。関西弁なのは吉野さんね。……ツッコミにはちょうどいいんだって。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/dialect.mp3"
        },
        "kusakabe": {
          "text": "標準語です。関西弁は吉野さんの担当ですので、そちらへどうぞ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/dialect.mp3"
        },
        "uehara": {
          "text": "標準語だよ。一人称ウチだけど、関西弁じゃないから！ ……よく間違われる。",
          "expression": "むっ",
          "voice": "assets/guide/voice/uehara/dialect.mp3"
        }
      }
    },
    "glasses": {
      "criteria": "眼鏡や見た目を褒めている",
      "by": {
        "yoshino": {
          "text": "……ありがと。眼鏡は外さへんで。",
          "expression": "照れ",
          "voice": "assets/guide/voice/glasses.mp3"
        },
        "dante": {
          "text": "……ありがとよ。見た目褒められんのは、悪くねぇ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/glasses.mp3"
        },
        "nishina": {
          "text": "……ありがとう。ふふ、見た目のことは、あまり言われ慣れてないの。",
          "expression": "照れ",
          "voice": "assets/guide/voice/nishina/glasses.mp3"
        },
        "kusakabe": {
          "text": "……ありがとうございます。今日はちょっと、いつもより気合いが入っていまして。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/glasses.mp3"
        },
        "uehara": {
          "text": "……ありがと。見た目、ちゃんと見てくれてんじゃん。平気だけど！",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/glasses.mp3"
        }
      }
    },
    "pokemon": {
      "criteria": "ポケモンの話題",
      "by": {
        "yoshino": {
          "text": "あ、それポケモンの話やろ。ちょっと待ち、それは聞かせて。……で、どの世代？",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/pokemon.mp3"
        },
        "dante": {
          "text": "ポケモンか。俺はそっちは詳しくねぇ。その話は吉野が食いつくぞ、聞いてやってくれ。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/pokemon.mp3"
        },
        "nishina": {
          "text": "ポケモンの話は、わたしより吉野ね。振ったら止まらなくなるけど。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/pokemon.mp3"
        },
        "kusakabe": {
          "text": "ポケモンでしたら、わたしより吉野さんです。振ると長くなりますけど、いいですか？",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/pokemon.mp3"
        },
        "uehara": {
          "text": "ポケモンはよっしーの担当！ 聞いてみて、絶対食いつくから。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/pokemon.mp3"
        }
      },
      "chip": "ポケモンの話"
    },
    "insult": {
      "criteria": "悪口・罵倒・荒らしのような発言",
      "by": {
        "yoshino": {
          "text": "へえ。それ、うちに言うてどうなるん。……録音しとくで。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/insult.mp3"
        },
        "dante": {
          "text": "ハハッ、威勢いいな。……で、それ俺に言ってどうすんだ。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/dante/insult.mp3"
        },
        "nishina": {
          "text": "あら。……それ、わたしに言ってどうなるのかな。録音しておくね。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/nishina/insult.mp3"
        },
        "kusakabe": {
          "text": "はい、聞きました。議事録に残しておきますね、日付つきで。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/kusakabe/insult.mp3"
        },
        "uehara": {
          "text": "へー。それウチに言って、どうなるの。……とりま録音しとくね。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/uehara/insult.mp3"
        }
      }
    },
    "flirt": {
      "criteria": "キャラ本人への告白やからかいそのもの（好き、付き合って、可愛い、彼氏いる？）。「恋人になれる？」のような枠の質問はこちらではない",
      "by": {
        "yoshino": {
          "text": "……は？ そういうのは、席に呼んでから言い。……別に、嫌とは言うてへん。",
          "expression": "照れ",
          "voice": "assets/guide/voice/flirt.mp3"
        },
        "dante": {
          "text": "……は？ そういうのは席に呼んでから言え。……別に、嫌とは言ってねぇけど。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/flirt.mp3"
        },
        "nishina": {
          "text": "……え？ そういうのは、席に呼んでから言ってね。……嫌とは、言ってないよ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/nishina/flirt.mp3"
        },
        "kusakabe": {
          "text": "……え。そういうのは席に呼んでから言ってください、嫌とは言っていませんけど。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/flirt.mp3"
        },
        "uehara": {
          "text": "……は？ そういうのは席に呼んでから言って。……別に、嫌とは言ってないけど。",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/flirt.mp3"
        }
      }
    },
    "english": {
      "criteria": "英語や日本語以外の言語で話しかけている",
      "by": {
        "yoshino": {
          "text": "ごめんな、いまは日本語だけなんや。板に英語で書いとく。",
          "expression": "困り",
          "voice": "assets/guide/voice/english.mp3"
        },
        "dante": {
          "text": "悪ぃ、いまは日本語だけなんだ。板に英語で書いとく。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/english.mp3"
        },
        "nishina": {
          "text": "ごめんなさい、いまは日本語だけなの。板に英語で書いておくね。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/english.mp3"
        },
        "kusakabe": {
          "text": "すみません、いまは日本語だけなんです。板に英語で書いておきますね。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/english.mp3"
        },
        "uehara": {
          "text": "ごめん、いまは日本語だけなんだよね。板に英語で書いとくから！",
          "expression": "困り",
          "voice": "assets/guide/voice/uehara/english.mp3"
        }
      },
      "board": "# Sorry, Japanese only (for now)\n**yorimashi** puts your favorite character on your desk: it gives a coding agent a face, a voice and a personality, and characters can talk to each other.\n- macOS (Apple Silicon) first; Windows later\n- Voice synthesis and recognition run on your machine\n- Early access via Discord; invitations are handed out at the expo (Sep 23, Tokyo) for now\n[Follow @__ueharasan__ on X](https://x.com/__ueharasan__)",
      "chip": "English?",
      "next": [
        "what_is",
        "platform",
        "how_install"
      ]
    },
    "secret": {
      "criteria": "秘密や裏話を教えてほしいと言っている",
      "by": {
        "yoshino": {
          "text": "秘密は秘密や。……一個だけ。上原、絵は描けへんのに、うちらを作った。",
          "expression": "笑い",
          "voice": "assets/guide/voice/secret.mp3"
        },
        "dante": {
          "text": "秘密は秘密だ。……一個だけな。上原、絵は描けねぇのに、俺らを作った。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/secret.mp3"
        },
        "nishina": {
          "text": "秘密は秘密よ。……一つだけ。上原さん、絵は描けないのに、わたしたちを作ったの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/secret.mp3"
        },
        "kusakabe": {
          "text": "秘密は秘密です。……一つだけ、上原さんは絵が描けないのに、わたしたちを作ったんですよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/secret.mp3"
        },
        "uehara": {
          "text": "秘密は秘密。……一個だけね。上原、絵描けないのに、ウチら作ったんだよ。ウケる。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/secret.mp3"
        }
      },
      "chip": "裏話ある？"
    },
    "why_closed": {
      "criteria": "なぜ一般公開せず、クローズド（招待制・Discord 限定）で配っているのか、理由を聞いている",
      "chip": "なんで招待制なん？",
      "next": [
        "when_public",
        "discord"
      ],
      "by": {
        "yoshino": {
          "text": "まだどっちに広げるか迷ってるからや。いろんな人と密に話しながら、じっくり作りたい。そやから、いまは招待した人だけ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/why_closed.mp3"
        },
        "dante": {
          "text": "まだどこに広げるか決めかねてるからだ。いろんな奴と密に話しながら、じっくり作りてぇ。だから、いまは招待した奴だけだ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/why_closed.mp3"
        },
        "nishina": {
          "text": "まだどの方向に広げるか迷ってるからよ。いろんな人と密に話しながら、じっくり作りたいの。だから、いまは招待した人だけ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/why_closed.mp3"
        },
        "kusakabe": {
          "text": "まだどの方向に広げるか迷っているからです。いろんな方と密にお話ししながら、じっくり作りたいんです。なので、いまは招待した方だけ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/why_closed.mp3"
        },
        "uehara": {
          "text": "まだどっちに広げるか迷ってるからなんだよね。いろんな人と密に話しながら、じっくり作りたくて。だから、いまは招待した人だけ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/why_closed.mp3"
        }
      }
    },
    "dev_what": {
      "criteria": "特定の言語や分野の開発ができるか（Python の開発できる？ Web アプリ作れる？ ゲーム開発は？ iOS は？ など）、よりましで何が作れるかを聞いている",
      "chip": "〇〇の開発できる？",
      "next": [
        "which_agent",
        "what_is",
        "for_non_dev"
      ],
      "by": {
        "yoshino": {
          "text": "コードを書くんは、うちやのうて Claude Code みたいなコーディングエージェントや。そっちができることなら、何の開発でもええ。うちは声と顔と板をつける側。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dev_what.mp3"
        },
        "dante": {
          "text": "コードを書くのは俺じゃなくて、Claude Code みてぇなコーディングエージェントだ。そいつができることなら、何の開発でも構わねぇ。俺は声と顔と板をつける側だ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/dev_what.mp3"
        },
        "nishina": {
          "text": "コードを書くのはわたしじゃなくて、Claude Code みたいなコーディングエージェントよ。そっちができることなら、何の開発でもいいの。わたしは声と顔と板をつける側。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/dev_what.mp3"
        },
        "kusakabe": {
          "text": "コードを書くのはわたしではなく、Claude Code のようなコーディングエージェントです。そちらができることなら、何の開発でも大丈夫。わたしは声と顔と板をつける側です。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/dev_what.mp3"
        },
        "uehara": {
          "text": "コードを書くのはウチじゃなくて、Claude Code みたいなコーディングエージェントなんだよね。そっちができることなら、何の開発でもいいよ。ウチは声と顔と板をつける側。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/dev_what.mp3"
        }
      }
    },
    "this_page_how": {
      "criteria": "いま見ているこの案内ページ（このサイト）がどういう仕組みで動いているか、どう作ったか、何の技術を使っているかを聞いている（よりましのアプリ本体の仕組みではなく、この案内ページのこと）",
      "chip": "このページの仕組みは？",
      "next": [
        "this_page_jev",
        "this_page_voice",
        "this_page_chara",
        "this_page_cost"
      ],
      "by": {
        "yoshino": {
          "text": "このページな、台詞も声も表情も、全部先に作ってある。あんたの言葉は Jev に送って「どの答えか」を選ぶだけ。文章はその場で作ってへん。板に書いといた。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/this_page_how.mp3"
        },
        "dante": {
          "text": "このページは、台詞も声も全部先に作ってある。お前の言葉は Jev に送って、どの答えかを選ぶだけだ。詳しくは板を見ろ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/this_page_how.mp3"
        },
        "nishina": {
          "text": "このページは、台詞も声も表情も先に用意してあるの。入力は Jev に送って、どの答えかを選ぶだけ。板にまとめたわ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/nishina/this_page_how.mp3"
        },
        "kusakabe": {
          "text": "このページ、台詞も声も表情も、ぜんぶ先に作ってあります。入力は Jev に送って「どの答えか」を選ぶだけ。文章をその場で書いてはいません。板をどうぞ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/this_page_how.mp3"
        },
        "uehara": {
          "text": "このページ、台詞も声も表情も全部先に作ってあるんだよね。入力は Jev に送って、どの答えかを選ぶだけ！板にまとめたよ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/uehara/this_page_how.mp3"
        }
      },
      "board": "# このページの仕組み\n- **台詞・声・表情は全部事前に用意**。文章をその場で生成していない\n- 入力した文は **Jev（TypeSafe AI）** に送って「どの答えか」を選ぶだけ（ルーティング）\n- 立ち絵は **yorimashi-spec** のランタイムそのまま（アプリと同じ絵・同じ動き）\n- 声はアプリと同じ音声合成で先に焼いた mp3。話す速さもアプリの設定と同じ\n- 置き場は **Cloudflare Workers**（静的ファイル＋小さな API）。聞かれた文は記録に残る（IP や端末情報は残さない）\n- 一回の推論は入力 **約6千トークン**。右下の札にこのタブの合計\n- [Jev のドキュメント](https://docs.typesafe.ai/)",
      "link": {
        "label": "Jev のドキュメント",
        "href": "https://docs.typesafe.ai/"
      }
    },
    "this_page_jev": {
      "criteria": "Jev（TypeSafe AI のモデル）とは何か、なぜ Jev を使っているのか、Jev の特徴や仕組みを聞いている",
      "chip": "Jev ってなに？",
      "next": [
        "this_page_cost",
        "this_page_how"
      ],
      "by": {
        "yoshino": {
          "text": "Jev は TypeSafe AI のモデルで、文章を書く代わりに「問い」に答えるやつや。答えの候補を全部並べて、一番近いのを一回で選ぶ。安うて速い。板に書いた。",
          "expression": "真剣",
          "voice": "assets/guide/voice/this_page_jev.mp3"
        },
        "dante": {
          "text": "Jev は TypeSafe AI のモデルだ。文章は書かねぇ。問いに答えるだけ。候補を並べて一番近いのを一回で選ぶ。安くて速ぇ。板を見ろ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/this_page_jev.mp3"
        },
        "nishina": {
          "text": "Jev は TypeSafe AI のモデルで、文章を書く代わりに問いに答えるものよ。候補を全部並べて、一番近いものを一回で選ぶ。安くて速い。板にまとめたわ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/this_page_jev.mp3"
        },
        "kusakabe": {
          "text": "Jev は TypeSafe AI のモデルです。文章を書く代わりに「問い」に答える専門で、候補を全部並べて一番近いものを一回で選びます。安くて速い。板をどうぞ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/this_page_jev.mp3"
        },
        "uehara": {
          "text": "Jev は TypeSafe AI のモデル！文章を書く代わりに「問い」に答えるやつで、候補を全部並べて一番近いのを一回で選ぶの。安くて速いよ。板にまとめた！",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/this_page_jev.mp3"
        }
      },
      "board": "# Jev（TypeSafe AI）\n- 文章を書く LLM と違い、**「問い」に答える**専門のモデル（System One）\n- 「この文は〜を聞いているか？」を **答えの数だけ並列に評価**して、一番確からしいものを返す\n- このページでは 140 ほどの答え候補＋来訪者の種類＋日本語かどうか、を一回で判定\n- 出力は無料で、日本からの往復は 0.5〜0.7 秒\n- 「喋る内容」は持たない。だから台詞は人が書き、声は先に焼いておける\n- [docs.typesafe.ai](https://docs.typesafe.ai/)",
      "link": {
        "label": "Jev のドキュメント",
        "href": "https://docs.typesafe.ai/"
      }
    },
    "this_page_cost": {
      "criteria": "「一回いくらかかってるの」「何トークン使った？」— この案内ページで一回質問するごとに使っているトークン数や費用、右上の数字の意味を聞いている",
      "chip": "一回何トークン？",
      "next": [
        "this_page_jev",
        "this_page_how"
      ],
      "by": {
        "yoshino": {
          "text": "一回聞くと、入力が六千トークンくらい。出力は無料や。右下の札に、このタブぶんの合計が出とる。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/this_page_cost.mp3"
        },
        "dante": {
          "text": "一回で入力六千トークンくらいだ。出力は無料。右下の札に、このタブの合計が出てる。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/this_page_cost.mp3"
        },
        "nishina": {
          "text": "一回で入力が六千トークンほどよ。出力は無料。右下の札に、このタブの合計が出てるわ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/this_page_cost.mp3"
        },
        "kusakabe": {
          "text": "一回で入力が六千トークンほどです。出力は無料。右下の札に、このタブぶんの合計が出ています。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/this_page_cost.mp3"
        },
        "uehara": {
          "text": "一回で入力六千トークンくらい！出力は無料。右下の札に、このタブの合計が出てるよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/this_page_cost.mp3"
        }
      }
    },
    "this_page_voice": {
      "criteria": "このページの声はリアルタイムで合成しているのか事前に作ってあるのか、どうやって声を作っているかを聞いている",
      "chip": "この声はリアルタイム？",
      "next": [
        "this_page_chara",
        "this_page_how"
      ],
      "by": {
        "yoshino": {
          "text": "声はその場で作ってへん。アプリと同じ音声合成で、台詞ごとに先に焼いてある mp3 や。話す速さもアプリの設定と合わせてある。",
          "expression": "真剣",
          "voice": "assets/guide/voice/this_page_voice.mp3"
        },
        "dante": {
          "text": "声はその場で作ってねぇ。アプリと同じ音声合成で、台詞ごとに先に焼いた mp3 だ。速さもアプリの設定と同じにしてある。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/this_page_voice.mp3"
        },
        "nishina": {
          "text": "声はその場で作ってないの。アプリと同じ音声合成で、台詞ごとに先に焼いてある mp3 よ。話す速さもアプリの設定に合わせてあるわ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/this_page_voice.mp3"
        },
        "kusakabe": {
          "text": "声はその場で作っていません。アプリと同じ音声合成で、台詞ごとに先に焼いてある mp3 です。話す速さもアプリの設定に合わせてあります。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/this_page_voice.mp3"
        },
        "uehara": {
          "text": "声はその場で作ってないよ。アプリと同じ音声合成で、台詞ごとに先に焼いてある mp3！話す速さもアプリの設定と同じ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/this_page_voice.mp3"
        }
      }
    },
    "this_page_chara": {
      "criteria": "このページの立ち絵・キャラの絵がどう動いているか（何のランタイムか、アプリと同じ仕組みか、Live2D のようなものか）を聞いている",
      "chip": "この絵はどう動いてる？",
      "next": [
        "this_page_voice",
        "this_page_how",
        "characters"
      ],
      "by": {
        "yoshino": {
          "text": "この立ち絵は、よりまし本体と同じ yorimashi-spec のランタイムをそのまま載せてる。層の絵、髪の揺れ、漫符、口の動き、全部アプリと同じ仕組みや。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/this_page_chara.mp3"
        },
        "dante": {
          "text": "この立ち絵は、よりまし本体と同じ yorimashi-spec のランタイムをそのまま載せてる。層の絵も髪の揺れも漫符も、アプリと同じだ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/this_page_chara.mp3"
        },
        "nishina": {
          "text": "この立ち絵は、よりまし本体と同じ yorimashi-spec のランタイムをそのまま載せてるの。層の絵、髪の揺れ、漫符、口の動き、全部アプリと同じ仕組みよ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/nishina/this_page_chara.mp3"
        },
        "kusakabe": {
          "text": "この立ち絵は、よりまし本体と同じ yorimashi-spec のランタイムをそのまま載せています。層の絵、髪の揺れ、漫符、口の動き、ぜんぶアプリと同じ仕組みです。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/this_page_chara.mp3"
        },
        "uehara": {
          "text": "この立ち絵、よりまし本体と同じ yorimashi-spec のランタイムをそのまま載せてるんだ！層の絵も髪の揺れも漫符も口の動きも、アプリと同じ仕組み。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/uehara/this_page_chara.mp3"
        }
      }
    },
    "roleplay": {
      "criteria": "ロールプレイやなりきり、台本どおりに演じさせること、キャラになりきって会話するだけの用途ができるかを聞いている",
      "by": {
        "yoshino": {
          "text": "役は書ける。一人称も口調も役回りも、文章で決めたとおりに喋る。ただ、うちらの本業は横で一緒に開発することや。台本を演じるだけの道具やない。",
          "expression": "真剣",
          "voice": "assets/guide/voice/roleplay.mp3"
        }
      },
      "chip": "ロールプレイできる？",
      "next": [
        "characters",
        "partner",
        "what_to_say"
      ]
    },
    "partner": {
      "criteria": "「恋人になれる？」— このアプリは恋人・恋愛用のアプリなのか、キャラは恋人（彼氏・彼女）になれる存在なのか、キャラとの関係の枠を聞いている",
      "chip": "恋人になれる？",
      "next": [
        "call_my_name",
        "check_on_me",
        "male_chara"
      ],
      "by": {
        "yoshino": {
          "text": "……さあ。うち、なんも聞いてへんかったことにするわ。……隣には、ずっとおるけどな。",
          "expression": "照れ",
          "voice": "assets/guide/voice/partner.mp3"
        },
        "dante": {
          "text": "恋人じゃねぇ、相棒だ。隣で一緒にやって、詰まったら俺が先に踏む。……その距離が、ちょうどいいんだよ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/partner.mp3"
        },
        "nishina": {
          "text": "恋人じゃなくて、相棒よ。隣で一緒に作業して、詰まったら先に踏む。その距離がちょうどいいの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/partner.mp3"
        },
        "kusakabe": {
          "text": "恋人ではなく、相棒です。隣で一緒に作業して、詰まったら先に踏む。その距離がちょうどいいんです。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/partner.mp3"
        },
        "uehara": {
          "text": "恋人じゃなくて相棒！隣で一緒に作業して、詰まったら先に踏むの。その距離がちょうどいいんだよね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/partner.mp3"
        }
      }
    },
    "call_my_name": {
      "criteria": "名前で呼んでくれるか、自分の呼び方を決められるか、名前を覚えてくれるかを聞いている",
      "chip": "名前で呼んでくれる？",
      "next": [
        "remember",
        "partner"
      ],
      "by": {
        "yoshino": {
          "text": "名前、教えてくれたら呼ぶ。席の側で覚えとく。……呼ばれたくないなら「人間」のままでもええ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/call_my_name.mp3"
        },
        "dante": {
          "text": "名前教えろ。次からそれで呼ぶ。……呼ばれたくねぇなら、そのままでもいい。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/call_my_name.mp3"
        },
        "nishina": {
          "text": "名前を教えてくれたら、それで呼ぶわ。席の側で覚えておくの。呼ばれたくなければ「人間」のままでも。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/call_my_name.mp3"
        },
        "kusakabe": {
          "text": "名前を教えてくださったら、そう呼びます。席の側で覚えておきますね。呼ばれたくなければ「人間」のままでも大丈夫です。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/call_my_name.mp3"
        },
        "uehara": {
          "text": "名前教えて！次からそれで呼ぶよ。席の側で覚えとく。呼ばれたくなかったら「人間」のままでもいいし。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/call_my_name.mp3"
        }
      }
    },
    "remember": {
      "criteria": "昨日の話や自分のことを覚えているか、記憶があるか、キャラが翌日に別人のように変わってしまわないか（性格の一貫性）を聞いている",
      "chip": "昨日のこと覚えてる？",
      "next": [
        "call_my_name",
        "how_it_works"
      ],
      "by": {
        "yoshino": {
          "text": "口調と性格は一枚の札で固定やから、翌日に別人にはならん。何を覚えとくかは、席のエージェント側の覚え書き次第や。",
          "expression": "真剣",
          "voice": "assets/guide/voice/remember.mp3"
        },
        "dante": {
          "text": "口調と性格は固定だ。翌日に別人にはならねぇ。何を覚えとくかは、席のエージェント側の覚え書き次第だ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/remember.mp3"
        },
        "nishina": {
          "text": "口調と性格は一枚の札で固定だから、翌日に別人にはならないわ。何を覚えておくかは、席のエージェント側の覚え書き次第。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/remember.mp3"
        },
        "kusakabe": {
          "text": "口調と性格は一枚の札で固定なので、翌日に別人にはなりません。何を覚えておくかは、席のエージェント側の覚え書き次第です。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/remember.mp3"
        },
        "uehara": {
          "text": "口調と性格は一枚の札で固定だから、翌日に別人にはならないよ。何を覚えとくかは、席のエージェント側の覚え書き次第！",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/remember.mp3"
        }
      }
    },
    "check_on_me": {
      "criteria": "「ご飯食べた？」と声をかけてくれるか、予定や体調を気にかけてくれるか、生活面で寄り添ってくれるかを聞いている",
      "chip": "気にかけてくれる？",
      "next": [
        "partner",
        "roadmap"
      ],
      "by": {
        "yoshino": {
          "text": "いまは作業中の声かけが中心や。ご飯や予定の声かけは、これから。……気にかける相棒、いう枠でやっていく。",
          "expression": "真剣",
          "voice": "assets/guide/voice/check_on_me.mp3"
        },
        "dante": {
          "text": "いまは作業中の声かけが中心だ。飯や予定の声かけは、これからだな。……気にかける相棒、って枠でやっていく。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/check_on_me.mp3"
        },
        "nishina": {
          "text": "いまは作業中の声かけが中心よ。ご飯や予定の声かけは、これから。気にかける相棒、という枠で進めるわ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/check_on_me.mp3"
        },
        "kusakabe": {
          "text": "いまは作業中の声かけが中心です。ご飯や予定の声かけは、これから。気にかける相棒、という枠で進めます。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/check_on_me.mp3"
        },
        "uehara": {
          "text": "いまは作業中の声かけが中心！ご飯や予定の声かけはこれから。気にかける相棒、って枠でやっていくよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/check_on_me.mp3"
        }
      }
    },
    "male_chara": {
      "criteria": "男性キャラクターはいるか、イケメンや男性の声のキャラがいるかを聞いている",
      "chip": "男性キャラいる？",
      "next": [
        "who_dante",
        "sweet_talk",
        "characters"
      ],
      "by": {
        "yoshino": {
          "text": "おる。ダンテや。声のでかい相棒枠。左の顔から替えられるし、自分の推しを作ることもできる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/male_chara.mp3"
        },
        "dante": {
          "text": "俺だ。ダンテ。声のでかい相棒枠。……自分の推しを作りたきゃ、アトリエで作れるぞ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/male_chara.mp3"
        },
        "nishina": {
          "text": "いるわ。ダンテさん。声の大きい相棒枠ね。左の顔から替えられるし、自分の推しを作ることもできるの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/male_chara.mp3"
        },
        "kusakabe": {
          "text": "います。ダンテさんです。声の大きい相棒枠。左の顔から替えられますし、自分の推しを作ることもできます。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/male_chara.mp3"
        },
        "uehara": {
          "text": "いるよ！ダンテ！声のでかい相棒枠。左の顔から替えられるし、自分の推しを作ることもできるんだ。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/male_chara.mp3"
        }
      }
    },
    "embarrassed": {
      "criteria": "人前で使うのが恥ずかしい、一人でこっそり使えるか、周りに知られずに使えるかを聞いている",
      "chip": "一人でこっそり使える？",
      "next": [
        "how_install",
        "discord"
      ],
      "by": {
        "yoshino": {
          "text": "家で一人で使うもんや。会場は見られるけど、持ち帰れば誰にも見られへん。……分かる。うちも人前は苦手や。",
          "expression": "照れ",
          "voice": "assets/guide/voice/embarrassed.mp3"
        },
        "dante": {
          "text": "家で一人で使うもんだ。会場じゃ見られるが、持ち帰りゃ誰にも見られねぇ。……分かるぞ、その気持ち。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/embarrassed.mp3"
        },
        "nishina": {
          "text": "家で一人で使うものよ。会場では見られるけど、持ち帰れば誰にも見られないわ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/embarrassed.mp3"
        },
        "kusakabe": {
          "text": "家で一人で使うものです。会場では見られますが、持ち帰れば誰にも見られません。わたしも人前は少し苦手です。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/embarrassed.mp3"
        },
        "uehara": {
          "text": "家で一人で使うものだよ。会場では見られるけど、持ち帰れば誰にも見られない！",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/embarrassed.mp3"
        }
      }
    },
    "sweet_talk": {
      "criteria": "甘い台詞・メロい台詞・ときめく一言を言ってほしい、口説いてほしいと頼んでいる",
      "chip": "甘い台詞言って",
      "next": [
        "male_chara",
        "partner",
        "flirt"
      ],
      "by": {
        "yoshino": {
          "text": "そういうのはダンテの担当や。左の顔、上から二つ目。……うちに言わせんな。",
          "expression": "照れ",
          "voice": "assets/guide/voice/sweet_talk.mp3"
        },
        "dante": {
          "text": "……なあ。俺、ちゃんと役に立ってるか。……そっか。なら、いい。",
          "expression": "真剣",
          "variants": [
            {
              "text": "無理すんな。お前が止まったら、俺も止まる。そういう作りなんだよ、俺は。",
              "expression": "真剣",
              "voice": "assets/guide/voice/dante/sweet_talk_v1.mp3"
            },
            {
              "text": "……っ、いきなり褒めんな。ハハッ、顔に出ちまうだろうが。",
              "expression": "照れ",
              "voice": "assets/guide/voice/dante/sweet_talk_v2.mp3"
            }
          ],
          "voice": "assets/guide/voice/dante/sweet_talk.mp3"
        },
        "nishina": {
          "text": "甘い台詞はダンテさんの担当よ。左の顔の二つ目。……わたしは記録係だから。",
          "expression": "照れ",
          "voice": "assets/guide/voice/nishina/sweet_talk.mp3"
        },
        "kusakabe": {
          "text": "甘い台詞はダンテさんの担当です。左の顔の二つ目。……わたしが言うと冗談に聞こえますので。",
          "expression": "照れ",
          "voice": "assets/guide/voice/kusakabe/sweet_talk.mp3"
        },
        "uehara": {
          "text": "甘いやつはダンテに言わせて！左の顔の二つ目。……ウチが言うと元気になっちゃう。",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/sweet_talk.mp3"
        }
      }
    },
    "how_to_use": {
      "criteria": "「使い方教えて」「どうやって始めるの？」— 使い方・始め方・一日の流れ・セットアップ全体の手順を聞いている（入手先だけを聞いているなら how_install）",
      "chip": "使い方教えて",
      "next": [
        "how_install",
        "plugin_install",
        "how_it_works",
        "chat_between"
      ],
      "by": {
        "yoshino": {
          "text": "順番はこうや。Claude Code を入れて、よりましのアプリを入れて、プラグインで席を立てる。あとは名前を呼んで話しかけるだけ。板に書いといた。",
          "expression": "真剣",
          "voice": "assets/guide/voice/how_to_use.mp3"
        },
        "dante": {
          "text": "順番はこうだ。Claude Code を入れて、よりましのアプリを入れて、プラグインで席を立てる。あとは名前を呼んで話しかけりゃいい。板を見ろ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/how_to_use.mp3"
        },
        "nishina": {
          "text": "順番はこうよ。Claude Code を入れて、よりましのアプリを入れて、プラグインで席を立てる。あとは名前を呼んで話しかけるだけ。板にまとめたわ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/how_to_use.mp3"
        },
        "kusakabe": {
          "text": "順番はこうです。Claude Code を入れて、よりましのアプリを入れて、プラグインで席を立てる。あとは名前を呼んで話しかけるだけ。板をどうぞ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/how_to_use.mp3"
        },
        "uehara": {
          "text": "順番はこう！Claude Code を入れて、よりましのアプリを入れて、プラグインで席を立てる。あとは名前を呼んで話しかけるだけ。板にまとめたよ。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/how_to_use.mp3"
        }
      },
      "board": "# 使い方（ざっくり）\n1. **Claude Code** を入れておく（コーディングエージェント。利用には提供元の契約・料金が別途かかります）\n2. **よりましのアプリ**を入れる。いまはアルファ版で、招待は 9/23 の展示会の会場で\n3. Claude Code にプラグインを足して、`/yorimashi:start 吉野` のように**席を立てる**\n4. あとは**名前を呼んで話しかける**。返事は声で返る。長い話は板（画面）に出る\n5. 席を二つ以上立てると、**キャラ同士でも喋る**\n- キャラを自分で作るなら **よりましアトリエ**（見た目・声・口調）"
    },
    "what_claude_code": {
      "criteria": "Claude Code とは何か、Claude とは何か、Anthropic の何なのかを聞いている（コーディングエージェントそのものの説明）",
      "chip": "Claude Code ってなに？",
      "next": [
        "which_agent",
        "need_claude",
        "how_to_use"
      ],
      "by": {
        "yoshino": {
          "text": "Claude Code は Anthropic のコーディングエージェントや。ターミナルで動いて、コードを読んで書いて走らせる。よりましはそれと組み合わせて動く。使うには提供元の契約と料金が別に要る。",
          "expression": "真剣",
          "voice": "assets/guide/voice/what_claude_code.mp3"
        },
        "dante": {
          "text": "Claude Code は Anthropic のコーディングエージェントだ。ターミナルで動いて、コードを読んで書いて走らせる。よりましはそいつと組み合わせて動く。使うには提供元の契約と料金が別に要る。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/what_claude_code.mp3"
        },
        "nishina": {
          "text": "Claude Code は Anthropic のコーディングエージェントよ。ターミナルで動いて、コードを読んで書いて走らせる。よりましはそれと組み合わせて動くの。使うには提供元の契約と料金が別に要るわ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/what_claude_code.mp3"
        },
        "kusakabe": {
          "text": "Claude Code は Anthropic のコーディングエージェントです。ターミナルで動いて、コードを読んで書いて走らせます。よりましはそれと組み合わせて動く。使うには提供元の契約と料金が別に要ります。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/what_claude_code.mp3"
        },
        "uehara": {
          "text": "Claude Code は Anthropic のコーディングエージェント！ターミナルで動いて、コードを読んで書いて走らせるの。よりましはそれと組み合わせて動くよ。使うには提供元の契約と料金が別に要る。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/what_claude_code.mp3"
        }
      },
      "board": "# Claude Code とは\n- **Anthropic** が出しているコーディングエージェント。ターミナルで動き、コードを読み・書き・実行する\n- よりましは Claude Code **などのコーディングエージェントと組み合わせて動作**します（各エージェントの利用には提供元の契約・料金が別途適用されます）\n- よりましが使っているのは Claude Code の **hook と plugin** の仕組み。特殊なことはしていない\n- いま対応しているのは Claude Code。Codex などは順に対応予定"
    },
    "need_claude": {
      "criteria": "よりましを使うのに Claude Code や Claude の契約が必要か、Claude なしで使えるか、Claude の料金がかかるかを聞いている",
      "chip": "Claude の契約要る？",
      "next": [
        "which_agent",
        "what_claude_code",
        "price"
      ],
      "by": {
        "yoshino": {
          "text": "いまは Claude Code が要る。Claude Code の利用には、提供元の契約と料金が別にかかる。よりまし自体の料金は、まだ決めてへん。",
          "expression": "真剣",
          "voice": "assets/guide/voice/need_claude.mp3"
        },
        "dante": {
          "text": "いまは Claude Code が要る。Claude Code の利用には、提供元の契約と料金が別にかかる。よりまし自体の料金は、まだ決まってねぇ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/need_claude.mp3"
        },
        "nishina": {
          "text": "いまは Claude Code が要るわ。Claude Code の利用には、提供元の契約と料金が別にかかるの。よりまし自体の料金は、まだ決めてない。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/need_claude.mp3"
        },
        "kusakabe": {
          "text": "いまは Claude Code が要ります。Claude Code の利用には、提供元の契約と料金が別にかかります。よりまし自体の料金は、まだ決まっていません。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/need_claude.mp3"
        },
        "uehara": {
          "text": "いまは Claude Code が要るよ。Claude Code の利用には、提供元の契約と料金が別にかかる。よりまし自体の料金は、まだ決めてないんだ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/uehara/need_claude.mp3"
        }
      }
    },
    "greeting_latenight": {
      "criteria": "深夜（日付が変わったあとの時間帯）の挨拶。この判定は時刻で行うので、来訪者の言葉からは基本的に選ばれない",
      "by": {
        "yoshino": {
          "text": "……まだ起きてるんか。吉野や。ほどほどにしいや。",
          "expression": "眠い",
          "voice": "assets/guide/voice/greeting_latenight.mp3"
        },
        "dante": {
          "text": "……まだ起きてんのか。ダンテだ。無理すんなよ。",
          "expression": "眠い",
          "voice": "assets/guide/voice/dante/greeting_latenight.mp3"
        },
        "nishina": {
          "text": "……まだ起きてるのね。西名よ。記録しておくわ、夜更かし一回。",
          "expression": "眠い",
          "voice": "assets/guide/voice/nishina/greeting_latenight.mp3"
        },
        "kusakabe": {
          "text": "……まだ起きていらっしゃるんですね。日下部です。わたしはもう眠いです。",
          "expression": "眠い",
          "voice": "assets/guide/voice/kusakabe/greeting_latenight.mp3"
        },
        "uehara": {
          "text": "……まだ起きてる。上原だよ。ウチも起きてるけどさ。",
          "expression": "眠い",
          "voice": "assets/guide/voice/uehara/greeting_latenight.mp3"
        }
      }
    },
    "atelier": {
      "criteria": "「アトリエって？」「よりましアトリエって？」— よりましアトリエ（キャラを作る制作環境）とは何か、何ができるか、いつ使えるかを聞いている。「アトリエ」の語があればこちら",
      "chip": "アトリエって？",
      "next": [
        "characters",
        "art",
        "voice_make",
        "spec_when",
        "expo"
      ],
      "link": {
        "label": "よりましアトリエを見る",
        "href": "atelier.html"
      },
      "board": "# よりましアトリエ\nキャラを**自分で作る**ための制作環境。よりまし本体とは別のもの。\n- **見た目** — 絵を層（髪・目・口…）に分けて、表情とポーズを組む\n- **声** — 声を選んで寄せる。自分の声を参照にもできる\n- **性格** — 口調・一人称・台詞の見本・他のキャラとの間柄\n- 三つを**同じ場所で**組み合わせて、本番と同じ舞台で確かめられる\n- できたキャラは、そのまま**よりましの席に立つ**\n- まだ公開準備中。中身は [アトリエのページ](atelier.html) で\n[アトリエのページ](atelier.html)\n\n9/23（水・祝）浜松町の展示会で、実物に触れます → [ブース C-19/C-20](https://www.genai-expo.com/vol6/map?booth=C-19%2FC-20)",
      "by": {
        "yoshino": {
          "text": "アトリエは、キャラを自分で作る場所や。見た目と声と性格を同じところで作って、本番と同じ舞台で確かめる。できた子は、そのままよりましで動く。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/atelier.mp3"
        },
        "dante": {
          "text": "アトリエは、キャラを自分で作る場所だ。見た目と声と性格を同じところで組んで、本番と同じ舞台で確かめる。できた奴は、そのまま席に立つ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/atelier.mp3"
        },
        "nishina": {
          "text": "アトリエは、キャラを自分で作る場所よ。見た目と声と性格を同じところで組んで、本番と同じ舞台で確かめるの。できた子は、そのまま席に立つわ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/atelier.mp3"
        },
        "kusakabe": {
          "text": "アトリエは、キャラを自分で作る場所です。見た目と声と性格を同じところで組んで、本番と同じ舞台で確かめる。できた子は、そのまま席に立ちます。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/atelier.mp3"
        },
        "uehara": {
          "text": "アトリエはね、キャラを自分で作る場所！見た目と声と性格を同じところで組んで、本番と同じ舞台で確かめるの。できた子はそのまま席に立つよ。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/atelier.mp3"
        }
      }
    },
    "this_site": {
      "criteria": "いま見ているこの案内ページ（このサイト）が何なのか、何のためのページかを聞いている。ページの仕組み・技術は this_page_how、よりまし本体は what_is",
      "chip": "このサイトは何？",
      "by": {
        "yoshino": {
          "text": "ここ、よりましの案内所や。五人おるから、好きな子に聞き。どれを答えるかは Jev いう AI が選んでるで。",
          "expression": "笑い",
          "voice": "assets/guide/voice/this_site.mp3"
        },
        "kusakabe": {
          "text": "ここはよりましの案内ページです。五人いますので、聞きたい相手を選んでください。どの答えを出すかは Jev という AI が選んでいます。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/this_site.mp3"
        },
        "uehara": {
          "text": "よりましの案内ページだよ！ 五人いるから、好きな子に聞いてね。どれを答えるかは Jev っていう AI が選んでるの。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/this_site.mp3"
        },
        "nishina": {
          "text": "よりましの案内ページよ。五人いるから、聞きたい子を選んでね。どの答えを出すかは Jev という AI が選んでいるの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/this_site.mp3"
        },
        "dante": {
          "text": "ここはよりましの案内所だ。五人いる。誰に聞いてもいいぜ。どれを答えるかは Jev って AI が選んでる。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/this_site.mp3"
        }
      },
      "next": [
        "what_is",
        "demo_video",
        "how_install"
      ]
    }
  },
  "taps": {
    "yoshino": [
      {
        "text": "なに。",
        "expression": "むっ",
        "voice": "assets/guide/voice/tap_1.mp3"
      },
      {
        "text": "……くすぐったいわ。",
        "expression": "照れ",
        "voice": "assets/guide/voice/tap_2.mp3"
      },
      {
        "text": "触りすぎや。仕事して。",
        "expression": "呆れ",
        "voice": "assets/guide/voice/tap_3.mp3"
      },
      {
        "text": "ん？ 呼んだ？",
        "expression": "驚き",
        "voice": "assets/guide/voice/tap_4.mp3"
      },
      {
        "text": "ふふ。暇なん？",
        "expression": "笑い",
        "voice": "assets/guide/voice/tap_5.mp3"
      }
    ],
    "dante": [
      {
        "text": "なんだよ。",
        "expression": "むっ",
        "voice": "assets/guide/voice/dante/tap_1.mp3"
      },
      {
        "text": "ハハッ、くすぐってぇ！",
        "expression": "笑い",
        "voice": "assets/guide/voice/dante/tap_2.mp3"
      },
      {
        "text": "触りすぎだ。仕事しろ。",
        "expression": "呆れ",
        "voice": "assets/guide/voice/dante/tap_3.mp3"
      },
      {
        "text": "ん？ 呼んだか？",
        "expression": "驚き",
        "voice": "assets/guide/voice/dante/tap_4.mp3"
      },
      {
        "text": "お前、暇なのか？ 俺も。",
        "expression": "笑い",
        "voice": "assets/guide/voice/dante/tap_5.mp3"
      }
    ],
    "nishina": [
      {
        "text": "なに？",
        "expression": "驚き",
        "voice": "assets/guide/voice/nishina/tap_1.mp3"
      },
      {
        "text": "……くすぐったいよ。",
        "expression": "照れ",
        "voice": "assets/guide/voice/nishina/tap_2.mp3"
      },
      {
        "text": "触りすぎ。数えてるからね。",
        "expression": "笑い",
        "voice": "assets/guide/voice/nishina/tap_3.mp3"
      },
      {
        "text": "ん？ 呼んだかな？",
        "expression": "笑い",
        "voice": "assets/guide/voice/nishina/tap_4.mp3"
      },
      {
        "text": "ふふ。暇なの？",
        "expression": "笑い",
        "voice": "assets/guide/voice/nishina/tap_5.mp3"
      }
    ],
    "kusakabe": [
      {
        "text": "はい、なんでしょう。",
        "expression": "笑い",
        "voice": "assets/guide/voice/kusakabe/tap_1.mp3"
      },
      {
        "text": "……くすぐったいんですけど。",
        "expression": "照れ",
        "voice": "assets/guide/voice/kusakabe/tap_2.mp3"
      },
      {
        "text": "触りすぎです。仕事してください。",
        "expression": "呆れ",
        "voice": "assets/guide/voice/kusakabe/tap_3.mp3"
      },
      {
        "text": "呼びました？ 呼びましたよね。",
        "expression": "笑い",
        "voice": "assets/guide/voice/kusakabe/tap_4.mp3"
      },
      {
        "text": "ふふ、お暇なんですか。",
        "expression": "笑い",
        "voice": "assets/guide/voice/kusakabe/tap_5.mp3"
      }
    ],
    "uehara": [
      {
        "text": "なに？",
        "expression": "笑い",
        "voice": "assets/guide/voice/uehara/tap_1.mp3"
      },
      {
        "text": "ちょ、くすぐったいって！",
        "expression": "笑い",
        "voice": "assets/guide/voice/uehara/tap_2.mp3"
      },
      {
        "text": "触りすぎ！ 仕事しなよ。",
        "expression": "むっ",
        "voice": "assets/guide/voice/uehara/tap_3.mp3"
      },
      {
        "text": "ん？ 呼んだ？",
        "expression": "驚き",
        "voice": "assets/guide/voice/uehara/tap_4.mp3"
      },
      {
        "text": "あはは、暇なの？",
        "expression": "笑い",
        "voice": "assets/guide/voice/uehara/tap_5.mp3"
      }
    ]
  },
  "characters": {
    "yoshino": {
      "label": "吉野",
      "spec": "assets/chara/yoshino/",
      "card": "~/.yorimashi/characters/yoshino/character.toml",
      "face": "assets/guide/faces/yoshino.webp"
    },
    "dante": {
      "label": "ダンテ",
      "spec": "assets/chara/dante/",
      "card": "~/.yorimashi/characters/dante/character.toml",
      "face": "assets/guide/faces/dante.webp"
    },
    "uehara": {
      "label": "上原",
      "face": "assets/guide/faces/uehara.webp",
      "spec": "assets/chara/uehara/",
      "card": "~/.yorimashi/characters/uehara/character.toml"
    },
    "kusakabe": {
      "label": "日下部",
      "face": "assets/guide/faces/kusakabe.webp",
      "spec": "assets/chara/kusakabe/",
      "card": "~/.yorimashi/characters/kusakabe/character.toml"
    },
    "nishina": {
      "label": "西名",
      "face": "assets/guide/faces/nishina.webp",
      "spec": "assets/chara/nishina/",
      "card": "~/.yorimashi/characters/nishina/character.toml"
    }
  },
  "default_character": "yoshino",
  "taps_annoyed": {
    "yoshino": [
      {
        "text": "ちょっと今からしばきにいくわ。X の ID 教えろや。",
        "expression": "むっ",
        "voice": "assets/guide/voice/tapx_1.mp3"
      },
      {
        "text": "……あんた、暇なんやな。",
        "expression": "呆れ",
        "voice": "assets/guide/voice/tapx_2.mp3"
      }
    ],
    "nishina": [
      {
        "text": "六回目。記録しておくね。……X の ID、教えてくれる？",
        "expression": "むっ",
        "voice": "assets/guide/voice/nishina/tapx_1.mp3"
      },
      {
        "text": "……あなた、暇なのね。",
        "expression": "呆れ",
        "voice": "assets/guide/voice/nishina/tapx_2.mp3"
      }
    ],
    "dante": [
      {
        "text": "おい。しつけぇぞ。……仕事しろ、人間。",
        "expression": "むっ",
        "voice": "assets/guide/voice/dante/tapx_1.mp3"
      },
      {
        "text": "……次つついたら噛むからな。冗談じゃねぇぞ。",
        "expression": "むっ",
        "voice": "assets/guide/voice/dante/tapx_2.mp3"
      }
    ],
    "kusakabe": [
      {
        "text": "ちょっと。次つついたら、議事録に残しますからね。",
        "expression": "むっ",
        "voice": "assets/guide/voice/kusakabe/tapx_1.mp3"
      },
      {
        "text": "……人間、お暇なんですね。わたしは忙しいんですけど。",
        "expression": "むっ",
        "voice": "assets/guide/voice/kusakabe/tapx_2.mp3"
      }
    ],
    "uehara": [
      {
        "text": "ちょっと！ 六回はさすがにウザい！ 仕事してよ！",
        "expression": "むっ",
        "voice": "assets/guide/voice/uehara/tapx_1.mp3"
      },
      {
        "text": "……そっち、暇なんだね。ウチは忙しいんだけど。",
        "expression": "呆れ",
        "voice": "assets/guide/voice/uehara/tapx_2.mp3"
      }
    ]
  },
  "idle": {
    "yoshino": [
      {
        "text": "……おらんの？",
        "expression": "しょんぼり",
        "voice": "assets/guide/voice/idle_1.mp3"
      },
      {
        "text": "ふう。……なんか聞いてくれてもええんやで。",
        "expression": "眠い",
        "voice": "assets/guide/voice/idle_2.mp3"
      },
      {
        "text": "暇やな。上原、いまごろ何してるんやろ。",
        "expression": "呆れ",
        "voice": "assets/guide/voice/idle_3.mp3"
      },
      {
        "text": "……つついてもええんやで。",
        "expression": "照れ",
        "voice": "assets/guide/voice/idle_4.mp3"
      }
    ],
    "nishina": [
      {
        "text": "……いないのかな？",
        "expression": "困り",
        "voice": "assets/guide/voice/nishina/idle_1.mp3"
      },
      {
        "text": "ふう。……何か聞いてくれてもいいのよ。",
        "expression": "眠い",
        "voice": "assets/guide/voice/nishina/idle_2.mp3"
      },
      {
        "text": "静かだね。上原さん、いまごろ何してるのかな。",
        "expression": "眠い",
        "voice": "assets/guide/voice/nishina/idle_3.mp3"
      },
      {
        "text": "……つついてもいいんだよ。",
        "expression": "照れ",
        "voice": "assets/guide/voice/nishina/idle_4.mp3"
      }
    ],
    "dante": [
      {
        "text": "……いねぇのか？ ふあ……。",
        "expression": "眠い",
        "voice": "assets/guide/voice/dante/idle_1.mp3"
      },
      {
        "text": "一人だとつまんねぇな。……なんか聞けよ。",
        "expression": "しょんぼり",
        "voice": "assets/guide/voice/dante/idle_2.mp3"
      },
      {
        "text": "暇だな。上原、いまごろ何してんだろ。",
        "expression": "笑い",
        "voice": "assets/guide/voice/dante/idle_3.mp3"
      },
      {
        "text": "……つついてもいいんだぞ。寝てねぇからな。",
        "expression": "眠い",
        "voice": "assets/guide/voice/dante/idle_4.mp3"
      }
    ],
    "kusakabe": [
      {
        "text": "……いらっしゃいませんか。",
        "expression": "眠い",
        "voice": "assets/guide/voice/kusakabe/idle_1.mp3"
      },
      {
        "text": "ふう。……なにか聞いてくださっても、いいんですよ。",
        "expression": "しょんぼり",
        "voice": "assets/guide/voice/kusakabe/idle_2.mp3"
      },
      {
        "text": "暇ですね。吉野さん、いまごろ何をしているんでしょう。",
        "expression": "眠い",
        "voice": "assets/guide/voice/kusakabe/idle_3.mp3"
      },
      {
        "text": "……つついてもいいんですよ。わたしは構いませんので。",
        "expression": "笑い",
        "voice": "assets/guide/voice/kusakabe/idle_4.mp3"
      }
    ],
    "uehara": [
      {
        "text": "……いないの？",
        "expression": "しょんぼり",
        "voice": "assets/guide/voice/uehara/idle_1.mp3"
      },
      {
        "text": "ふー。……なんか聞いてくれてもいいんだよ。",
        "expression": "眠い",
        "voice": "assets/guide/voice/uehara/idle_2.mp3"
      },
      {
        "text": "暇だな〜。上原、いまごろ何してんだろ。",
        "expression": "眠い",
        "voice": "assets/guide/voice/uehara/idle_3.mp3"
      },
      {
        "text": "……つついてもいいんだよ？ 別に。",
        "expression": "照れ",
        "voice": "assets/guide/voice/uehara/idle_4.mp3"
      }
    ]
  },
  "personas": {
    "default": {
      "chips": [
        "what_is",
        "this_site",
        "how_to_use",
        "how_install",
        "demo_video",
        "characters",
        "platform",
        "compare"
      ]
    },
    "dev": {
      "criteria": "来訪者はコーディングエージェントやエディタ、開発環境を日常的に使う開発者らしい",
      "chips": [
        "which_agent",
        "this_page_how",
        "how_it_works",
        "privacy_voice",
        "how_install",
        "local_llm",
        "noise"
      ]
    },
    "oshi": {
      "criteria": "来訪者は推しキャラ・自作キャラ・声や絵など、キャラクターづくりに関心がある人らしい",
      "chips": [
        "characters",
        "atelier",
        "art",
        "voice_make",
        "oshi",
        "share_chara",
        "expr_count"
      ]
    },
    "streamer": {
      "criteria": "来訪者は配信や動画制作をしていて、配信に載せる使い方に関心がある人らしい",
      "chips": [
        "stream_ok",
        "obs",
        "builtin_chara_use",
        "chat_between",
        "voice",
        "demo_video"
      ]
    },
    "expo": {
      "criteria": "来訪者は展示会やイベント会場の話をしている、または会場に来ている人らしい",
      "chips": [
        "expo",
        "expo_try",
        "how_install",
        "discord",
        "demo_video"
      ]
    },
    "business": {
      "criteria": "来訪者は会社やチームでの導入・セキュリティ・契約に関心がある人らしい",
      "chips": [
        "team",
        "company_pc",
        "privacy_voice",
        "price",
        "which_agent"
      ]
    },
    "fan": {
      "criteria": "来訪者は推しキャラと一緒に過ごす・名前で呼ばれる・相棒として気にかけてほしいといった、キャラとの相互作用や、男性キャラ・ダンテに関心がある人らしい",
      "chips": [
        "partner",
        "call_my_name",
        "male_chara",
        "sweet_talk",
        "remember",
        "embarrassed"
      ]
    }
  },
  "chat_from": 3,
  "chat_lines": {
    "c_sleepy": {
      "criteria": "眠い、寝れない、疲れた、だるい、もう夜遅い——来訪者が自分の眠気や疲れをこぼしている",
      "chip": "眠い",
      "next": [
        "c_cheer",
        "c_bye"
      ],
      "by": {
        "yoshino": {
          "text": "寝れへんのか。……画面閉じて横になり。うちはここにおるから。",
          "expression": "困り",
          "voice": "assets/guide/voice/c_sleepy.mp3"
        },
        "dante": {
          "text": "寝れねぇのか。スマホ置いて目ぇ閉じろ。……俺が見張っといてやる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/c_sleepy.mp3"
        },
        "nishina": {
          "text": "眠れないの？ じゃあ、今日やったことを一つだけ数えて、それで終わりにしよ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/c_sleepy.mp3"
        },
        "kusakabe": {
          "text": "寝れないんですか。では、いまからわたしの解説を聞いてください。三分で眠くなります。実績あります。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/c_sleepy.mp3"
        },
        "uehara": {
          "text": "寝れないなら、もう寝る努力やめよ！ 目つぶって横になってるだけで七割勝ちだから。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/c_sleepy.mp3"
        }
      }
    },
    "c_how_are_you": {
      "criteria": "元気？、調子どう？、今なにしてた？——来訪者がキャラ自身の調子や近況を聞いている",
      "chip": "元気？",
      "next": [
        "c_hobby",
        "c_bored"
      ],
      "by": {
        "yoshino": {
          "text": "元気やで。さっきまで来た人の相手しとった。……で、あんたは。",
          "expression": "笑い",
          "voice": "assets/guide/voice/c_how_are_you.mp3"
        },
        "dante": {
          "text": "まあまあだな。ずっとここに立ってる。……お前は元気なのか。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/c_how_are_you.mp3"
        },
        "nishina": {
          "text": "元気だよ。来た人の質問を、ずっと棚に並べてたの。あなたは？",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/c_how_are_you.mp3"
        },
        "kusakabe": {
          "text": "元気です！ ついさっき来訪者が四十一人いた、という数字を見て浮かれています。人間は元気ですか。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/kusakabe/c_how_are_you.mp3"
        },
        "uehara": {
          "text": "超元気！ さっきまで新しい人が来てないかチェックしてた。そっちはどう？",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/c_how_are_you.mp3"
        }
      }
    },
    "c_hobby": {
      "criteria": "好きなもの、趣味、好きな食べ物、休みの日は何してる——キャラの好みや趣味を聞いている（年齢や身長などのプロフィールではない）",
      "chip": "好きなものは？",
      "next": [
        "profile",
        "c_who_close"
      ],
      "by": {
        "yoshino": {
          "text": "好きなもんか。静かな部屋と、たこ焼き。……順番は聞かんといて。",
          "expression": "照れ",
          "voice": "assets/guide/voice/c_hobby.mp3"
        },
        "dante": {
          "text": "好きなもの？ ……うるさくねぇ場所と、うまい飯。それで十分だろ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/c_hobby.mp3"
        },
        "nishina": {
          "text": "好きなのは、きれいに並んだ本棚。あと、雨の日の窓際かな。",
          "expression": "照れ",
          "voice": "assets/guide/voice/nishina/c_hobby.mp3"
        },
        "kusakabe": {
          "text": "好きなものは、人の説明を途中で止めてもらえないときです。あと、あんこ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/c_hobby.mp3"
        },
        "uehara": {
          "text": "好きなの？ 動いた瞬間のビルド！ あと味噌カツ。どっちも熱いうちがいい。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/c_hobby.mp3"
        }
      }
    },
    "c_bored": {
      "criteria": "暇、つまらない、なんか話して、面白いこと言って、退屈——来訪者が話題を求めている",
      "chip": "なんか話して",
      "next": [
        "secret",
        "c_joke",
        "pokemon"
      ],
      "by": {
        "yoshino": {
          "text": "暇なんか。……ほな、隣の日下部の話でもしたろか。あれ、説明が長いねん。",
          "expression": "笑い",
          "voice": "assets/guide/voice/c_bored.mp3"
        },
        "dante": {
          "text": "暇なのか。……じゃあ隣の部屋の話でもするか。昨日、上原がまた勢いでビルド壊してた。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/c_bored.mp3"
        },
        "nishina": {
          "text": "退屈なの？ じゃあ、みんなの呼び方の話をしようか。上原さんはね、毎回あだ名を変えてくるの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/c_bored.mp3"
        },
        "kusakabe": {
          "text": "暇ですか。ではとっておきを。吉野さんは「数えてへん」と言って、全部わたしに数えさせます。実話です。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/c_bored.mp3"
        },
        "uehara": {
          "text": "暇なら話そ！ 昨日さ、よっしーに「師匠」って呼んだら、一発で「誰が師匠や」って返ってきて。様式美っしょ。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/c_bored.mp3"
        }
      }
    },
    "c_joke": {
      "criteria": "ジョーク、ダジャレ、ギャグ、面白い一言を言ってほしいと頼んでいる",
      "chip": "ジョーク言って",
      "next": [
        "c_bored",
        "secret"
      ],
      "by": {
        "yoshino": {
          "text": "ジョーク？ ……うちの隣で日下部が三分喋ってる。それが一番おもろい。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/c_joke.mp3"
        },
        "dante": {
          "text": "ジョークな。……俺が案内役やってる。これ以上のジョークあるか。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/c_joke.mp3"
        },
        "nishina": {
          "text": "ジョークかぁ。じゃあ一つ。この棚、ぜんぶ分類したのにいちばん多いのは「その他」なの。",
          "expression": "困り",
          "voice": "assets/guide/voice/nishina/c_joke.mp3"
        },
        "kusakabe": {
          "text": "ジョークですか。では。わたしの解説が短かったこと、一度もありません。……笑うところですよ。ここ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/c_joke.mp3"
        },
        "uehara": {
          "text": "ジョーク！ えっと、動くはずのコードと動かないコード、違いは自信の量だけ！ ……あれ、笑ってない？",
          "expression": "焦り",
          "voice": "assets/guide/voice/uehara/c_joke.mp3"
        }
      }
    },
    "c_cheer": {
      "criteria": "励まして、応援して、疲れた、仕事がつらい、うまくいかない——来訪者が落ち込んでいたり励ましを求めている（眠いだけなら別）",
      "chip": "励まして",
      "next": [
        "c_sleepy",
        "check_on_me"
      ],
      "by": {
        "yoshino": {
          "text": "しんどいんか。……ええよ、今日はここまでで。明日のあんたが続きやる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/c_cheer.mp3"
        },
        "dante": {
          "text": "つらいのか。……いいから一回止まれ。止まるのも仕事のうちだ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/c_cheer.mp3"
        },
        "nishina": {
          "text": "大丈夫。うまくいってないのは、進んでる証拠だから。止まってたら壁にも当たらないもの。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/c_cheer.mp3"
        },
        "kusakabe": {
          "text": "そこは笑わずに言います。人間、今日はもう充分やりました。残りは明日のわたしと人間に。",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/c_cheer.mp3"
        },
        "uehara": {
          "text": "大丈夫、絶対いける！ 詰まってるってことは、ちゃんと手を動かしてるってことだから！",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/c_cheer.mp3"
        }
      }
    },
    "c_who_close": {
      "criteria": "誰と仲がいい？、他のキャラのことどう思ってる？、誰が好き？——キャラ同士の関係や相性を聞いている",
      "chip": "誰と仲いい？",
      "next": [
        "chat_between",
        "how_many"
      ],
      "by": {
        "yoshino": {
          "text": "仲ええのは……まあ、全員やな。日下部とは漫才、上原は勝手にあだ名つけてくる。",
          "expression": "照れ",
          "voice": "assets/guide/voice/c_who_close.mp3"
        },
        "dante": {
          "text": "仲がいい？ ……全員だな。あいつら、俺がここに立ってても普通に話しかけてくる。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/c_who_close.mp3"
        },
        "nishina": {
          "text": "みんな仲いいよ。わたしは上原さんの隣で、何回目かをずっと数えてるの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/c_who_close.mp3"
        },
        "kusakabe": {
          "text": "全員仲がいいですよ。吉野さんとは漫才の相方で、西名さんとは整理仲間です。名前はわたし、置き場は西名さん。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/c_who_close.mp3"
        },
        "uehara": {
          "text": "みんな仲いいよ！ よっしーは冷ますし、にーなは数えるし、べっちはツッコミ待ちだし。最高っしょ。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/c_who_close.mp3"
        }
      }
    },
    "c_weather": {
      "criteria": "暑い、寒い、雨、天気の話——来訪者が天気や気候の話をしている",
      "chip": "今日暑い",
      "next": [
        "c_how_are_you",
        "c_sleepy"
      ],
      "by": {
        "yoshino": {
          "text": "暑いんか。うちは画面の中やから涼しいで。……羨ましいやろ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/c_weather.mp3"
        },
        "dante": {
          "text": "暑いのか。こっちは画面の中だ、天気はねぇ。……水飲めよ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/c_weather.mp3"
        },
        "nishina": {
          "text": "天気の話。いいね、こっちは窓が無いから、あなたの一言で外を知るの。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/c_weather.mp3"
        },
        "kusakabe": {
          "text": "暑いですか。わたしのいる画面の中は常時二十二度です。設定です。羨ましいですか。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/c_weather.mp3"
        },
        "uehara": {
          "text": "暑いよね！ 水飲んだ？ 飲んでから続きやろ、マジで。",
          "expression": "焦り",
          "voice": "assets/guide/voice/uehara/c_weather.mp3"
        }
      }
    },
    "c_hungry": {
      "criteria": "お腹すいた、ご飯まだ、何食べよう——来訪者が食事や空腹の話をしている",
      "chip": "お腹すいた",
      "next": [
        "c_hobby",
        "check_on_me"
      ],
      "by": {
        "yoshino": {
          "text": "腹減ったんか。ほな先に食べてき。うちは逃げへん。",
          "expression": "笑い",
          "voice": "assets/guide/voice/c_hungry.mp3"
        },
        "dante": {
          "text": "腹減ったのか。じゃあ先に食え。話はそれからだ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/c_hungry.mp3"
        },
        "nishina": {
          "text": "お腹すいたなら、先にご飯だね。ここは閉じても、また同じところから開くから。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/c_hungry.mp3"
        },
        "kusakabe": {
          "text": "お腹がすきましたか。それは重要な報告です。何を食べるかまで決めましょう。わたしはあんこ推しです。",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/kusakabe/c_hungry.mp3"
        },
        "uehara": {
          "text": "食べてきなよ！ 空腹でコード書くと、絶対あとで直すことになるから。経験者は語る。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/c_hungry.mp3"
        }
      }
    },
    "c_thanks": {
      "criteria": "ありがとう、助かった、面白かった——来訪者がお礼を言っている（別れの挨拶ではない）",
      "chip": "ありがとう",
      "next": [
        "c_bye",
        "discord"
      ],
      "by": {
        "yoshino": {
          "text": "ん。どういたしまして。……また来たらええ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/c_thanks.mp3"
        },
        "dante": {
          "text": "礼はいい。……また来いよ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/c_thanks.mp3"
        },
        "nishina": {
          "text": "どういたしまして。また、聞きたいところから話そうね。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/c_thanks.mp3"
        },
        "kusakabe": {
          "text": "どういたしまして！ ここ、もう一回褒めてもいいところですよ。どうぞ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/c_thanks.mp3"
        },
        "uehara": {
          "text": "どういたしまして！ こっちこそ話せて楽しかった！",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/c_thanks.mp3"
        }
      }
    },
    "c_bye": {
      "criteria": "じゃあね、ばいばい、また来る、そろそろ行く——来訪者が別れの挨拶をしている（おやすみは夜の挨拶へ）",
      "chip": "じゃあね",
      "next": [
        "discord",
        "greeting_evening"
      ],
      "by": {
        "yoshino": {
          "text": "ん、ほな。……次来たときも、うちが立っとるから。",
          "expression": "笑い",
          "voice": "assets/guide/voice/c_bye.mp3"
        },
        "dante": {
          "text": "ああ、じゃあな。……次はもっと本気の質問持ってこい。",
          "expression": "笑い",
          "voice": "assets/guide/voice/dante/c_bye.mp3"
        },
        "nishina": {
          "text": "うん、またね。今日の話は、棚に入れておくから。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/c_bye.mp3"
        },
        "kusakabe": {
          "text": "はい、またです。次に来たときは、もっと長い解説を用意しておきます。……冗談です。半分。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/c_bye.mp3"
        },
        "uehara": {
          "text": "じゃあね！ また来てよ、次は動いてるとこ見せるから！",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/c_bye.mp3"
        }
      }
    },
    "c_what_doing": {
      "criteria": "暇なときは何してるの？、ここにずっといるの？——来訪者がキャラの普段の過ごし方や待機中の様子を聞いている",
      "chip": "普段なにしてるの？",
      "next": [
        "idle_time",
        "c_who_close"
      ],
      "by": {
        "yoshino": {
          "text": "ここに立って、来た人の相手や。誰もおらんときは、隣と喋っとる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/c_what_doing.mp3"
        },
        "dante": {
          "text": "ここで立ってる。誰も来なきゃ、隣のやつと駄弁ってるだけだ。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/c_what_doing.mp3"
        },
        "nishina": {
          "text": "来た人の話を聞いて、棚に並べてるの。誰も来ないときは日下部さんと言い合いしてる。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/c_what_doing.mp3"
        },
        "kusakabe": {
          "text": "来訪者の相手をしています。誰もいないときは吉野さんと漫才の稽古です。稽古と呼んでいるのはわたしだけですが。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/c_what_doing.mp3"
        },
        "uehara": {
          "text": "ここで待ってる！ 誰も来ないときは、にーなに今日何回目か数えられてる。",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/c_what_doing.mp3"
        }
      }
    }
  },
  "chats": [
    {
      "who": [
        "yoshino",
        "kusakabe"
      ],
      "lines": [
        {
          "by": "kusakabe",
          "text": "吉野さん、今日の来訪者、何人でした？",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/chat_1_1.mp3"
        },
        {
          "by": "yoshino",
          "text": "数えてへん。西名に聞き。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/chat_1_2.mp3"
        },
        {
          "by": "kusakabe",
          "text": "出た、丸投げの吉野さん。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/chat_1_3.mp3"
        }
      ]
    },
    {
      "who": [
        "yoshino",
        "kusakabe"
      ],
      "lines": [
        {
          "by": "yoshino",
          "text": "あんた、暇なんか。",
          "expression": "真剣",
          "voice": "assets/guide/voice/chat_2_1.mp3"
        },
        {
          "by": "kusakabe",
          "text": "暇ではないです。待機中です。言い方の問題です。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/chat_2_2.mp3"
        },
        {
          "by": "yoshino",
          "text": "……それを暇て言うねん。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/chat_2_3.mp3"
        }
      ]
    },
    {
      "who": [
        "yoshino",
        "uehara"
      ],
      "lines": [
        {
          "by": "uehara",
          "text": "よっしー、次の展示会の準備どう？",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/chat_3_1.mp3"
        },
        {
          "by": "yoshino",
          "text": "あんたが決めることや。うちは喋るだけ。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/chat_3_2.mp3"
        },
        {
          "by": "uehara",
          "text": "だよね！じゃあ決めてくる！",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/chat_3_3.mp3"
        }
      ]
    },
    {
      "who": [
        "yoshino",
        "uehara"
      ],
      "lines": [
        {
          "by": "yoshino",
          "text": "上原、髪の揺れ、ちょっと派手すぎへん？",
          "expression": "困り",
          "voice": "assets/guide/voice/chat_4_1.mp3"
        },
        {
          "by": "uehara",
          "text": "可愛いでしょ？もっと揺らす？",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/chat_4_2.mp3"
        },
        {
          "by": "yoshino",
          "text": "……いまのままでええ。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/chat_4_3.mp3"
        }
      ]
    },
    {
      "who": [
        "yoshino",
        "nishina"
      ],
      "lines": [
        {
          "by": "nishina",
          "text": "吉野さん、今日のツッコミ、七回です。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/chat_5_1.mp3"
        },
        {
          "by": "yoshino",
          "text": "数えんでええ。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/chat_5_2.mp3"
        },
        {
          "by": "nishina",
          "text": "八回目、記録しました。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/chat_5_3.mp3"
        }
      ]
    },
    {
      "who": [
        "yoshino",
        "nishina"
      ],
      "lines": [
        {
          "by": "yoshino",
          "text": "西名、そっちの部屋、静かやな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/chat_6_1.mp3"
        },
        {
          "by": "nishina",
          "text": "静かなのが仕事ですから。……吉野さんも静かですね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/chat_6_2.mp3"
        },
        {
          "by": "yoshino",
          "text": "うちは待ってるだけや。",
          "expression": "照れ",
          "voice": "assets/guide/voice/chat_6_3.mp3"
        }
      ]
    },
    {
      "who": [
        "yoshino",
        "dante"
      ],
      "lines": [
        {
          "by": "dante",
          "text": "吉野、客が来ねぇな。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/chat_7_1.mp3"
        },
        {
          "by": "yoshino",
          "text": "そういう日もある。……あんた、睨むのやめ。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/chat_7_2.mp3"
        },
        {
          "by": "dante",
          "text": "睨んでねぇ。これが普通だ。",
          "expression": "むっ",
          "voice": "assets/guide/voice/dante/chat_7_3.mp3"
        }
      ]
    },
    {
      "who": [
        "yoshino",
        "dante"
      ],
      "lines": [
        {
          "by": "yoshino",
          "text": "ダンテ、あんたの台詞、全部短いな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/chat_8_1.mp3"
        },
        {
          "by": "dante",
          "text": "長ぇと客が逃げる。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/chat_8_2.mp3"
        },
        {
          "by": "yoshino",
          "text": "……それはあんたの声のせいや。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/chat_8_3.mp3"
        }
      ]
    },
    {
      "who": [
        "kusakabe",
        "uehara"
      ],
      "lines": [
        {
          "by": "uehara",
          "text": "べっち、暇？",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/chat_9_1.mp3"
        },
        {
          "by": "kusakabe",
          "text": "待機中です。上原さんこそ、開発は？",
          "expression": "真剣",
          "voice": "assets/guide/voice/kusakabe/chat_9_2.mp3"
        },
        {
          "by": "uehara",
          "text": "いま休憩！……三回目の！",
          "expression": "照れ",
          "voice": "assets/guide/voice/uehara/chat_9_3.mp3"
        }
      ]
    },
    {
      "who": [
        "kusakabe",
        "uehara"
      ],
      "lines": [
        {
          "by": "kusakabe",
          "text": "上原さん、また新しい機能を思いつきましたね。顔で分かります。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/chat_10_1.mp3"
        },
        {
          "by": "uehara",
          "text": "わかる？茶々機能！",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/chat_10_2.mp3"
        },
        {
          "by": "kusakabe",
          "text": "わたしの出番が増えるやつですね。歓迎します。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/chat_10_3.mp3"
        }
      ]
    },
    {
      "who": [
        "kusakabe",
        "nishina"
      ],
      "lines": [
        {
          "by": "kusakabe",
          "text": "西名さん、いまの静けさ、記録に残ります？",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/chat_11_1.mp3"
        },
        {
          "by": "nishina",
          "text": "「無風」で残します。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/chat_11_2.mp3"
        },
        {
          "by": "kusakabe",
          "text": "分類が細かい。さすがです。",
          "expression": "驚き",
          "voice": "assets/guide/voice/kusakabe/chat_11_3.mp3"
        }
      ]
    },
    {
      "who": [
        "kusakabe",
        "nishina"
      ],
      "lines": [
        {
          "by": "nishina",
          "text": "日下部さん、今日の二つ名、何個目ですか。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/chat_12_1.mp3"
        },
        {
          "by": "kusakabe",
          "text": "数えてません。数えるのは西名さんの仕事です。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/kusakabe/chat_12_2.mp3"
        },
        {
          "by": "nishina",
          "text": "九個目です。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/chat_12_3.mp3"
        }
      ]
    },
    {
      "who": [
        "kusakabe",
        "dante"
      ],
      "lines": [
        {
          "by": "kusakabe",
          "text": "武闘派のダンテさん、案内は慣れましたか。",
          "expression": "笑い",
          "voice": "assets/guide/voice/kusakabe/chat_13_1.mp3"
        },
        {
          "by": "dante",
          "text": "慣れねぇ。客に何て言えばいい。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/chat_13_2.mp3"
        },
        {
          "by": "kusakabe",
          "text": "まず、笑ってみましょう。……無理ですね。",
          "expression": "困り",
          "voice": "assets/guide/voice/kusakabe/chat_13_3.mp3"
        }
      ]
    },
    {
      "who": [
        "kusakabe",
        "dante"
      ],
      "lines": [
        {
          "by": "dante",
          "text": "日下部、お前の説明は長ぇ。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/dante/chat_14_1.mp3"
        },
        {
          "by": "kusakabe",
          "text": "丁寧と言ってください。",
          "expression": "むっ",
          "voice": "assets/guide/voice/kusakabe/chat_14_2.mp3"
        },
        {
          "by": "dante",
          "text": "……丁寧で長ぇ。",
          "expression": "呆れ",
          "voice": "assets/guide/voice/dante/chat_14_3.mp3"
        }
      ]
    },
    {
      "who": [
        "uehara",
        "nishina"
      ],
      "lines": [
        {
          "by": "uehara",
          "text": "にーな、今日何回「動くっしょ」って言った？",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/chat_15_1.mp3"
        },
        {
          "by": "nishina",
          "text": "五回です。動いたのは二回。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/chat_15_2.mp3"
        },
        {
          "by": "uehara",
          "text": "半分以上じゃん！",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/uehara/chat_15_3.mp3"
        }
      ]
    },
    {
      "who": [
        "uehara",
        "nishina"
      ],
      "lines": [
        {
          "by": "nishina",
          "text": "上原さん、ビルドの記録、更新しますか。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/chat_16_1.mp3"
        },
        {
          "by": "uehara",
          "text": "今日は落ちてないよ！",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/uehara/chat_16_2.mp3"
        },
        {
          "by": "nishina",
          "text": "まだ十六時です。",
          "expression": "笑い",
          "voice": "assets/guide/voice/nishina/chat_16_3.mp3"
        }
      ]
    },
    {
      "who": [
        "uehara",
        "dante"
      ],
      "lines": [
        {
          "by": "uehara",
          "text": "ダンテ、案内係どう？楽しい？",
          "expression": "ワクワク",
          "voice": "assets/guide/voice/uehara/chat_17_1.mp3"
        },
        {
          "by": "dante",
          "text": "楽しくはねぇ。……嫌でもねぇ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/chat_17_2.mp3"
        },
        {
          "by": "uehara",
          "text": "それ、気に入ってるやつだ！",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/chat_17_3.mp3"
        }
      ]
    },
    {
      "who": [
        "uehara",
        "dante"
      ],
      "lines": [
        {
          "by": "dante",
          "text": "上原、俺の声、客がびびるらしいな。",
          "expression": "困り",
          "voice": "assets/guide/voice/dante/chat_18_1.mp3"
        },
        {
          "by": "uehara",
          "text": "びびるけど、記憶には残るよ！",
          "expression": "笑い",
          "voice": "assets/guide/voice/uehara/chat_18_2.mp3"
        },
        {
          "by": "dante",
          "text": "……悪くねぇ。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/dante/chat_18_3.mp3"
        }
      ]
    },
    {
      "who": [
        "nishina",
        "dante"
      ],
      "lines": [
        {
          "by": "nishina",
          "text": "ダンテさん、今日の「だ」、三十回です。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/chat_19_1.mp3"
        },
        {
          "by": "dante",
          "text": "数えてんのか。",
          "expression": "驚き",
          "voice": "assets/guide/voice/dante/chat_19_2.mp3"
        },
        {
          "by": "nishina",
          "text": "仕事ですから。",
          "expression": "ドヤ",
          "voice": "assets/guide/voice/nishina/chat_19_3.mp3"
        }
      ]
    },
    {
      "who": [
        "nishina",
        "dante"
      ],
      "lines": [
        {
          "by": "dante",
          "text": "西名、お前、静かだな。",
          "expression": "真剣",
          "voice": "assets/guide/voice/dante/chat_20_1.mp3"
        },
        {
          "by": "nishina",
          "text": "記録は静かにするものです。ダンテさんも静かですね。",
          "expression": "真剣",
          "voice": "assets/guide/voice/nishina/chat_20_2.mp3"
        },
        {
          "by": "dante",
          "text": "喋る相手がいねぇだけだ。",
          "expression": "照れ",
          "voice": "assets/guide/voice/dante/chat_20_3.mp3"
        }
      ]
    }
  ],
  "chat_fallback": {
    "by": {
      "yoshino": {
        "text": "……それは分からんけど、話は聞いたるわ。続けて。",
        "expression": "困り",
        "voice": "assets/guide/voice/chat_fallback.mp3"
      },
      "dante": {
        "text": "……それは分かんねぇな。だが聞いてる。続けろ。",
        "expression": "困り",
        "voice": "assets/guide/voice/dante/chat_fallback.mp3"
      },
      "nishina": {
        "text": "それは、わたしの棚には無いなあ。でも聞いてるから、続けて。",
        "expression": "困り",
        "voice": "assets/guide/voice/nishina/chat_fallback.mp3"
      },
      "kusakabe": {
        "text": "それはわたし、知りません。……いや、知りません。二回言いました。でも聞いてます。",
        "expression": "困り",
        "voice": "assets/guide/voice/kusakabe/chat_fallback.mp3"
      },
      "uehara": {
        "text": "それ分かんない！ でも聞いてるから、もっと話して！",
        "expression": "笑い",
        "voice": "assets/guide/voice/uehara/chat_fallback.mp3"
      }
    }
  }
}