feat(tools): add detached async execution - #267
Merged
Conversation
Contributor
Author
|
补充实现说明: 本 PR 新增 Detached 异步工具执行模式,适用于下单、审批、导出等“提交后立即返回任务号、后续主动查询”的业务流程。 核心流程:
示例用户体验: 验证:
当前实现暂不主动推送业务完成通知;任务完成后由用户通过 taskId 主动查询。 |
Contributor
Author
|
已补充多步 SOP + 异步工具的可恢复工作流支持。 实现链路:
验证:
当前范围:用户需要发送下一条消息后恢复 SOP;业务完成后的自动唤醒和主动消息推送暂未包含在本次改动中。 |
Contributor
Author
|
已补充多步异步 SOP 的完整回归测试,新增提交: 新增测试覆盖完整恢复链路: 重点验证:
验证结果:
本次实现仍保持当前产品语义:业务任务完成后不会自动唤醒 Agent;用户发送下一条消息后恢复原 SOP。 |
hm1229
self-requested a review
September 9, 2026 11:05
hm1229
approved these changes
Sep 9, 2026
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.
Summary
Idempotency-Keyfor provider submissions and avoid replaying requests with ambiguous outcomesBehavior
StaffDeck-managed background execution
Provider-managed async tasks
task_id_fieldstatus_urlusing the provider task IDEXTERNAL_TASK_CALLBACK_BASE_URLis configuredoutcome_unknowninstead of replaying a potentially non-idempotent requestConversation and SOP behavior
Configuration
EXTERNAL_TASK_CALLBACK_BASE_URL: optional externally reachable StaffDeck base URL used to construct provider callback URLs; production deployments should use HTTPSstatus_urland can configure task ID, status, result, mapping, polling interval, and tracking deadline fieldsValidation
git diff --checkpassed/enterprise/tools/new, English UI, both async strategies and provider fields verified