38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
|
|
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
|