Repository navigation
Conversation
qqqys
force-pushed
the
codex/new-status-card-local-20260908
branch
from
September 9, 2026 03:57
0aa11aa to
35ebc74
Compare
Contributor
|
Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. 中文请勿对活跃的 PR 执行 rebase 或 force-push,因为这会使已有的评审评论失效。另外,供日后参考:作为集成流程的一部分,机器人始终会自动将所有改动压缩(squash)为单个提交。 |
qqqys
force-pushed
the
codex/new-status-card-local-20260908
branch
from
September 9, 2026 04:24
35ebc74 to
ca3cd76
Compare
…rd-local-20260908 # Conflicts: # packages/channels/base/src/ChannelBase.test.ts # packages/channels/base/src/ChannelBase.ts # packages/channels/base/src/types.ts # packages/channels/dingtalk/src/DingtalkAdapter.test.ts # packages/channels/dingtalk/src/DingtalkAdapter.ts # packages/channels/dingtalk/src/interaction-presenter.test.ts # packages/channels/dingtalk/src/interaction-presenter.ts # packages/channels/dingtalk/src/interactive-card-types.test.ts
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
This PR refreshes DingTalk's streaming status card while keeping the interaction surface intentionally small. The card includes the originating request, shows the owning session's model and reasoning effort when configured, removes the provider suffix from display, and offers only start-new-session and compress-context actions after completion.
Tool permission requests continue to use the dedicated native permission card introduced by #10457. This PR does not duplicate permission controls inside the status card.
The callback path accepts DingTalk-generated numeric component suffixes only for known status-card actions. Existing question-card and permission-card callback behavior remains unchanged.
Why it's needed
The previous status card did not preserve enough context once a conversation became busy. Showing the original request and authoritative session metadata makes each result easier to identify, while two owner-bound terminal actions cover the common follow-up operations without turning the card into a control panel.
Reviewer Test Plan
How to verify
Enable DingTalk interactive status cards and send a request that produces streamed output. Confirm that the card shows the original request, updates through the task lifecycle, and displays the active model and non-default reasoning effort. Disable either metadata setting and confirm only the selected field is hidden.
After a task finishes, confirm the only quick actions are starting a new session and compressing context. Verify that only the task owner can use them, actions from an old card cannot target a replaced or active session, and generated callback IDs with numeric suffixes still resolve to the intended action.
Trigger a tool permission request and confirm it uses the dedicated permission card from #10457 rather than adding approval controls to the status card.
Evidence (Before & After)
Before: the status card did not include the originating request or authoritative per-session model metadata and did not provide concise terminal session actions.
After: the status card contains the request, lifecycle output, optional session metadata, and two terminal quick actions. Permission handling remains independently owned by the native permission-card flow already merged into
main.Tested on
Environment (optional)
Local macOS build plus an isolated DingTalk channel using the copied online card template.
Risk & Scope
Linked Issues
N/A
中文说明
本 PR 做了什么
本 PR 更新了钉钉流式状态卡,同时保持简洁的交互范围。卡片会展示原始请求,在配置允许时展示当前会话的模型和思考强度,隐藏模型名中的 provider 后缀,并在完成后只提供开始新会话和压缩上下文两个操作。
工具授权请求继续使用 #10457 已引入的独立原生权限卡。本 PR 不再在状态卡中重复实现审批控件。
回调处理仅对已知状态卡动作兼容钉钉生成的数字后缀。现有问答卡和权限卡的回调行为保持不变。
为什么需要
原状态卡在会话变长后缺少足够的识别信息。展示原始请求和会话实际元数据后,每个结果更容易辨认;两个限定所有者的终态操作覆盖常用后续动作,同时避免把状态卡做成复杂控制面板。
Reviewer Test Plan
如何验证
开启钉钉交互式状态卡,发送一个会产生流式输出的请求。确认卡片展示原始请求,按任务生命周期更新,并展示当前模型和非默认思考强度。分别关闭元数据展示设置,确认只隐藏被关闭的字段。
任务完成后,确认快捷操作只包含开始新会话和压缩上下文。验证只有任务发起者可以操作,旧卡片不能操作已替换或正在执行的会话,同时验证带数字后缀的回调 ID 仍能被正确识别。
触发一次工具授权请求,确认它使用 #10457 的独立权限卡,而不会在状态卡中增加审批控件。
验证证据(前后对比)
修改前:状态卡不包含原始请求或会话实际模型元数据,也没有简洁的终态会话操作。
修改后:状态卡包含请求、生命周期输出、可选的会话元数据和两个终态快捷操作;权限处理继续由已经合入
main的原生权限卡独立负责。已测试环境
环境(可选)
本地 macOS 构建,并使用复制后的线上卡片模板在独立钉钉 channel 中验证。
风险和范围
关联 Issue
无