ForcePilot/backend/package/yuxi/channels/meta.py

38 lines
1.0 KiB
Python
Raw Normal View History

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