跳转至

GrowLog

个人成长记录与知识管理系统 — 从简单的记忆存储演进为集学习追踪、教育代理、工作流可视化于一体的知识工作台。

产品定位

GrowLog 是 Dad 构建的个人知识管理基础设施,核心目标是让 AI 助手能够: 1. 跨会话保留关键信息 — 重置后仍能恢复上下文 2. 持续积累可检索的知识资产 — 不只是聊天历史 3. 支撑教育场景的自适应学习 — 记录真实水平、薄弱点、学习轨迹

核心理念:成长记录不是"做了什么题",而是"当前真实水平 + 薄弱点 + 下一步策略"。

技术栈

层级 技术选型 说明
长期记忆 LanceDB Pro 向量 + 关键词混合检索
文件层 Markdown + JSON 人可读、可审计
知识界面 Obsidian 链接化管理与结构化组织
可视化 React Flow 工作流地图、主题关系图
教育代理 Miss E (@misse) 独立英语教学 Agent
上下文引擎 lossless-claw-enhanced CJK 增强,解决中文 token 估算问题

演进时间线

日期范围 阶段 关键事件 详情
03-07 长期记忆建立 LanceDB 向量记忆确立为持久化方案,"记录可落地"成为原则 [[03-07-长期记忆建立]]
03-08 记忆升级 memory-lancedb-pro v1.1.0 引入 Smart Chunking、Reflection、Hybrid Retrieval [[03-08-记忆升级]]
03-09 Obsidian 融合 memory/ 目录升级为 Obsidian Vault,采用"软着陆"兼容策略 [[03-09-Obsidian融合]]
03-10~03-11 教育代理独立 Miss E 从主代理剥离,成为独立英语教学 Agent [[03-10-教育代理独立]]
03-15 旧版归档 english_tutor 正式归档,教育模块完成架构切换 [[03-15-旧版归档]]
03-17~03-29 技能体系重构 按角色分配技能白名单,避免无关技能污染 [[03-17-技能体系重构]]
04-03~04-05 工作流可视化 React Flow 主题地图上线,三层结构清晰可见 [[04-03-工作流可视化]]

关键时刻

1. 长期记忆机制确立(03-07)

背景:Dad 要求 bot 不只是临时回答,而是要"记住事情",尤其是重置后仍能恢复上下文。

决策: - 采用 LanceDB 向量记忆 作为长期存储 - 关键事实持久化在磁盘,不依赖会话上下文 - 通过 memory_recall 实现语义检索

影响:这为 GrowLog 奠定了技术基础 — 记录不再只是聊天历史,而是可检索、可持续积累的知识资产。

2. 从"刷题"到"老师"的教育理念转变(03-11)

问题:英语学习功能"基本没有用" — 题目太简单、重复、缺乏记录、不像老师。

Dad 核心反馈: - 内容太少、题库过浅 - 缺乏学习记录和迭代机制 - 只有出题判题,没有由浅入深的讲解

关键决策: - 创建独立教育代理 Miss E - 教学流程设计为三步走:核心概念 → 真实场景语料 → 输出与纠正 - 引入 Adaptive Profile 机制,根据正确率动态调整难度 - 实现间隔重复:Day 1 → Day 3 → Day 7

技术选型理由: - 独立代理避免与日常助理上下文混杂 - 专门的记忆库记录词汇、语法弱点、复习周期 - 模型选择 FW-GLM-5(中文底座更适合教英语)

3. Obsidian 与 OpenClaw 的兼容策略(03-09)

问题:直接把 memory/ 当 Obsidian Vault 会不会影响 OpenClaw?

风险分析: 1. 脚本路径硬编码 — 移动文件会导致脚本找不到 2. LanceDB 记录的源文件路径会变成 dead link 3. 约定式文件(如 MEMORY.md)可能被系统读取

安全迁移方案(软着陆): - 不动根目录核心文件 - 只归档旧日志 - 新结构只用于新增内容 - .obsidian/ 与现有自动化脚本共存

4. React Flow 工作流地图(04-05)

问题:108 个主题用传统列表/Tab 视图信息密度过高。

技术方案: - 采用 React Flow 构建三层结构:Category → Project → Topic - 使用 dagre 自动布局算法 - 默认展示"进行中"主题,降低认知负载 - 左右 7:3 分栏,右侧任务列表与流程图联动

关键坑点:dagre 的 setNode 不能共享尺寸对象引用,否则布局异常。

核心功能清单

记忆层

  • [x] LanceDB Pro 向量记忆存储
  • [x] 混合检索(向量 + 关键词)
  • [x] mdMirror 自动生成 Markdown 镜像
  • [x] 垃圾记忆清理机制
  • [x] 跨 session 状态持久化

教育模块(Miss E)

  • [x] 独立工作区与记忆
  • [x] 自适应学习画像 student_profile.json
  • [x] 间隔重复复习调度
  • [x] 真实语料自动备课
  • [x] 定时课程推送(CST 18:00)
  • [x] 难度动态调整

可视化层

  • [x] React Flow 主题工作流地图
  • [x] dagre 自动布局
  • [x] 状态筛选(进行中/已完成/全部)
  • [x] 左右分栏联动
  • [x] 节点可拖拽

架构决策记录

决策 选择 理由
长期存储 LanceDB Pro 向量检索适合"模糊回忆"式查询
文件格式 Markdown + JSON 人可读、脚本可处理、Obsidian 兼容
教育代理 独立 Agent 人格/记忆/调度与主助理解耦
迁移策略 软着陆 兼容现有脚本,避免破坏性重构
可视化 React Flow 成熟的节点/边库,支持拖拽缩放
上下文引擎 lossless-claw-enhanced 解决中文 token 估算不准问题
技能分配 按角色白名单 避免无关技能污染决策

核心设计原则

  1. 状态持久化优先于会话上下文 — 学习状态必须落盘
  2. 教学 agent 独立化 — 人格、记忆、任务调度与主助理解耦
  3. 学习画像驱动内容生成 — 课程由 profile 驱动,不是固定题库
  4. 由浅入深的教师式交互 — 概念 → 场景 → 输出纠正
  5. 真实语料备课 — 从技术内容抽取语言点,贴近实际使用场景
  6. 先修数据再做可视化 — 避免在脏数据上做复杂展示

重要路径

# 记忆数据
~/.openclaw/memory/lancedb-pro/

# 教育代理工作区
~/.openclaw/workspace-misse/
├── SOUL.md
├── AGENTS.md
├── IDENTITY.md
├── USER.md
├── TOOLS.md
└── memory/
    ├── student_profile.json
    └── lesson_history.json

# 主工作区记忆
~/.openclaw/workspace/memory/
├── YYYY-MM-DD.md          # 每日日志
├── english_pending_quiz.json  # 跨 session 题目
└── english_progress.md    # 学习进度

相关项目

  • Miss E:独立英语教学代理,GrowLog 教育模块的核心载体
  • Agent Portal:项目管理门户,GrowLog 可视化层的承载平台
  • OpenClaw:GrowLog 作为其记忆与知识管理基础设施
  • Dora Kids:儿童成长记录,复用 GrowLog 的记录理念