WeComChannel
public final class WeComChannel implements Channel
io/agentscope/extensions/channel/wecom/WeComChannel.java:49–288WeCom 渠道,把智能体接入外部消息渠道与企业平台。位于 io.agentscope.extensions.channel.wecom 包,实现 Channel。核心成员包括 fromProperties、channelId、config、init、start、stop。
WeCom (企业微信) channel adapter.
Inbound: relies on Spring-managed WeComCallbackController that receives the URL
verification handshake and encrypted message callbacks, decrypts via WeComCrypto,
deduplicates by MsgId, runs the bot-loop guard, and dispatches into this channel.
Outbound: uses WeComOutboundClient to call /cgi-bin/message/send for DMs and
/cgi-bin/appchat/send for groups, authenticating with an access_token from
WeComAccessTokenProvider.
字段摘要Field Summary
| 字段Field | 类型Type | 说明Description |
|---|---|---|
TYPEstaticfinal | String | 类型字段。 `type` value used in `agentscope.json` and `io.agentscope.harness.agent.gateway.channel.ChannelFactory`. |
方法摘要Method Summary
字段详情Field Detail
TYPE
public static final String TYPE
类型字段。声明为 public static final String TYPE。
type value used in agentscope.json and io.agentscope.harness.agent.gateway.channel.ChannelFactory.
io/agentscope/extensions/channel/wecom/WeComChannel.java:54方法详情Method Detail
fromProperties
public static WeComChannel fromProperties(String channelId, ChannelConfig routing, Map<String, Object> rawProperties)
执行来自属性相关操作。
Factory used by io.agentscope.harness.agent.gateway.channel.ChannelFactory.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
channelId | String | 渠道标识(密钥 in`agentscope.json#channels`)。the channel id (key in `agentscope.json#channels`) |
routing | ChannelConfig | `ChannelConfig`已解析来自文件条目's 路由块。the `ChannelConfig` parsed from the file entry's routing block |
rawProperties | Map<String, Object> | 原始属性(类型 `Map`)。provider-specific properties (corpId, agentId, secret, token, encodingAesKey, ...) |
WeComChannelio/agentscope/extensions/channel/wecom/WeComChannel.java:106–114fromProperties
public static WeComChannel fromProperties(String channelId, ChannelConfig routing, Map<String, Object> rawProperties, InboundEventDeduplicator idempotency)
执行来自属性相关操作。
Factory variant that lets the application supply the InboundEventDeduplicator used to drop platform redeliveries — for example a shared-storage implementation so duplicates are recognized across instances.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
channelId | String | 渠道标识(密钥 in`agentscope.json#channels`)。the channel id (key in `agentscope.json#channels`) |
routing | ChannelConfig | `ChannelConfig`已解析来自文件条目's 路由块。the `ChannelConfig` parsed from the file entry's routing block |
rawProperties | Map<String, Object> | 原始属性(类型 `Map`)。provider-specific properties (corpId, agentId, secret, token, encodingAesKey, ...) |
idempotency | InboundEventDeduplicator | idempotency(类型 `InboundEventDeduplicator`)。deduplicator for inbound events; must be thread-safe |
WeComChannelio/agentscope/extensions/channel/wecom/WeComChannel.java:128–135fromProperties
public static WeComChannel fromProperties(String channelId, ChannelConfig routing, Map<String, Object> rawProperties, InboundEventDeduplicator idempotency, AccessTokenStore tokenStore)
执行来自属性相关操作。
Factory variant that additionally lets the application supply the AccessTokenStore caching the outbound access token — for example a shared-storage implementation so one instance's refresh or invalidation serves the whole deployment.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
channelId | String | 渠道标识(密钥 in`agentscope.json#channels`)。the channel id (key in `agentscope.json#channels`) |
routing | ChannelConfig | `ChannelConfig`已解析来自文件条目's 路由块。the `ChannelConfig` parsed from the file entry's routing block |
rawProperties | Map<String, Object> | 原始属性(类型 `Map`)。provider-specific properties (corpId, agentId, secret, token, encodingAesKey, ...) |
idempotency | InboundEventDeduplicator | idempotency(类型 `InboundEventDeduplicator`)。deduplicator for inbound events; must be thread-safe |
tokenStore | AccessTokenStore | 令牌存储(类型 `AccessTokenStore`)。cache for this channel's access token — one instance per credential, not to be shared across channels with different credentials; must be thread-safe |
WeComChannelio/agentscope/extensions/channel/wecom/WeComChannel.java:151–177channelId
public String channelId()
返回渠道标识。
Returns the channel id.
Stringio/agentscope/extensions/channel/wecom/WeComChannel.java:183–186config
public ChannelConfig config()
返回配置。
Returns the config.
ChannelConfigio/agentscope/extensions/channel/wecom/WeComChannel.java:188–191init
public void init(Gateway gateway)
初始化 WeComChannel 实例。
Creates a new instance.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
gateway | Gateway | 网关(类型 `Gateway`)。The gateway. |
io/agentscope/extensions/channel/wecom/WeComChannel.java:193–198start
public void start()
执行启动相关操作。
Returns the start.
io/agentscope/extensions/channel/wecom/WeComChannel.java:200–209stop
public void stop()
执行停止相关操作。
Returns the stop.
io/agentscope/extensions/channel/wecom/WeComChannel.java:211–215dispatch
public Mono<Msg> dispatch(InboundMessage message)
设置该参数。
Performs the dispatch operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
message | InboundMessage | 消息(类型 `InboundMessage`)。The message. |
Mono<Msg>io/agentscope/extensions/channel/wecom/WeComChannel.java:217–233deliver
public void deliver(OutboundAddress address, List<Msg> messages)
执行 deliver 方法。
Performs the deliver operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
address | OutboundAddress | address(类型 `OutboundAddress`)。The address. |
messages | List<Msg> | 消息列表(类型 `List`)。The messages. |
io/agentscope/extensions/channel/wecom/WeComChannel.java:235–249