fix(channel): add wechatoa webhook delivery and proxy config (#356)

Unify webhook handling across channel adapters and add the WeChat Official Account channel so inbound routing and replies work without platform-specific handlers. Add adapter-scoped proxy support and stable config field ordering so restricted network environments can deliver WeChat and Telegram messages reliably.
This commit is contained in:
BBQ
2026-04-10 21:26:11 +08:00
committed by GitHub
parent 4d3f2de7e2
commit f376a2abe3
47 changed files with 2361 additions and 315 deletions
+1
View File
@@ -0,0 +1 @@
<svg t="1775783405687" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7926" width="200" height="200"><path d="M250.368 549.888c-2.56-3.072 4.096-21.504 5.12-24.576 5.632-22.016 12.8-43.52 22.016-64 29.696-67.584 76.8-126.976 135.68-172.032C537.6 193.536 706.048 169.984 851.456 230.4c-3.072-1.024-7.68-13.824-9.216-16.384-9.216-14.848-18.944-28.672-30.208-41.984-34.816-42.496-77.824-78.848-126.464-104.448-119.808-61.952-263.68-53.76-374.272 24.064-67.072 47.104-119.808 121.856-134.656 202.752-11.776 65.024 3.584 134.144 33.28 192.512 11.264 22.528 25.088 43.52 40.448 62.976z" fill="#00CC7D" p-id="7927"></path><path d="M559.616 305.664c12.288-5.12 51.2 15.36 61.44 19.968 48.64 20.992 92.16 52.736 127.488 91.648 102.4 112.128 134.656 278.016 72.192 417.792-9.216 20.48-20.48 40.448-33.28 58.88-7.168 10.24-14.336 19.968-22.528 29.184-4.608 5.632-17.92 25.6-24.576 26.624 68.096-11.776 135.168-55.296 181.248-104.96 117.76-125.44 140.288-321.024 27.136-457.216-4.608-5.12-9.216-10.752-13.824-15.36-95.744-100.352-249.856-120.32-375.296-66.56z" fill="#00CC7D" p-id="7928"></path><path d="M92.16 363.52s-10.24 210.432 223.232 366.08c0 0 22.528 5.12 16.384 31.232l-13.824 72.704s-7.68 33.792 25.088 16.384l81.408-53.76s16.384-17.408 50.176-10.24c0 0 176.64 30.208 293.376-72.704-2.048 1.536-2.048 13.312-2.56 15.872-3.072 14.336-6.656 28.16-11.264 41.984-14.848 43.52-36.864 84.48-67.584 118.784-107.52 122.368-291.84 126.464-437.76 82.944-103.424-31.232-195.584-103.424-230.4-207.872C-5.12 694.784-5.12 618.496 15.36 547.328c8.704-30.72 16.896-60.928 28.672-90.624 6.656-16.384 13.824-32.768 22.016-48.64 4.608-10.24 26.112-34.816 26.112-44.544z" fill="#00CC7D" p-id="7929"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+1
View File
@@ -82,6 +82,7 @@ const channelPlatforms: string[] = [
'slack',
'feishu',
'wechat',
'wechatoa',
'wecom',
'matrix',
'dingtalk',
+23
View File
@@ -0,0 +1,23 @@
<template>
<svg
xmlns="http://www.w3.org/2000/svg"
:width="size"
:height="size"
viewBox="0 0 1024 1024"
v-bind="$attrs"
><path
d="M250.368 549.888c-2.56-3.072 4.096-21.504 5.12-24.576 5.632-22.016 12.8-43.52 22.016-64 29.696-67.584 76.8-126.976 135.68-172.032C537.6 193.536 706.048 169.984 851.456 230.4c-3.072-1.024-7.68-13.824-9.216-16.384-9.216-14.848-18.944-28.672-30.208-41.984-34.816-42.496-77.824-78.848-126.464-104.448-119.808-61.952-263.68-53.76-374.272 24.064-67.072 47.104-119.808 121.856-134.656 202.752-11.776 65.024 3.584 134.144 33.28 192.512 11.264 22.528 25.088 43.52 40.448 62.976z"
fill="#00CC7D"
/><path
d="M559.616 305.664c12.288-5.12 51.2 15.36 61.44 19.968 48.64 20.992 92.16 52.736 127.488 91.648 102.4 112.128 134.656 278.016 72.192 417.792-9.216 20.48-20.48 40.448-33.28 58.88-7.168 10.24-14.336 19.968-22.528 29.184-4.608 5.632-17.92 25.6-24.576 26.624 68.096-11.776 135.168-55.296 181.248-104.96 117.76-125.44 140.288-321.024 27.136-457.216-4.608-5.12-9.216-10.752-13.824-15.36-95.744-100.352-249.856-120.32-375.296-66.56z"
fill="#00CC7D"
/><path
d="M92.16 363.52s-10.24 210.432 223.232 366.08c0 0 22.528 5.12 16.384 31.232l-13.824 72.704s-7.68 33.792 25.088 16.384l81.408-53.76s16.384-17.408 50.176-10.24c0 0 176.64 30.208 293.376-72.704-2.048 1.536-2.048 13.312-2.56 15.872-3.072 14.336-6.656 28.16-11.264 41.984-14.848 43.52-36.864 84.48-67.584 118.784-107.52 122.368-291.84 126.464-437.76 82.944-103.424-31.232-195.584-103.424-230.4-207.872C-5.12 694.784-5.12 618.496 15.36 547.328c8.704-30.72 16.896-60.928 28.672-90.624 6.656-16.384 13.824-32.768 22.016-48.64 4.608-10.24 26.112-34.816 26.112-44.544z"
fill="#00CC7D"
/></svg>
</template>
<script setup lang="ts">
withDefaults(defineProps<{ size?: string | number }>(), { size: '1em' })
defineOptions({ inheritAttrs: false })
</script>
+1
View File
@@ -81,6 +81,7 @@ export { default as VertexaiColor } from './icons/VertexaiColor.vue'
export { default as Volcengine } from './icons/Volcengine.vue'
export { default as VolcengineColor } from './icons/VolcengineColor.vue'
export { default as Wechat } from './icons/Wechat.vue'
export { default as Wechatoa } from './icons/Wechatoa.vue'
export { default as Wecom } from './icons/Wecom.vue'
export { default as Xai } from './icons/Xai.vue'
export { default as Yandex } from './icons/Yandex.vue'
File diff suppressed because one or more lines are too long
+5 -2
View File
@@ -443,7 +443,7 @@ export type ChannelChannelCapabilities = {
export type ChannelChannelConfig = {
bot_id?: string;
channel_type?: string;
channel_type?: ChannelChannelType;
created_at?: string;
credentials?: {
[key: string]: unknown;
@@ -463,7 +463,7 @@ export type ChannelChannelConfig = {
export type ChannelChannelIdentityBinding = {
channel_identity_id?: string;
channel_type?: string;
channel_type?: ChannelChannelType;
config?: {
[key: string]: unknown;
};
@@ -472,6 +472,8 @@ export type ChannelChannelIdentityBinding = {
updated_at?: string;
};
export type ChannelChannelType = 'telegram' | 'feishu' | 'dingtalk' | 'matrix' | 'discord' | 'qq' | 'wecom' | 'weixin' | 'wechatoa' | 'local';
export type ChannelConfigSchema = {
fields?: {
[key: string]: ChannelFieldSchema;
@@ -483,6 +485,7 @@ export type ChannelFieldSchema = {
description?: string;
enum?: Array<string>;
example?: unknown;
order?: number;
required?: boolean;
title?: string;
type?: ChannelFieldType;