# 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) - 监控脚本定期清理日志 ```json { "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 } } } ``` ### 代理配置 ```bash # /etc/environment NO_PROXY="localhost,127.0.0.1,192.168.0.66" no_proxy="localhost,127.0.0.1,192.168.0.66" ``` ### 启动命令 ```bash 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` **解决方案:** ```bash 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 %` **修复:** ```bash # 错误 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 **解决方案:** ```bash # 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 禁用后的系统表现 - [x] 建立会话文件大小监控 (超过 5MB 预警) - 2026-02-06 - [ ] 文档化 SSH 隧道配置 - [ ] 完善节点 (nodes) 监控体系 --- ## 会话文件监控 (2026-02-06 新增) ### 监控配置 ```bash # 阈值设置 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 整理)*