from __future__ import annotations from pydantic import BaseModel, Field class ChannelMeta(BaseModel): """渠道元数据 — 用于前端渠道列表展示、帮助文档链接、渠道别名解析 字段对齐现有 WeChat/WECHAT_META dict 结构,统一为 snake_case。 对标 OpenClaw ChannelMeta,补齐选择器文档前缀、详情标签、偏好声明等字段。 """ id: str label: str selection_label: str = "" blurb: str = "" order: int = 100 docs_path: str = "" docs_label: str = "" selection_docs_prefix: str = "" selection_docs_omit_label: bool = False system_image: str = "" markdown_capable: bool = False detail_label: str = "" aliases: list[str] = Field(default_factory=list) exposure: str = "public" show_configured: bool = True show_in_setup: bool = True quickstart_allow_from: list[str] = Field(default_factory=list) force_account_binding: bool = False prefer_session_lookup_for_announce_target: bool = False prefer_over: bool = False