fix(upstream): M51 收敛剩余上游自由文本出口 - CDP/MCP/flowgate/channelbridge WARN

- channelbridge: 拨号失败的 WARN 不再带原始 dial 错误(含 ?access_token=),
  URLCause 剥壳 + 内嵌地址 MaskQuery 打码 + HostOf 保留目标来源;控制流零改动
- browser/cdp.go: CDP error.message 只有像协议枚举(ErrorToken)才出镜,其余只留字节数
- mcp: 第三方 server 的错误文本默认不带,只留 server/工具/JSON-RPC 码/message 长度,
  分类链(errors.Is/As、context.Canceled)经 Unwrap 保留
- channel/adapter/flowgate: 审查输出摘要由 40 字节改 40 rune(防切 UTF-8)并过 RedactText

四处均补了会随回退变红的用例(变异已实测)。
This commit is contained in:
AskaEth committed 2026-10-26 19:44:22 +08:00
1 parent 2702777950
commit d6493d79f4
10 files changed
+538 -23

No files matched your search

+3 -1
View File
@@ -66,8 +66,10 @@ func (b *Bridge) connectAndRun(a adapter.PlatformAdapter) {
err := a.Connect(connCtx)
cancel()
if err != nil {
// 原始 dial 错误里带着整条拨号地址(`?access_token=…`),不能原样落 WARN;
// connectFailureAttrs 只改文案,不动这里的判定与分支(见 connectlog.go)。
b.log.Warn("channel connect failed, leaving disconnected",
"channel", a.Name(), "error", err)
connectFailureAttrs(a.Name(), err)...)
return
}