-
Notifications
You must be signed in to change notification settings - Fork 1.5k
zh plugin dev directory structure
langbot-wiki-sync[bot] edited this page Jul 29, 2026
·
1 revision
本文介绍 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/ # 配置文件目录(可选)
LangBot 插件支持多语言 README 文档,以便为不同语言的用户提供本地化的插件说明。
重要规范:
-
根目录 README.md(必需)- 必须使用英文编写
- 作为插件的默认说明文档
- 当请求的语言版本不存在时,将回退到此文档
-
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 时,LangBot 将按以下顺序查找:
- 尝试读取
readme/README_{语言代码}.md - 如果不存在,回退到根目录的
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 格式)
├── example.png # 示例图片
├── screenshot1.png # 截图
└── logo.png # Logo 图片
图标规范:
- 推荐使用
icon.svg作为插件图标 - 支持的格式:
.svg、.png、.jpg、.jpeg、.gif - 推荐尺寸:至少 256x256 像素
- 在
manifest.yaml中引用:icon: assets/icon.svg
在 README 文档中,可以使用相对路径引用 assets/ 目录中的图片:
# MyPlugin

注意: 插件上传到 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 是插件的核心配置文件,包含插件的元数据、配置项、组件列表等信息。
详细说明请参考:完善配置信息
如果插件需要额外的 Python 依赖包,应在根目录创建 requirements.txt 文件:
requests>=2.28.0
beautifulsoup4>=4.11.0
pillow>=9.0.0
注意: LangBot 在安装插件时会自动安装 requirements.txt 中列出的依赖。
Automatically synchronized from langbot-app/langbot-wiki.
简体中文
指南
开发者
- 插件开发
- 插件 SDK API
- 核心开发
API 参考
- Service API
English
Guides
Developers
-
Plugin Development
- Plugin Development Tutorial
- Completing Plugin Configuration Information
- Plugin Directory Structure
- Component Development
- Code Style Guide
- Migration Guide
- Publish Plugin
- Plugin SDK API
- Core Development
API Reference
- Service API