📝 添加新记忆日志和脚本 - 2026-03-23

This commit is contained in:
huan 2026-03-23 15:44:04 +08:00
parent 3746d9410a
commit 427d63563c
4 changed files with 353 additions and 0 deletions

View File

@ -0,0 +1,165 @@
# 2026-03-22 日志
## 🎯 今日完成事项
### 技能安装
- ✅ 安装 **proactive-agent** (halthelobster/proactive-agent) - 主动式AI Agent技能
- ✅ 安装 **content-collector** - 链接内容自动收录技能
### 系统验证
- ✅ **向量记忆系统验证通过**197条记忆数据正常
- ✅ **Self-Improving Agent 初始化**memory.md、corrections.md、index.md 已创建
- ✅ **proactive-agent** 技能已安装,需重启生效
### 股票监控
- ✅ 更新监控列表:仅保留**铜陵有色**000630和**岩山科技**002195
- ✅ 重启监控 daemon (PID 2871289)
### 文档收录
- ✅ 收录 **8篇飞书文档**到知识库(知识库表格 S7lAbPw2YaiLIasyPJDcMbT0nTd
- ✅ 配置 content-collector 到 MEMORY.mdKnowledge Base Table 等信息)
### 配置更新
- ✅ **content-collector 分类选项**飞书API限制需手动在界面添加
- ✅ **用户习惯已记录**:创建飞书文档后询问是否添加到知识库
## 📚 学习记录
### OpenClaw 多机器人配置(飞书官方文档)
- **核心功能**:多飞书机器人账户 + 多 Agent 路由
- **关键配置**
- `agents`:定义多个 Agent隔离工作空间
- `channels.feishu.accounts`:配置多个飞书账户
- `session.dmScope: "per-account-channel-peer"`:最细会话隔离
- `bindings`:账户 → Agent 路由绑定
- **dmPolicy 选项**pairing / allowlist / open / disabled
- **后续**:需要时可通过编辑 openclaw.json 配置
## ⚠️ 待处理
- ⚠️ **content-collector 分类选项**:需要在飞书界面手动添加 7 个选项
- 路径https://my.feishu.cn/base/S7lAbPw2YaiLIasyPJDcMbT0nTd
- 需添加:实战案例、产品文档、学习笔记、热点资讯、设计技能、工具推荐、训练营
## 📊 系统状态
| 项目 | 状态 |
|------|------|
| 向量记忆 | ✅ 197条正常运行 |
| 股票监控 | ✅ 2只标的daemon运行中 |
| 定时任务 | ✅ 4个任务状态正常 |
| Self-Improving | ✅ 已初始化 |
| proactive-agent | ✅ 已安装,待重启生效 |
---
*记录时间2026-03-22 16:49*
---
## 📝 下午补充记录 (17:36)
### 文档收录完成
- ✅ 批量收录 **7篇飞书云盘文档** 到知识库openclaw 文件夹)
- ✅ 更新索引表格 S7lAbPw2YaiLIasyPJDcMbT0nTd添加 7 条记录
- 收录文档:
1. 🛠️ OpenClaw 完整备份方案 - 部署与恢复指南
2. 🛠️ Windows 主机安装 Ubuntu Server + 桌面完整指南
3. ⚡ WSL 开机自启完整指南(避坑版)
4. 📖 OpenClaw 快捷键大全
5. 🧠 OpenClaw 双层记忆系统设计与实现
6. 🛠️ Windows 安装 OpenClaw 完整指南
7. 🧠 OpenClaw 向量记忆系统 - 部署与备份实战
### 用户习惯记录
- ✅ 已更新 `memory/preferences.md`
- 习惯:**创建飞书文档后必须询问用户是否添加到知识库索引**
### 定时任务新建
- ✅ 创建 **「每日热点新闻股市分析报告」** 定时任务
- 时间:每天 22:00 (10点)
- 任务:从「热点新闻推送」群拉取近两天消息,生成股市分析报告
- 群IDoc_c614d6c696e6a24b105ecc7343ea33d1
- 重点关注:铜陵有色(000630)、岩山科技(002195)
- Cron ID00d74907-d2d5-4dcf-bb1a-b0a1f1bd0fa8
### 新闻来源
- 群名:**热点新闻推送**
- ChatIDoc_c614d6c696e6a24b105ecc7343ea33d1
- 推送内容每30分钟推送一次热点新闻汇总来自 TrendRadar
---
*记录时间2026-03-22 17:36*'
---
## 📝 晚间补充记录 (18:13)
### 飞书文档创建流程分享
- ✅ 向用户整理并分享了「飞书文档创建标准流程」
- 内容包括:创建空白文档、更新内容、添加到知识库索引
- 关键注意事项URL字段格式、时间戳格式、folder_token用法
- 文档已保存到知识库:`https://www.feishu.cn/docx/AvsadSPgKoWsUGxPLXgce6fTnkd`
### 每日股市分析报告首次发送
- ✅ 今天 17:36 发送了第一份「每日股市分析报告」
- 报告内容:宏观环境(中东局势)、市场热点(机器人/AI、个股分析、操作建议
- 定时任务已设置:每天 22:00 自动发送
### 股票大跌预警 ⚠️
- **铜陵有色(000630)**:现价 ¥5.96,昨收 ¥6.08,涨跌 -1.97%
- 成本 ¥7.90(实际)/ ¥6.80(预警参考),亏损 -12.4%
- 状态:⚠️ 已跌破预警线
- **岩山科技(002195)**:现价 ¥9.35,昨收 ¥9.80,涨跌 -4.59%
- 成本 ¥10.68,亏损 -12.5%
- 状态:⚠️ 亏损超 10%
---
*记录时间2026-03-22 18:13*'EOF
echo "Appended successfully"
---
## 📝 晚间补充记录 (18:13)
### 飞书文档创建流程分享
- 向用户整理并分享了「飞书文档创建标准流程」
- 内容包括:创建空白文档、更新内容、添加到知识库索引
- 关键注意事项URL字段格式、时间戳格式、folder_token用法
### 每日股市分析报告首次发送
- 今天 17:36 发送了第一份「每日股市分析报告」
- 报告内容:宏观环境(中东局势)、市场热点(机器人/AI、个股分析、操作建议
- 定时任务已设置:每天 22:00 自动发送
### 股票大跌预警
- 铜陵有色(000630):现价 5.96,昨收 6.08,涨跌 -1.97%,亏损 -12.4%,状态:跌破预警线
- 岩山科技(002195):现价 9.35,昨收 9.80,涨跌 -4.59%,亏损 -12.5%,状态:亏损超 10%
---
*记录时间2026-03-22 18:13*
## 🦐 04:00 备份任务
**定时任务触发**:执行 OpenClaw 备份到 Gitea
**执行结果**
- ✅ 成功同步 openclaw/、workspace/、vector_memory/
- ✅ 生成压缩包:`~/openclaw-backup-20260322.tar.gz` (987KB)
- ⚠️ Git 推送失败Gitea 返回 HTTP 413上传大小限制
- 📝 建议:检查 Gitea `MAX_upload_size` 配置或手动上传压缩包
**备份包含**
- OpenClaw 配置
- 工作区文件
- 向量记忆数据
## 🔑 SiliconFlow API 配置
**状态**:✅ 已配置
**用途**:向量记忆系统
**配置位置**`~/.bashrc` 和 `~/.profile`
**验证**:✅ 向量记忆 CLI 已正常工作

View File

@ -0,0 +1,32 @@
# 2026-03-23 日志
## 🎯 今日事项
### 系统任务
- ⏰ 15:33 - 执行每日对话记忆保存任务定时Cron触发
## 📝 定时任务记录
### 每日记忆保存
- **触发时间**2026-03-23 15:33:00
- **触发方式**Cron定时任务每日 15:30 执行)
- **任务内容**:保存当日对话记忆到 memory/YYYY-MM-DD.md
- **状态**:✅ 完成
### 向量记忆自动备份
- **触发时间**2026-03-23 15:34:33
- **触发方式**Cron定时任务
- **任务内容**:备份向量记忆数据
- **状态**:⚠️ 失败SILICONFLOW_API_KEY 未设置,需检查环境配置)
## 📚 待补充
> 以下内容待今日对话结束后补充:
- 今日完成事项
- 重要决策记录
- 股票监控状态
- 其他重要信息
---
*本文件由 Cron 定时任务自动创建2026-03-23 15:33*

View File

@ -0,0 +1,77 @@
#!/usr/bin/env python3
"""
上下文使用量检测脚本
当任一 session 上下文使用量 >= 90% 时自动保存记忆
"""
import subprocess
import re
import os
from datetime import datetime
# 加载环境变量
os.environ["SILICONFLOW_API_KEY"] = "sk-fpjdtxbxrhtekshircjhegstloxaodriekotjdyzzktyegcl"
def log(msg):
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(f"[{timestamp}] {msg}")
def main():
log("========== 上下文使用量检测 ==========")
# 获取 OpenClaw 状态
result = subprocess.run(["openclaw", "status"], capture_output=True, text=True)
status_output = result.stdout
# 提取所有上下文使用量百分比
# 格式: "109k/200k (54%)" - 括号内是使用量
max_usage = 0
for line in status_output.split('\n'):
# 跳过表头和无关行
if '│ Tokens' in line or '' in line or '│ Key' in line:
continue
if 'FAQ:' in line or 'Troubleshooting:' in line:
continue
if 'Sessions' in line and '200k ctx' in line:
continue
# 查找类似 "109k/200k (54%)" 的模式
match = re.search(r'(\d+)k/200k \((\d+)%\)', line)
if match:
usage = int(match.group(2))
if usage > max_usage:
max_usage = usage
log(f"📊 当前最高上下文使用量: {max_usage}%")
if max_usage >= 90:
log(f"⚠️ 上下文使用量达到 {max_usage}%,开始保存记忆...")
# 1. 保存文件记忆
memory_file = f"{os.path.expanduser('~')}/.openclaw/workspace/memory/{datetime.now().strftime('%Y-%m-%d')}.md"
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with open(memory_file, "a") as f:
f.write(f"\n## 🔄 上下文自动保存 ({timestamp})\n\n")
f.write(f"**触发原因**: 上下文使用量达到 {max_usage}%\n\n")
log("✅ 文件记忆已更新")
# 2. 保存向量记忆
os.chdir(os.path.expanduser("~/openclaw-memory-vector"))
subprocess.run([
"python3", "memory_cli.py", "add",
f"【自动保存】上下文使用量达到 {max_usage}%,系统自动保存记忆。时间: {timestamp}",
"--tag", "auto-save,context-90"
], capture_output=True, text=True)
log("✅ 向量记忆已保存")
log("✅ 记忆保存完成")
else:
log(f"✅ 上下文使用量正常 ({max_usage}%),无需保存")
log("========== 检测完成 ==========\n")
if __name__ == "__main__":
main()

View File

@ -0,0 +1,79 @@
#!/bin/bash
# ============================================
# 上下文使用量检测 & 记忆自动保存脚本
# 当任一 session 上下文使用量 >= 90% 时自动保存记忆
# ============================================
set -e
# 加载环境变量
export SILICONFLOW_API_KEY="sk-fpjdtxbxrhtekshircjhegstloxaodriekotjdyzzktyegcl"
LOG_FILE="/tmp/openclaw/context_memory_check.log"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
log() {
echo "[$TIMESTAMP] $1" | tee -a "$LOG_FILE"
}
log "========== 上下文使用量检测 =========="
# 获取 OpenClaw 状态中的 Tokens 信息
STATUS_OUTPUT=$(openclaw status 2>&1)
# 提取所有会话的上下文使用量(排除 cached 百分比)
# 格式: "109k/200k (54%)" - 括号内的数字是上下文使用量
# cached 格式: "🗄️ 42% cached" - 这不是上下文使用量
MAX_USAGE=0
# 逐行处理
while IFS= read -r line; do
# 跳过表头和分隔符
if echo "$line" | grep -q "│.*Tokens"; then
continue
fi
if echo "$line" | grep -q "├"; then
continue
fi
if echo "$line" | grep -q "│ Key"; then
continue
fi
if echo "$line" | grep -q "FAQ:\|Troubleshooting:"; then
continue
fi
# 提取 "XXXk/YYYk (NN%)" 格式中的数字
# 格式如: 109k/200k (54%)
usage=$(echo "$line" | grep -oE '[0-9]+k/[0-9]+k \([0-9]+\)%' | grep -oE '\([0-9]+\)' | tr -d '()' || true)
if [ -n "$usage" ]; then
if [ "$usage" -gt "$MAX_USAGE" ]; then
MAX_USAGE=$usage
fi
fi
done <<< "$STATUS_OUTPUT"
log "📊 当前最高上下文使用量: ${MAX_USAGE}%"
# 检查是否达到 90% 阈值
if [ "$MAX_USAGE" -ge 90 ]; then
log "⚠️ 上下文使用量达到 ${MAX_USAGE}%,开始保存记忆..."
# 1. 保存文件记忆
MEMORY_FILE="$HOME/.openclaw/workspace/memory/$(date '+%Y-%m-%d').md"
echo -e "\n## 🔄 上下文自动保存 (${TIMESTAMP})\n\n**触发原因**: 上下文使用量达到 ${MAX_USAGE}%\n" >> "$MEMORY_FILE"
log "✅ 文件记忆已更新"
# 2. 保存向量记忆
cd ~/openclaw-memory-vector && python3 memory_cli.py add \
"【自动保存】上下文使用量达到 ${MAX_USAGE}%,系统自动保存记忆。时间: ${TIMESTAMP}" \
--tag "auto-save,context-90" 2>&1 | tail -1
log "✅ 向量记忆已保存"
log "✅ 记忆保存完成"
else
log "✅ 上下文使用量正常 (${MAX_USAGE}%),无需保存"
fi
log "========== 检测完成 ==========\n"