8.7 KiB
8.7 KiB
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 |
推荐应用
- 监控服务 - system-monitor.sh (持续运行)
- 轻量 Agent - 独立会话处理简单任务
- 本地 Ollama - qwen2.5:3b (2GB) 或 llama3:8b (8GB需注意内存)
- 备份节点 - 会话文件同步/故障转移
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 或连接超时
排查步骤:
- 检查
NO_PROXY是否包含 Ollama 地址 - Gateway 是普通进程,需手动设置环境变量
- 执行:
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 (更长上下文)
学习习惯
- ✅ 定期总结归纳 (每日/每周)
- ✅ 重要内容写文档 (
/root/doc/) - ✅ 跨会话通过记忆延续 (
MEMORY.md) - ✅ 技术方案成熟可靠后再记录
关键教训
历史问题 (已解决)
| 日期 | 问题 | 教训 |
|---|---|---|
| 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 |
核心认识
- Gateway 是普通进程 - 不继承 systemd 环境变量,需手动设置 NO_PROXY
- memorySearch 是独立 plugin - 不走 agents.defaults 配置
- Symlink 解决路径问题 - OpenClaw 不支持 paths,用
ln -s替代 - Compaction 不是必须的 - 可以禁用,不会影响对话功能
技术决策
优先级
- 稳定 > 功能 - 宁可禁用功能,也不让系统崩溃
- 简单 > 复杂 - 避免复杂的批量操作,单条处理更可靠
- 监控 > 信任 - 关键操作要有日志和状态检查
决策记录
| 决策 | 选择 | 原因 |
|---|---|---|
| 向量模型 | 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 内部逻辑。脚本只能:
- 监控并发送提醒
- 记录日志供排查
实际开新会话需要:
- 用户手动重启 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 整理)