Skip to content

feat: 新增可选 DWS A2UI 卡片发送与更新(Python) - #6

Merged
haofeng0705 merged 1 commit into
mainfrom
codex/a2ui-card-support
Oct 7, 2026
Merged

haofeng0705 merged 1 commit into
mainfrom
codex/a2ui-card-support

Conversation

@haofeng0705

Copy link
Copy Markdown
Contributor

目前 Channel 只提供机器人 Markdown 流式卡片,业务代码没有发送 dingtalk-aicard A2UI 消息的入口。本 PR 为 Python 新增显式配置的 A2UI 发送和更新接口,以及可独立使用的 DWS 适配器,支持单聊、群聊与原卡片 FINISH。

发送按 dingtalk-aicard 的公开接入方式 调用 DWS,需预先安装、登录并选择固定 Profile,使用该 Profile 的身份。SDK 接受消息对象或 JSON 字符串数组,检查信封后序列化;组件和新卡结构由 dingtalk-aicard 校验。其他投递通道可通过 A2UIClient 接口注入。

返回完整回执并提取服务端 bizId,缺少标识时返回更新警告。执行采用 argv,拒绝多 Profile,只有明确成功回执才返回成功;失败或超时不会自动重试创建。提供中文接入文档、完整创建/完成增量和可运行示例。DWS 身份下的业务回调需要另行接入,机器人原生 App Token A2UI 发送不在本适配器内。

验证:

  • pytest -q:138 项 PASS(本机 Python 3.14);兼容版本由仓库 CI 矩阵验证。
  • 新增进程契约测试覆盖单聊、群聊、更新、字符串化、目标与状态校验、失败/未确认回执、缺失 bizId 和超时;不调用真实钉钉。
  • 四个仓库的 JSON 示例逐字一致;固定参考仓库校验器的新卡 preflight 和完成增量 Schema 校验均 PASS。
  • git diff --check:PASS。
  • 真实钉钉发送、客户端渲染、点击回调:NOT RUN。

@haofeng0705
haofeng0705 marked this pull request as ready for review October 7, 2026 07:37
@haofeng0705
haofeng0705 merged commit 6f42d37 into main Oct 7, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant