原始处理/转换错误文本可以传输到公共通道,而不仅仅是发送给所有者
作者: DawoudIO创建于 2026年9月14日更新于 2026年9月14日
□ 总结
DelivorErrorResult'(集装箱/代理运营商/src/poll-loop.ts')将SDK的原始出错文本逐字张贴到引发当前转折的频道上,而不检查目的地是否公开。 如果一个容器的 “ Claude” 子进程在中转时在公共 Discord/ Slack 通道( 不是任务运行, 不是 DM) 中响应真实消息时死亡, 社区会看到原始的内部错误文本 。
□确认现场
实际观察:`错误:Claude 代码进程以代码137'(SIGKILL——SDK自己的"Process Transport.getProcessExitError")退出,通过读取已公布的QAnthropic-ai/Claude- agent-sdk' package source发布给所有者DM确认. 交付它的代码路径完全没有目的地检查,所以这次降落在DM中的唯一原因是,一个DM恰好是那个特定转弯的背景——同样的路径如果转弯就是答案,就会同样贴入公共频道.
□ 通过来源确认
" poll-loop.ts " ~661行:
如果( resultsBlocks QQ 0 QQ事件. is Error QQ real ! routing. taskRun) { 请检查url=值 (帮助) 等待发送ErrorResult(活动.text,路由); . . . . . . . . {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
`路径=摘录(信息)'(`formatter.ts')完全取自于转弯开始的入境信息——它没有公/私区别。 现有的一个保障是`! routing. taskRun' : 预定任务的错误转到其运行日志, 而不是任何频道。 现场对话回合没有同等的保护.
主机已经具备了需要添加的: “ message groups.is group ” 用于其它地方( “ src/ channels/ channel-defaults.ts ” ) 来区分一个DM 和一个group/ public channel 。 这些数据没有被线到“交付结果”运行的地方,而是在数据模型中已经存在固定需要的区别。
□问
两个相关但可分离的东西, 无论是 src/ message groups.is group 目前无法在发送时使用 :
1. ** 绝不向非所有人或公共目的地提供原始过程/回合级错误文本。 ** 取而代之的是短通行("某事出错,重试"或类似)来代替SDK/提供者的内部消息.
2. 完整细节(真实错误文本)仍然到达所有者手中——要么是因为转弯实际上是在所有者DM中,要么是在没有转弯时通过单独的主机方通知给所有者自己的频道.
□ 相关,但不同
QQ3576 ' (限速转弯,重复错误通知) 共享同一个呼叫站点和根源类(无条件的东道方发送,没有政策门),但涉及*重复 * 已经到达目的地的通知。 这个问题涉及通知到达*错误*目的地,甚至一次。 值得一起修理,因为它们是相邻的, 但独立有效 和独立的固定.内容来源: nanocoai/nanoclaw