メインコンテンツへスキップ
このドキュメントでは、LangBotプラグインの標準ディレクトリ構造とファイル組織仕様を紹介し、開発者が準拠したプラグインを作成できるように支援します。

基本ディレクトリ構造

標準的なLangBotプラグインは次のディレクトリ構造に従う必要があります:

多言語README仕様

ファイル配置仕様

LangBotプラグインは、異なる言語のユーザーにローカライズされたプラグイン説明を提供するために、多言語READMEドキュメントをサポートしています。 重要な仕様:
  1. ルートREADME.md(必須)
    • 英語で記述する必要があります
    • プラグインのデフォルトドキュメントとして機能します
    • 要求された言語バージョンが存在しない場合のフォールバックとして使用されます
  2. readme/ディレクトリ(オプション)
    • 非英語のREADMEドキュメントを保存するために使用
    • ファイル命名形式: README_{言語コード}.md

サポートされる言語コード

RFC 4646標準に従い、LangBotは現在次の言語コードをサポートしています:
言語言語コードファイル名配置場所
英語enまたはen_USREADME.mdプラグインルートディレクトリ
簡体字中国語zh_HansREADME_zh_Hans.mdreadme/ディレクトリ
繁体字中国語zh_HantREADME_zh_Hant.mdreadme/ディレクトリ
日本語ja_JPREADME_ja_JP.mdreadme/ディレクトリ
ベトナム語vi_VNREADME_vi_VN.mdreadme/ディレクトリ
タイ語th_THREADME_th_TH.mdreadme/ディレクトリ
スペイン語es_ESREADME_es_ES.mdreadme/ディレクトリ

ディレクトリ構造の例

誤った例

誤り: readme/ディレクトリに英語READMEを配置
誤り: ルートREADME.mdに非英語コンテンツが含まれる

README言語フォールバックロジック

ユーザーが特定の言語でREADMEを要求した場合、LangBotは次の順序で検索します:
  1. readme/README_{言語コード}.mdを読み取ろうとします
  2. 見つからない場合は、ルートREADME.md(英語版)にフォールバックします
例:
  • ユーザーが簡体字中国語(zh_Hans)を要求
    • readme/README_zh_Hans.mdを検索
    • → 見つからない場合は、README.md(英語版)を返します
  • ユーザーが日本語(ja_JP)を要求
    • readme/README_ja_JP.mdを検索
    • → 見つからない場合は、README.md(英語版)を返します

リソースファイルディレクトリ

assets/ディレクトリ

assets/ディレクトリはプラグインの静的リソースファイルを保存するために使用されます。 推奨構造:
アイコン仕様:
  • プラグインアイコンとしてicon.svgを使用することを推奨
  • サポートされる形式: .svg.png.jpg.jpeg.gif
  • 推奨サイズ: 最低256x256ピクセル
  • manifest.yamlでの参照: icon: assets/icon.svg

READMEでのリソース参照

READMEドキュメントで相対パスを使用してassets/ディレクトリの画像を参照できます:
注意: プラグインをLangBot Spaceにアップロードすると、リソースファイルが自動的に処理およびホストされ、ユーザーがREADMEを表示したときに画像が正しく表示されます。

コンポーネントディレクトリ

プラグイン機能はコンポーネントを通じて実装され、タイプ別にcomponents/ディレクトリに整理する必要があります:
コンポーネント開発の詳細な仕様については、コンポーネントの追加を参照してください。

設定ファイル

manifest.yaml

プラグインマニフェストファイルmanifest.yamlはコア設定ファイルであり、プラグインメタデータ、設定項目、コンポーネントリストなどの情報が含まれます。 詳細な手順については、プラグイン設定情報の完成を参照してください。

requirements.txt

プラグインが追加のPython依存関係を必要とする場合は、ルートディレクトリにrequirements.txtファイルを作成します:
注意: LangBotは、プラグインのインストール時にrequirements.txtにリストされている依存関係を自動的にインストールします。

関連ドキュメント