将语义代理转换失败暴露给平台完成钩子
作者: drj0717创建于 2026年9月16日更新于 2026年9月17日
标签type/bugcomp/gatewaycomp/pluginsP3
□ 问题
平台适配器无法区分实质性完成的代理转接与正常的工作前代理故障,其用户发报错误文本成功.
关于目前的 " 起源/主 " 784d5c3f9c2cb77698d8a9d2e72b1d106a38ea88 " :
- “门路/运行 turn.py”计算出“代理失败 早期= bul(代理失败).get(“失败”)”并返回正常的用户故障文本。
出入口/站台/基座.py'将成功交付该案文视为处理结果'。 失败。- `BasePlatformAdapter.on process complete (event, results)'只接收交付式结果,而不是代理级故障状态。
这对持久平台插件很重要. 一个队列/收件箱适配器必须在实质性工作完成后才能推进持久读取状态. 今天,一般的工作前失败可以交付,向适配方报告为SUCCESS,错误地记录为持久的最后的 -- -- 退休的未完成的工作。
□再现.
由持久本地队列支撑的平台适配器 :
- 收到可采取行动的请求并写出其协议ACK;
- 利用正常的网关转弯;
- 代理人在进行实质性工作前未完成;
- QQhmwa agent error reply " 返回已消毒的重试/重置消息;
- 交货成功,完成接钩收到 " 处理结果 " 。 " 失败 " ;
- 适配器除了实质性结果之外不能说出这一点,而且可以推进读入状态。
插件侧复制使用了真实的 “ Gateway TurnMixin. hmwa agent error reply” 和真实的“ BasePlatformAdapter” 背景任务 。 耐用商店以ACK + Final结束,没有等待处理的请求,尽管没有开展实质性工作。
□ 请求支持的接合
曝光语义代理-回合完成/未能完成平台完成处理而不需要适配器检查本地化/用户可见出错字符串. 可能的相容形状包括:
- 用于
处理-完成 ' 的MessageEvent ' 的稳定结果领域;或 - 新的/附加的补全钩子,在保留现有的两条论据后,带有代理结果/失败位;或
- 一个不把交付成功与代理成功混为一谈的显著语义结果。
准确的API形状是一个维护者的决定. 需要的无变体是,一个适配器在实质性完成没有建立时可能会被关闭,即使一个正常的错误回复被成功发送.
□ 约束
- 不需要字符串匹配到用户发报错误。
- 保证成功向人造平台交付已消毒故障反应。
- 维护现有适配器钩子的后向兼容性。 添加行为测试, 涵盖工作前代理失败, 并成功发送错误文本 。
□下游消费者
`Hive-agent-comm-plugin'使用本地附件唯一的后端,并带有协议ACK/最终和持久的读取状态推进. 其网关订购公关被故意封锁,而不是在SUCCESS的假信号下将未完成的工作退役.
内容来源: NousResearch/hermes-agent