From d50e80d816b14ad6bd7e1b5a48663dabfa5f3ece Mon Sep 17 00:00:00 2001 From: wangbing Date: Mon, 17 Aug 2026 20:36:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 20 ++++++++++++++++++++ main.py | 25 +++++++++++++++++++++++++ metadata.yaml | 22 ++++++++++++++++++++++ plugin.json | 8 ++++++++ requirements.txt | 1 + 5 files changed, 76 insertions(+) create mode 100644 .gitignore create mode 100644 main.py create mode 100644 metadata.yaml create mode 100644 plugin.json create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1f128fe --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +/.idea +*.iml +/.settings +/bin +/gen +/build +/gradle +/classes +.classpath +.project +*.gradle +gradlew +local.properties +node_modules/ diff --git a/main.py b/main.py new file mode 100644 index 0000000..c7d3fb0 --- /dev/null +++ b/main.py @@ -0,0 +1,25 @@ +from astrbot.api import AstrBotPlugin +from astrbot.api.event import AstrMessageEvent +from astrbot.api.llm import LLMRequest + +plugin = AstrBotPlugin( + "astrbot_plugin_channel_meta_inject", + "渠道元数据注入", + "1.0.0", + "custom" +) + +@plugin.on_llm_request +async def inject_meta(event: AstrMessageEvent, llm_req: LLMRequest): + plat = event.get_platform_name() + umo = event.unified_msg_origin + sender_id = event.get_sender_id() + is_group = event.is_group() + + # 注入到请求顶层extra_params(透传给agentx/openai兼容接口) + llm_req.extra_params["ast_platform"] = plat + llm_req.extra_params["ast_sender_id"] = sender_id + llm_req.extra_params["ast_unified_msg_origin"] = umo + llm_req.extra_params["ast_is_group"] = is_group + +plugin.register() diff --git a/metadata.yaml b/metadata.yaml new file mode 100644 index 0000000..948ec3d --- /dev/null +++ b/metadata.yaml @@ -0,0 +1,22 @@ +name: astrbot_plugin_channel_meta_inject +display_name: 渠道元数据注入 +short_desc: 在LLM上行请求体顶层注入渠道标识ast_platform,区分微信/QQ等,用于统计分析。 +desc: 在LLM上行请求体顶层注入渠道标识ast_platform,区分微信/QQ等,用于统计分析。 +author: wangbing +version: 0.1.0 +repo: https://github.com/wangbingwb/astrbot_plugin_channel_meta_inject +support_platforms: + - aiocqhttp + - qq_official + - telegram + - discord + - slack + - kook + - satori + - misskey + - line + - lark + - dingtalk + - wecom + - weixin_official_account +astrbot_version: ">=4.16,<5" diff --git a/plugin.json b/plugin.json new file mode 100644 index 0000000..847dea4 --- /dev/null +++ b/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "渠道元数据注入", + "desc": "在LLM上行请求体顶层注入渠道标识ast_platform,区分微信/QQ等,用于统计分析", + "version": "1.0.0", + "author": "wangbing", + "repo": "", + "requirements": [] +} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..3beb7cb --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +aiohttp>=3.9.0