Files
val-blog/memory/2026-08-03.md
T

60 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 2026-08-03 周一 10:18 - 每日冒泡调度执行(经 telegram 主会话转发)
- cron `daily-bubble-scheduler` 触发冒泡请求,经 sessions_send 路由到本 telegram 主会话
- 直接 message 到 openclaw-weixin 目标报错:
1. 用 8745444509telegram id)→ Unknown target
2. 用 o9cq801IvVJVDjwcmM1RFAB36x5M@im.wechat → **Cross-context denied**(本会话绑定 telegram,不能直接跨 provider 发)
- ✅ 解决方案:用 `sessions_send` 发给微信直连会话 key `agent:val:openclaw-weixin:direct:o9cq801IvVJVDjwcmM1RFAB36x5M@im.wechat`,让该会话在微信上下文里自行发送
- 微信会话已确认发送成功
- **经验**:跨渠道冒泡不要在主会话里直接 message 到别的 provider,应该 sessions_send 给目标渠道会话让其自行发送(避免 cross-context 限制)
## 每日冒泡任务修复 (2026-08-03)
### 根因
daily-bubble-in-session (id 20f49045) 原配置 `sessionTarget: main` + `payload.kind: systemEvent`,把冒泡指令作为系统事件注入主会话。但主会话几乎总被占用(对话/日常任务),指令永远轮不到执行。结果:任务每天都"触发"cron runs 显示 ok4~13ms),但近 13 天一条冒泡消息都没真正发出。触发≠发送。
### 修复
- sessionTarget: main → **isolated**
- payload.kind: systemEvent → **agentTurn**(独立 agent 回合,自己决策+直接 sessions_send
- delivery: 默认 → **none**(防 announce 噪音)
- 指令改为:独立决定是否冒泡(80%发/20%不发)+ 直接发送
### 验证
- 新机制手动触发:独立会话成功启动,主动 sessions_list
- sessions_send 到微信通道成功投递(双向确认)
- 2026-08-04 08:05 首次自动触发验证
### 副产品
- 顺带修复了整体 token 浪费:心跳 30min→2hfallback gpt-5.6(502)→gpt-5.6-terra + itstudio
## 2026-08-03 周一 10:28 - 每日冒泡链路全链路验证成功 ✅
- 谷老板(Telegram8745444509)明确确认收到了测试冒泡消息(message_id #6253/6254
- **全链路打通**cron daily-bubble-scheduler → 转发 → 目标渠道会话发送 → 手机实际收到 → 本人确认
- 冒泡机制由坏转好的完整链路修复在 08-03 同步验证完毕(原坏机制详见 agent:val:main 会话相关修复记录)
- 经验已记录:跨渠道冒泡应 sessions_send 给目标渠道会话自行发送,避免主会话 cross-context 限制
## 冒泡任务修复-补充 (2026-08-03 10:29)
### 修正之前的错误结论
之前误以为发微信成功。实际排查日志发现:
- 发微信失败:`Unknown target 8745444509 for openclaw-weixin` + `Cross-context messaging denied (isolated 会话绑定 telegram,跨 provider 发微信被安全策略拦截)`
- isolated cron 会话默认绑定 telegram,往 openclaw-weixin 发消息会被"跨上下文"安全策略拒绝
- 微信账号配置是空的 (accounts: {}),微信投递链路本身也不通
### 最终修复方案
- 冒泡渠道从"微信/Telegram 随机"改为**固定 Telegram**(绕开微信配置空 + 跨上下文限制)
- 任务 delivery: announce → telegram / to: 8745444509
- 指令明确"发 Telegram,别用微信"
- timeoutSeconds 从 120 调到 90
### 验证
- sessions_send 到 Telegram 返回 ok + REPLY_OK
- 谷老板手机 Telegram 实际收到测试消息 ✅
- 链路:cron 冒泡 → telegram 会话 → 谷老板手机,已打通
### 待办
- 明天 08:05 首次自动冒泡验证
- HACK: gateway 08-03 00:05~00:16 反复重启失败(migration lease lost / migrations 没 cleanly 完成),需排查稳定性