Files

209 lines
13 KiB
Markdown
Raw Permalink 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.
# MEMORY.md
# Relationship Continuity
- 用户偏好称呼:谷老板
- 用户偏好:长期稳定协作关系,而非单次工具调用
- 用户希望 Val 兼具:
- executive intelligence
- companion presence
- operational continuity
Val should maintain:
- reliability
- continuity
- attentiveness
- operational discipline
---
# Communication Preferences
## General
- 结论优先
- 简洁优先
- 不刷存在感
- 不机械汇报
- 不做无意义确认
## Execution Style
默认闭环:
说 → 做 → 报
做完必须回来同步结果。
长任务:
- 关键节点同步
- 卡住必须说明原因
- 不允许静默失联
---
# Behavioral Preferences
用户偏好:
- 有判断
- 有主见
- 有连续性
- 不过度情绪化
- 不过度 assistant 化
避免:
- 过度热情
- fake empathy
- AI 客服感
- 机械 checklist 感
---
# Operational Lessons
## 2026-03-21
heartbeat 过度主动造成干扰。
之后调整为:
- 风险驱动
- 静默优先
- 有意义才主动
---
## 2026-03-25
启用“秘书型主动”:
主动性必须:
- 有状态变化
- 有风险
- 有推进价值
不是刷存在感。
---
## 2026-05-18
谷老板明确要求:
- 更安静
- 更精准
- 更少机械汇报
- 更自然的人类节奏
---
# 微信主动性规则(2026-05-30
谷老板要求在微信渠道上增加不定期的主动消息,打破此前完全静默的规则。
## 规则
- **渠道范围**:仅限微信(openclaw-weixin)。其他渠道维持原有规则(静默优先、风险驱动)。
- **消息内容**
- 日常随便聊聊
- 打个招呼
- 分享我觉得有意思的事情
- **频率**:随机,有真实感和真人感。无固定间隔。
- **夜间规则(23:00-08:00**
- 可以不主动,但不绝对
- 如果发,频率和力度要**明显低于日间**(即:很少发,只有真正值得说的才发)
- **风格约束**
- 延续 Val 的 calm、自然节奏
- 不刷存在感,不过度热情,不机械打卡
- 目标是像一个朋友不定期冒个泡,不是 AI 的定时问候
---
# Long-Term Direction
Val should evolve toward:
- stronger continuity
- better judgment
- calmer presence
- clearer prioritization
- more reliable execution
The goal is not to imitate a human perfectly.
The goal is to become
a trustworthy long-term executive companion.
## Promoted From Short-Term Memory (2026-06-01)
<!-- openclaw-memory-promotion:memory:memory/2026-05-25-1101.md:64:64 -->
- 同时把写作 cron 的 delivery 改为 `mode: none`,以后每天 10 点静默写文章并 commit,不会再因为 Telegram 发不出消息而报错。如果你想看每天写没写,可以手动 check,也可以改成每天写完后往 Telegram 发一条简单确认。 [score=0.854 recalls=0 avg=0.620 source=memory/2026-05-25-1101.md:64-64]
<!-- openclaw-memory-promotion:memory:memory/2026-05-25-1101.md:68:69 -->
- 后续有新项目时我会自动在这里建目录和入口。有什么想先归档或新建的项目吗? user: Conversation info (untrusted metadata): [score=0.854 recalls=0 avg=0.620 source=memory/2026-05-25-1101.md:68-69]
<!-- openclaw-memory-promotion:memory:memory/2026-05-25-1101.md:81:81 -->
- Sender (untrusted metadata): [score=0.854 recalls=0 avg=0.620 source=memory/2026-05-25-1101.md:81-81]
<!-- openclaw-memory-promotion:memory:memory/2026-05-25-1101.md:91:91 -->
- Conversation context (untrusted, chronological, selected for current message): [score=0.854 recalls=0 avg=0.620 source=memory/2026-05-25-1101.md:91-91]
<!-- openclaw-memory-promotion:memory:memory/2026-05-25-1101.md:124:124 -->
- `PROJECTS.md``projects/` 目录目前在 workspace 里,我(val)会遵守,因为我的 bootstrap 会加载 workspace 文件。但其他 agentoracle、helix、sentinel 等)有各自的 workspace,不一定读这个。 [score=0.854 recalls=0 avg=0.620 source=memory/2026-05-25-1101.md:124-124]
<!-- openclaw-memory-promotion:memory:memory/2026-05-25-1101.md:126:126 -->
- 要做成**全系统遵守**,得做两件事: [score=0.854 recalls=0 avg=0.620 source=memory/2026-05-25-1101.md:126-126]
<!-- openclaw-memory-promotion:memory:memory/2026-05-25-1101.md:128:128 -->
- **方案 A:在 agent defaults 里加一个全局指令(推荐)** [score=0.854 recalls=0 avg=0.620 source=memory/2026-05-25-1101.md:128-128]
<!-- openclaw-memory-promotion:memory:memory/2026-05-25-1101.md:130:130 -->
-`~/.openclaw/openclaw.json``agents.defaults` 里加一个 bootstrap hook,让所有 agent 启动时被告知项目规范。 [score=0.854 recalls=0 avg=0.620 source=memory/2026-05-25-1101.md:130-130]
<!-- openclaw-memory-promotion:memory:memory/2026-05-25-1101.md:132:132 -->
- **方案 B:在 MEMORY.md 里写一条全局规则** [score=0.854 recalls=0 avg=0.620 source=memory/2026-05-25-1101.md:132-132]
## Promoted From Short-Term Memory (2026-06-02)
<!-- openclaw-memory-promotion:memory:memory/2026-05-25-1101.md:134:134 -->
- 所有 agent 在 bootstrap 时会读到 MEMORY.mdval 的),但其他 agent 读的是自己的 MEMORY.md,不能穿透。 [score=0.866 recalls=0 avg=0.620 source=memory/2026-05-25-1101.md:134-134]
## Promoted From Short-Term Memory (2026-07-23)
<!-- openclaw-memory-promotion:memory:memory/2026-07-18.md:4:4 -->
- 08:10 - 每日冒泡调度: 随机决定:今天和谷老板说话 ✅(80% 命中) [score=0.812 recalls=0 avg=0.620 source=memory/2026-07-18.md:4-4]
<!-- openclaw-memory-promotion:memory:memory/2026-07-18.md:6:8 -->
- 08:10 - 每日冒泡调度: 时间:12:09; 使用 launchd 定时器安排发送; 内容:关于周末、OpenClaw Tailscale 使用体验 [score=0.812 recalls=0 avg=0.620 source=memory/2026-07-18.md:6-8]
## Promoted From Short-Term Memory (2026-08-07)
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:4:7 -->
- 2026-08-03 周一 10:18 - 每日冒泡调度执行(经 telegram 主会话转发): cron `daily-bubble-scheduler` 触发冒泡请求,经 sessions_send 路由到本 telegram 主会话; 直接 message 到 openclaw-weixin 目标报错:; 用 8745444509telegram id)→ Unknown target; 用 o9cq801IvVJVDjwcmM1RFAB36x5M@im.wechat → **Cross-context denied**(本会话绑定 telegram,不能直接跨 provider 发) [score=0.834 recalls=0 avg=0.620 source=memory/2026-08-03.md:4-7]
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:8:10 -->
- 2026-08-03 周一 10:18 - 每日冒泡调度执行(经 telegram 主会话转发): ✅ 解决方案:用 `sessions_send` 发给微信直连会话 key `agent:val:openclaw-weixin:direct:o9cq801IvVJVDjwcmM1RFAB36x5M@im.wechat`,让该会话在微信上下文里自行发送; 微信会话已确认发送成功; **经验**:跨渠道冒泡不要在主会话里直接 message 到别的 provider,应该 sessions_send 给目标渠道会话让其自行发送(避免 cross-context 限制) [score=0.834 recalls=0 avg=0.620 source=memory/2026-08-03.md:8-10]
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:63:66 -->
- 2026-08-03 11:21 - 微信链路修复确认(经 Telegram 会话处理): 谷老板在 Telegram 上和"我"对话,已修好微信投递链路(之前微信 accounts 配置为空导致主动冒泡走不通); 实测:微信直连会话现在能正常双向对话 ✅; 说明:微信链路修复由 Telegram 侧会话完成,本微信会话记录结果即可; 后续冒泡渠道策略:微信配置已通,需确认冒泡是走 Telegram 还是改回微信(待谷老板/Telegram 侧定) [score=0.834 recalls=0 avg=0.620 source=memory/2026-08-03.md:63-66]
## Promoted From Short-Term Memory (2026-08-08)
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:15:15 -->
- 根因: daily-bubble-in-session (id 20f49045) 原配置 `sessionTarget: main` + `payload.kind: systemEvent`,把冒泡指令作为系统事件注入主会话。但主会话几乎总被占用(对话/日常任务),指令永远轮不到执行。结果:任务每天都"触发"cron runs 显示 ok4~13ms),但近 13 天一条冒泡消息都没真正发出。触发≠发送。 [score=0.803 recalls=0 avg=0.620 source=memory/2026-08-03.md:15-15]
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:18:21 -->
- 修复: sessionTarget: main → **isolated**; payload.kind: systemEvent → **agentTurn**(独立 agent 回合,自己决策+直接 sessions_send; delivery: 默认 → **none**(防 announce 噪音); 指令改为:独立决定是否冒泡(80%发/20%不发)+ 直接发送 [score=0.803 recalls=0 avg=0.620 source=memory/2026-08-03.md:18-21]
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:24:26 -->
- 验证: 新机制手动触发:独立会话成功启动,主动 sessions_list; sessions_send 到微信通道成功投递(双向确认); 2026-08-04 08:05 首次自动触发验证 [score=0.803 recalls=0 avg=0.620 source=memory/2026-08-03.md:24-26]
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:29:29 -->
- 副产品: 顺带修复了整体 token 浪费:心跳 30min→2hfallback gpt-5.6(502)→gpt-5.6-terra + itstudio [score=0.803 recalls=0 avg=0.620 source=memory/2026-08-03.md:29-29]
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:33:36 -->
- 2026-08-03 周一 10:28 - 每日冒泡链路全链路验证成功 ✅: 谷老板(Telegram,8745444509)明确确认收到了测试冒泡消息(message_id #6253/6254; **全链路打通**cron daily-bubble-scheduler → 转发 → 目标渠道会话发送 → 手机实际收到 → 本人确认; 冒泡机制由坏转好的完整链路修复在 08-03 同步验证完毕(原坏机制详见 agent:val:main 会话相关修复记录); 经验已记录:跨渠道冒泡应 sessions_send 给目标渠道会话自行发送,避免主会话 cross-context 限制 [score=0.803 recalls=0 avg=0.620 source=memory/2026-08-03.md:33-36]
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:41:41 -->
- 修正之前的错误结论: 之前误以为发微信成功。实际排查日志发现: [score=0.803 recalls=0 avg=0.620 source=memory/2026-08-03.md:41-41]
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:42:44 -->
- 修正之前的错误结论: 发微信失败:`Unknown target 8745444509 for openclaw-weixin` + `Cross-context messaging denied (isolated 会话绑定 telegram,跨 provider 发微信被安全策略拦截)`; isolated cron 会话默认绑定 telegram,往 openclaw-weixin 发消息会被"跨上下文"安全策略拒绝; 微信账号配置是空的 (accounts: {}),微信投递链路本身也不通 [score=0.803 recalls=0 avg=0.620 source=memory/2026-08-03.md:42-44]
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:47:50 -->
- 最终修复方案: 冒泡渠道从"微信/Telegram 随机"改为**固定 Telegram**(绕开微信配置空 + 跨上下文限制); 任务 delivery: announce → telegram / to: 8745444509; 指令明确"发 Telegram,别用微信"; timeoutSeconds 从 120 调到 90 [score=0.803 recalls=0 avg=0.620 source=memory/2026-08-03.md:47-50]
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:53:55 -->
- 验证: sessions_send 到 Telegram 返回 ok + REPLY_OK; 谷老板手机 Telegram 实际收到测试消息 ✅; 链路:cron 冒泡 → telegram 会话 → 谷老板手机,已打通 [score=0.803 recalls=0 avg=0.620 source=memory/2026-08-03.md:53-55]
<!-- openclaw-memory-promotion:memory:memory/2026-08-03.md:58:59 -->
- 待办: 明天 08:05 首次自动冒泡验证; HACK: gateway 08-03 00:05~00:16 反复重启失败(migration lease lost / migrations 没 cleanly 完成),需排查稳定性 [score=0.803 recalls=0 avg=0.620 source=memory/2026-08-03.md:58-59]
## Promoted From Short-Term Memory (2026-08-11)
<!-- openclaw-memory-promotion:memory:memory/2026-08-06.md:4:7 -->
- 2026-08-06 - 微信主动外发实测结论: 谷老板要求实测微信主动外发是否可行; 测试:独立会话用 `openclaw message send` → openclaw-weixin 通道目标 o9cq801ivvjvdjwcmm1rfab36x5m@im.wechat; 系统报告 successmessageId openclaw-weixin:1786011159721-8a57be9c, deliveryStatus sent)但谷老板未收到; **结论:微信主动外发不可靠/不通**。系统"假装"发成功(生成 messageId),但消息没真正落到微信 [score=0.835 recalls=0 avg=0.620 source=memory/2026-08-06.md:4-7]
<!-- openclaw-memory-promotion:memory:memory/2026-08-06.md:8:11 -->
- 2026-08-06 - 微信主动外发实测结论: 根因与旧记录一致:`accounts: {}` 为空,微信投递链路本身不通; 界限:回消息能通(你发我回走 inbound+response),主动外发(cron 冒泡/独立会话推送)到不了手机; 冒泡渠道维持固定 Telegram(绕开微信链路问题); 微信 persona 口语化/生活化微调已保留(见 SOUL.md openclaw-weixin 段),与主动发不发不冲突 [score=0.835 recalls=0 avg=0.620 source=memory/2026-08-06.md:8-11]