DingTalkChannel
public final class DingTalkChannel implements Channel
io/agentscope/extensions/channel/dingtalk/DingTalkChannel.java:53–346DingTalk 渠道,把智能体接入外部消息渠道与企业平台。位于 io.agentscope.extensions.channel.dingtalk 包,实现 Channel。核心成员包括 fromProperties、channelId、config、init、start、stop。
DingTalk (钉钉) channel adapter.
Reception mode is selected by DingTalkChannelProperties#mode(): in stream
mode (default), DingTalkStreamClient holds a persistent WebSocket and dispatches each
bot message payload here; in http mode, DingTalkCallbackController receives
signed HTTP callbacks and hands the verified payload to the same intake. Either way the payload
is mapped through DingTalkInboundMapper, deduplicated by msgId, throttled by the
bot-loop guard, then routed via ChannelRouter and executed through the Gateway.
Outbound: DingTalkOutboundClient sends replies through the OpenAPI batchSend
endpoints.
字段摘要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/dingtalk/DingTalkChannel.java:58方法详情Method Detail
fromProperties
public static DingTalkChannel fromProperties(String channelId, ChannelConfig routing, Map<String, Object> rawProperties)
执行来自属性相关操作。
Factory used by io.agentscope.harness.agent.gateway.channel.ChannelFactory.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
channelId | String | 渠道标识(类型 `String`)。The channel id. |
routing | ChannelConfig | 路由(类型 `ChannelConfig`)。The routing. |
rawProperties | Map<String, Object> | 原始属性(类型 `Map`)。The raw properties. |
DingTalkChannelio/agentscope/extensions/channel/dingtalk/DingTalkChannel.java:116–124fromProperties
public static DingTalkChannel 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 | 渠道标识(类型 `String`)。The channel id. |
routing | ChannelConfig | 路由(类型 `ChannelConfig`)。The routing. |
rawProperties | Map<String, Object> | 原始属性(类型 `Map`)。The raw properties. |
idempotency | InboundEventDeduplicator | idempotency(类型 `InboundEventDeduplicator`)。deduplicator for inbound events; must be thread-safe |
DingTalkChannelio/agentscope/extensions/channel/dingtalk/DingTalkChannel.java:134–141fromProperties
public static DingTalkChannel 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 (appKey, appSecret, robotCode, mode, aesKey, ...) |
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 |
DingTalkChannelio/agentscope/extensions/channel/dingtalk/DingTalkChannel.java:157–181channelId
public String channelId()
返回渠道标识。
Returns the channel id.
Stringio/agentscope/extensions/channel/dingtalk/DingTalkChannel.java:187–190config
public ChannelConfig config()
返回配置。
Returns the config.
ChannelConfigio/agentscope/extensions/channel/dingtalk/DingTalkChannel.java:192–195init
public void init(Gateway gateway)
初始化 DingTalkChannel 实例。
Creates a new instance.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
gateway | Gateway | 网关(类型 `Gateway`)。The gateway. |
io/agentscope/extensions/channel/dingtalk/DingTalkChannel.java:197–202start
public void start()
执行启动相关操作。
Returns the start.
io/agentscope/extensions/channel/dingtalk/DingTalkChannel.java:204–217stop
public void stop()
执行停止相关操作。
Returns the stop.
io/agentscope/extensions/channel/dingtalk/DingTalkChannel.java:219–227dispatch
public Mono<Msg> dispatch(InboundMessage message)
设置该参数。
Performs the dispatch operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
message | InboundMessage | 消息(类型 `InboundMessage`)。The message. |
Mono<Msg>io/agentscope/extensions/channel/dingtalk/DingTalkChannel.java:229–246deliver
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/dingtalk/DingTalkChannel.java:248–262