P1: 完整参数验证 + 错误处理/日志 + 测试覆盖

- 为所有 action 实现参数验证函数
- 添加 GraphMemoryLogger 日志系统(info/warn/error/action)
- 敏感数据脱敏:attributes 只记录属性名,triplets 只记录数量
- 顶层 action 参数空值检查
- 参数验证错误返回 validation_error 类型
- 添加 11 个参数验证测试用例
- 全部 118 个测试通过
This commit is contained in:
root
2026-04-24 13:56:14 +08:00
parent 135041e8b0
commit a4a904f66b
5 changed files with 712 additions and 226 deletions

121
TODO.md Normal file
View File

@ -0,0 +1,121 @@
# TrulyMEM OpenClaw分支 TODO
## 设计决策:作为增强工具而非主记忆核心
### 背景分析
TrulyMEM main分支的设计理念:
- **图数据库作为唯一持久化记忆载体**
- **摒弃传统messages数组上下文**
- **工作记忆链(TaskNode链)代替对话历史**
- **每轮强制执行流程**:查询人设图 → 查询工作记忆链 → 处理对话 → 更新工作记忆链
### 与OpenClaw memory-core对比
| 方面 | TrulyMEM (main分支) | OpenClaw memory-core |
|------|---------------------|---------------------|
| 核心理念 | 图数据库作为唯一持久化记忆载体 | session transcripts + memory search |
| 对话历史 | 工作记忆链(TaskNode链)代替传统messages | messages数组持久化存储 |
| 上下文管理 | 每轮从图数据库重建 + context_rewrite压缩 | compaction机制压缩历史 |
| 记忆写入 | 通过memory_commit工具写入三元组 | 自动记录对话历史 |
| 记忆检索 | memory_recall工具主动查询 | memory search索引检索 |
| 人设管理 | PersonaNode + 强制查询机制 | 无内置人设系统 |
### 作为主记忆核心的挑战
1. **架构差异**:
- OpenClaw memory-core是完整基础设施,管理session transcripts、health monitor等
- TrulyMEM是独立应用设计,需要重新适配OpenClaw架构
2. **强制执行流程**:
- TrulyMEM要求每轮必须:查询人设图 → 查询工作记忆链 → 处理对话 → 更新工作记忆链
- OpenClaw没有这种强制流程,需要修改核心逻辑
3. **依赖问题**:
- main分支是Python实现(TUI应用)
- openclaw分支是TypeScript插件(不完整移植)
- 需要完整移植Python版本的核心逻辑
4. **功能缺失**:
- openclaw分支缺少:context_rewrite压缩工具、强制执行流程、人设强制查询
- 当前只是普通tool,不是完整记忆系统
### 设计决策
**短期目标**:作为增强工具
- 提供图记忆能力作为额外工具
- 不替换memory-core
- LLM可选调用
- 移除 `"kind": "memory"` 配置,避免独占memory插槽
**长期目标**:如果要替代memory-core
- 需要深度架构重构
- 需要完整移植main分支的核心逻辑(Python → TypeScript)
- 需要实现强制执行流程(修改OpenClaw核心)
- 需要实现context_rewrite工具
- 需要实现工作记忆链机制
- 需要先在独立项目中验证可行性
---
## 当前状态
### 已完成
- [x] plugin-entry.ts 改为OpenClaw SDK规范格式
- [x] 移除 `"kind": "memory"` 配置
- [x] README.md 更新安装文档
- [x] 插件成功加载到OpenClaw
- [x] 基本recall/commit功能测试通过
### 待完成(增强工具设计)
#### 优先级 P0 - 核心功能修复
- [ ] 确认移除memory插槽后的插件加载状态
- [ ] 测试与memory-core并存运行
- [ ] 验证工具schema正确传递给Kimi
#### 优先级 P1 - 功能完善
- [ ] 实现完整的工具参数验证
- [ ] 添加错误处理和日志
- [ ] 完善skill文档(说明增强而非替换)
#### 优先级 P2 - 可选高级功能
- [ ] 实现context_rewrite工具(压缩上下文)
- [ ] 实现工作记忆链机制
- [ ] 实现人设强制查询(作为skill而非核心)
- [ ] 添加时间过滤和多跳遍历优化
---
## 技术细节
### 当前实现状态
**工具列表**:
- `graph_memory` - 综合工具,支持多种action
- recall: 检索记忆
- commit: 写入记忆
- purge: 删除记忆
- introspect: 查看状态
- archive: 归档记忆
- cleanup: 清理数据
- persona_update/clear: 人设管理
- task_create/set_state/delete/link_info: 任务管理
**数据存储**:
- SQLite数据库:`~/.trulymem/graph_memory.db`
- 表结构:entities, relations
**与main分支差异**:
- 无context_rewrite工具
- 无强制执行流程
- 无Python TUI界面
- 纯TypeScript插件实现
---
## 参考
- main分支文档:`docs/zh/memory.md`, `docs/zh/working_memory.md`
- OpenClaw文档:https://docs.openclaw.ai/zh-CN/tools/plugin
- kimi-proxy:`/home/program/kimi-proxy/server.js`