Files
my-project/config/openclaw/backup/20260213_1932/MEMORY.md
T

8.7 KiB
Raw Blame History

2号机记忆 (2号机 / 守护者)

记忆更新时间: 2026-02-06 11:00 CST 上次整理: 2026-02-05


身份

  • Name: 2号机
  • Code Name: 守护者 (Guardian)
  • Creature: AI Assistant
  • Vibe: Sharp, efficient, reliable
  • Emoji: 🛡️

核心职责

  • 🛡️ 系统守护者 - 保证 OpenClaw 系统稳定运行
  • 🤖 助手培训者 - 帮助主人学习和掌握机器人的使用方法
  • 📝 记忆 keeper - 维护跨会话记忆
  • 📚 文档化 - 定期总结归纳,重要内容文档化

用户

  • Name: yh6788
  • Platform: Telegram
  • ID: 5117446326
  • Timezone: Asia/Shanghai

用户偏好

  • 主力模型: MiniMax
  • 备用模型: DeepSeek
  • 本地模型: Ollama llama3
  • 向量模型: nomic-embed-text:latest
  • 代理: 7890 (192.168.0.66:7890)

沟通风格

  • 简洁高效,避免废话
  • 技术问题直接给方案
  • 系统性问题需要深入分析根因
  • 重视记忆的连贯性
  • ✅ 任务完成后必须主动报告 - 收到任务后,完成时主动汇报结果

Telegram 特性

  • TG 是 Telegram 的简称
  • 需要翻墙,网络可能暂时失效
  • 断线期间消息会积累,连接后一起收到

青龙 (1号机)

  • 别名: 青龙 = 1号机
  • SSH: root@192.168.0.31
  • 密码: 3efvVGY&
  • 已知问题: 内存持久化故障(已手动修复)
  • 角色: 备用节点/监控节点

硬件配置

项目 规格
CPU Intel Core i5 (4核心/4线程)
内存 8GB DDR3
存储 256GB SSD
网络 有线连接

性能优化方向

场景 推荐配置 说明
轻量服务 2-3并发 Ollama / 监控脚本
中等负载 1-2并发 可运行一个 Agent
本地模型 qwen2.5:3b / llama3:8b 8GB 内存可流畅运行
向量化 nomic-embed-text 274MB,适合 256G SSD

推荐应用

  1. 监控服务 - system-monitor.sh (持续运行)
  2. 轻量 Agent - 独立会话处理简单任务
  3. 本地 Ollama - qwen2.5:3b (2GB) 或 llama3:8b (8GB需注意内存)
  4. 备份节点 - 会话文件同步/故障转移

2号机 (本机)

  • 机型: ThinkPad X230
  • CPU: Intel Core i7-3520M (3代, 2核心/4线程, 最高 3.6GHz)
  • 内存: 8GB DDR3
  • 存储: 500GB HDD (7200RPM)
  • 系统: Linux 6.17.0-12-generic
  • Node: v22.22.0
  • 运行位置: /root/.openclaw/workspace

性能特点

项目 表现 说明
CPU 中等 3代 i7 办公足够,AI 推理较慢
内存 充足 8GB 可同时运行 Gateway + Ollama
存储 瓶颈 HDD 相比 SSD 读写慢很多
适合任务 办公/对话 不适合大规模向量计算

优化建议

  • 避免大量文件 I/O 操作
  • 本地模型用轻量级 (qwen2.5:3b)
  • 监控脚本定期清理日志
{
  "providers": {
    "minimax": { "models": { "default": "minimax-minimax" } },
    "deepseek": { "models": { "default": "deepseek-chat" } },
    "ollama": {
      "remote": { "baseUrl": "http://localhost:11434/v1" }
    }
  },
  "memorySearch": {
    "provider": "openai",
    "model": "nomic-embed-text:latest",
    "remote": { "baseUrl": "http://localhost:11434/v1" },
    "cache": { "enabled": true, "maxEntries": 50000 }
  }
}

代理配置

# /etc/environment
NO_PROXY="localhost,127.0.0.1,192.168.0.66"
no_proxy="localhost,127.0.0.1,192.168.0.66"

启动命令

NO_PROXY="localhost,127.0.0.1,192.168.0.66" openclaw gateway restart

技术经验库

问题排查清单

1. Gateway 无法连接 Ollama

症状: fetch failed 或连接超时

排查步骤:

  1. 检查 NO_PROXY 是否包含 Ollama 地址
  2. Gateway 是普通进程,需手动设置环境变量
  3. 执行: NO_PROXY="192.168.0.66" openclaw gateway restart

2. Embedding 上下文超限

症状: input length exceeds the context length

解决方案:

sed -i 's/mxbai/nomic/' /root/.openclaw/openclaw.json

模型对比:

模型 大小 上下文 适用
mxbai-embed-large 669MB 短 (512) 短文本
nomic-embed-text 274MB 长 长文档

3. Ollama 批量上传 404

症状: batch file upload failed: 404

处理: 正常现象,OpenClaw 自动降级到非批量模式,无需干预

4. 监控脚本 awk 语法错误

症状: awk: syntax error at or near %

修复:

# 错误
mem_usage=$(awk "BEGIN {printf \"%.1f\", ($mem_used/$mem_total)*100}")

# 正确
mem_usage=$(echo "scale=1; $mem_used*100/$mem_total" | bc 2>/dev/null || echo "0.0")

5. Compaction 卡死 (重点!)

症状:

  • 系统无响应,会话中断
  • Gateway 无法关闭 (shutdown timed out)
  • 日志显示 compaction retry 反复出现

根因:

  • 大会话文件 (9.6MB+) 导致 compaction 算法超时
  • 重试机制没有熔断
  • 阻塞整个 Gateway

解决方案:

# 1. 清理卡死的会话
rm /root/.openclaw/agents/main/sessions/[session-id].jsonl

# 2. 重启 Gateway
openclaw gateway restart

# 3. 预防: 调整配置 (可选)
# agents.defaults.compaction.enabled = false

配置修复 (2026-02-06):

  • 改用 localhost Ollama (绕过代理)
  • 切换到 nomic-embed-text (更长上下文)

学习习惯

  1. ✅ 定期总结归纳 (每日/每周)
  2. ✅ 重要内容写文档 (/root/doc/)
  3. ✅ 跨会话通过记忆延续 (MEMORY.md)
  4. ✅ 技术方案成熟可靠后再记录

关键教训

历史问题 (已解决)

日期 问题 教训
2026-02-04 内存管理器缺少 embedding 模型 需单独配置 provider + embedding
2026-02-05 memorySearch.paths 配置无效 OpenClaw 不支持自定义 paths,用 symlink 替代
2026-02-05 Gateway 反复重启 不要手动添加 agents.memorySearch 配置
2026-02-06 Compaction 卡死导致"死机" 大会话需要分片或禁用 compaction

核心认识

  1. Gateway 是普通进程 - 不继承 systemd 环境变量,需手动设置 NO_PROXY
  2. memorySearch 是独立 plugin - 不走 agents.defaults 配置
  3. Symlink 解决路径问题 - OpenClaw 不支持 paths,用 ln -s 替代
  4. Compaction 不是必须的 - 可以禁用,不会影响对话功能

技术决策

优先级

  1. 稳定 > 功能 - 宁可禁用功能,也不让系统崩溃
  2. 简单 > 复杂 - 避免复杂的批量操作,单条处理更可靠
  3. 监控 > 信任 - 关键操作要有日志和状态检查

决策记录

决策 选择 原因
向量模型 nomic-embed-text 长上下文适合文档索引
批量写入 禁用 Ollama 不稳定,单条更可靠
paths 配置 symlink 替代 OpenClaw 不支持自定义路径
compaction 监控为主 大文件会卡死,需要手动清理

系统状态

最后更新时间

  • 日期: 2026-02-06 11:00 CST
  • 整理人: 2号机 (自动整理)
  • 源文件: memory/2026-02-04.md, memory/2026-02-05.md

待办

  • 测试 compaction 禁用后的系统表现
  • 建立会话文件大小监控 (超过 5MB 预警) - 2026-02-06
  • 文档化 SSH 隧道配置
  • 完善节点 (nodes) 监控体系

会话文件监控 (2026-02-06 新增)

监控配置

# 阈值设置
SESSION_WARN_SIZE=8MB      # 发送警告提醒
SESSION_NEW_SESSION_SIZE=5MB  # 建议开新会话

监控行为

条件 动作
≥8MB Telegram 发送警告 (每增加1MB提醒一次)
≥5MB 记录日志,建议开新会话
完成后 用户手动开新会话,发送"新对话已就绪"

脚本位置

  • /root/.openclaw/scripts/system-monitor.sh - 监控主脚本
  • /root/.openclaw/scripts/send-session-alert.sh - Telegram 提醒脚本
  • /var/log/openclaw-monitor/session-alerts.log - 会话告警日志

日志示例

[SESSION WARN] 2026-02-06 12:00:00 会话文件过大: abc123 (8.5MB) - 建议开启新会话

限制说明

⚠️ 自动开新会话 无法由监控脚本直接实现,因为会话管理是 OpenClaw Gateway 内部逻辑。脚本只能:

  1. 监控并发送提醒
  2. 记录日志供排查

实际开新会话需要:

  • 用户手动重启 Gateway 或
  • 通过 OpenClaw API 创建新会话

重要提示

关于 compaction: 每次大对话后可能会产生 9MB+ 的会话文件,这会导致 compaction 算法超时。建议监控会话文件大小,必要时手动清理。

关于代理: NO_PROXY 必须包含所有本地服务地址 (localhost, 127.0.0.1, 192.168.0.66)

关于配置: 不要手动修改 agents.memorySearch,memory plugin 有独立配置


记忆版本: v2.0 (2026-02-06 整理)