Skip to content

ja plugin dev directory structure

langbot-docs-sync[bot] edited this page Sep 4, 2026 · 2 revisions

プラグインディレクトリ構造

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

基本ディレクトリ構造

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

MyPlugin/
├── manifest.yaml          # プラグインマニフェストファイル(必須)
├── main.py               # プラグインメインエントリファイル(必須)
├── README.md             # 英語プラグインドキュメント(必須)
├── readme/               # 多言語READMEディレクトリ(オプション)
│   ├── README_zh_Hans.md # 簡体字中国語ドキュメント
│   ├── README_ja_JP.md   # 日本語ドキュメント
│   └── README_zh_Hant.md # 繁体字中国語ドキュメント(オプション)
├── assets/               # リソースファイルディレクトリ
│   ├── icon.svg         # プラグインアイコン(推奨)
│   └── ...              # その他のリソースファイル
├── components/           # コンポーネントディレクトリ
│   ├── event_listener/  # イベントリスナーコンポーネント
│   ├── commands/        # コマンドコンポーネント
│   └── tools/           # ツールコンポーネント
├── requirements.txt      # Python依存関係(オプション)
└── config/              # 設定ディレクトリ(オプション)

多言語README仕様

ファイル配置仕様

LangBotプラグインは、異なる言語のユーザーにローカライズされたプラグイン説明を提供するために、多言語READMEドキュメントをサポートしています。

重要な仕様:

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

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

RFC 4646標準に従い、LangBotは現在次の言語コードをサポートしています:

言語 言語コード ファイル名 配置場所
英語 enまたはen_US README.md プラグインルートディレクトリ
簡体字中国語 zh_Hans README_zh_Hans.md readme/ディレクトリ
繁体字中国語 zh_Hant README_zh_Hant.md readme/ディレクトリ
日本語 ja_JP README_ja_JP.md readme/ディレクトリ
ベトナム語 vi_VN README_vi_VN.md readme/ディレクトリ
タイ語 th_TH README_th_TH.md readme/ディレクトリ
スペイン語 es_ES README_es_ES.md readme/ディレクトリ

ディレクトリ構造の例

MyPlugin/
├── README.md                    # ✅ 英語版(必須、ルートディレクトリ)
└── readme/                      # ✅ 多言語ディレクトリ
    ├── README_zh_Hans.md       # ✅ 簡体字中国語
    ├── README_ja_JP.md         # ✅ 日本語
    └── README_zh_Hant.md       # ✅ 繁体字中国語

誤った例

❌ 誤り: readme/ディレクトリに英語READMEを配置

MyPlugin/
├── readme/
│   ├── README_en.md        # ❌ 誤り: 英語はreadme/に配置すべきではない
│   └── README_zh_Hans.md

❌ 誤り: ルートREADME.mdに非英語コンテンツが含まれる

# MyPlugin

This is a plugin...

これはプラグインです...    # ❌ 誤り: ルート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/ディレクトリはプラグインの静的リソースファイルを保存するために使用されます。

推奨構造:

assets/
├── icon.svg              # プラグインアイコン(SVG形式推奨)
├── example.png           # 例画像
├── screenshot1.png       # スクリーンショット
└── logo.png             # ロゴ画像

アイコン仕様:

  • プラグインアイコンとしてicon.svgを使用することを推奨
  • サポートされる形式: .svg、.png、.jpg、.jpeg、.gif
  • 推奨サイズ: 最低256x256ピクセル
  • manifest.yamlでの参照: icon: assets/icon.svg

READMEでのリソース参照

READMEドキュメントで相対パスを使用してassets/ディレクトリの画像を参照できます:

# MyPlugin

![例](https://raw.githubusercontent.com/langbot-app/langbot-docs/main/ja/plugin/dev/assets/example.png)

![スクリーンショット](https://raw.githubusercontent.com/langbot-app/langbot-docs/main/ja/plugin/dev/assets/screenshot1.png)

注意: プラグインをLangBot Spaceにアップロードすると、リソースファイルが自動的に処理およびホストされ、ユーザーがREADMEを表示したときに画像が正しく表示されます。

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

プラグイン機能はコンポーネントを通じて実装され、タイプ別にcomponents/ディレクトリに整理する必要があります:

components/
├── event_listener/       # イベントリスナー
│   ├── on_message.py
│   └── on_message.yaml
├── commands/            # コマンド
│   ├── hello.py
│   └── hello.yaml
└── tools/               # ツール
    ├── search.py
    └── search.yaml

コンポーネント開発の詳細な仕様については、コンポーネントの追加を参照してください。

設定ファイル

manifest.yaml

プラグインマニフェストファイルmanifest.yamlはコア設定ファイルであり、プラグインメタデータ、設定項目、コンポーネントリストなどの情報が含まれます。

詳細な手順については、プラグイン設定情報の完成を参照してください。

requirements.txt

プラグインが追加のPython依存関係を必要とする場合は、ルートディレクトリにrequirements.txtファイルを作成します:

requests>=2.28.0
beautifulsoup4>=4.11.0
pillow>=9.0.0

注意: LangBotは、プラグインのインストール時にrequirements.txtにリストされている依存関係を自動的にインストールします。

関連ドキュメント

LangBot Documentation

Home

简体中文
指南
开发者
文章
API 参考
Other pages
English
Guides
Developers
Articles
API Reference
Other pages
日本語
ガイド
開発者
記事
API リファレンス
Other pages

Clone this wiki locally