TrulyMEM - WaterFlow Adapter

Give AI true long-term memory capability - WaterFlow framework adapter version

中文版本


Introduction

This project ports TrulyMEM's graph memory capability to TypeScript for the WaterFlow framework.

As a built-in module for WaterFlow, it provides graph memory functionality:

  • recall: Retrieve memories
  • commit: Commit memories
  • purge: Delete memories
  • introspect: Inspect status
  • persona_update/clear: Persona management
  • task_create/set_state/delete: Task management

Directory Structure

ts/
├── src/runtime/core/
│   ├── graph_memory/           # Graph memory core module
│   │   ├── types.ts            # Type definitions
│   │   ├── graph_database.ts   # Graph database
│   │   ├── memory_service.ts   # Memory service
│   │   └── index.ts            # Module exports
│   └── tools/
│       └── builtin/
│           └── graph_memory_tool.ts  # Tool implementation
│
├── bundled-skills/             # Skill definitions
│   └── graph_memory/
│       ├── SKILL.md            # Memory operations
│       ├── persona/SKILL.md   # Persona management
│       └── task/SKILL.md       # Task management
│
├── package.json                # Project config
└── tsconfig.json               # TypeScript config

Usage in WaterFlow

Method 1: Import as standalone module

Copy the ts/ directory to your WaterFlow project:

import { GraphMemoryTool, createGraphMemoryTool } from './runtime/core/tools/builtin/graph_memory_tool';

const tool = createGraphMemoryTool();
const result = await tool.handler({
  action: 'commit',
  params: {
    triplets: [
      { subject: 'User', relation: 'likes', object: 'Programming' }
    ]
  }
}, context);

Method 2: Use Skill

GraphMemory is configured as a bundled skill and can be called directly:

Use skill:graph_memory for memory operations
Use skill:graph_memory_persona for persona management
Use skill:graph_memory_task for task management

API

GraphMemoryTool

const tool = new GraphMemoryTool(sessionId?: string);

Actions

Action Description Parameters
recall Retrieve memories queryIntent, seedEntities, sessionFilter
commit Commit memories triplets, sessionId, turnId
purge Delete memories criteria, mode
introspect Inspect status -
persona_update Update persona attributes, mode
persona_clear Clear persona confirm
task_create Create task task_id, description, info_nodes
task_set_state Set state task_id, state
task_delete Delete task task_id

Examples

Commit Memory

{
  "action": "commit",
  "params": {
    "triplets": [
      { "subject": "User", "relation": "likes", "object": "TypeScript" },
      { "subject": "User", "relation": "is learning", "object": "WaterFlow" }
    ]
  }
}

Recall Memory

{
  "action": "recall",
  "params": {
    "queryIntent": "User learning"
  }
}

Create Task

{
  "action": "task_create",
  "params": {
    "task_id": "Task_LearnTypeScript",
    "description": "Learn TypeScript and complete project",
    "info_nodes": ["Documentation", "Tutorial"]
  }
}

License

GNU General Public License v3.0 (GPLv3)

Description
让 AI 拥有自知、可塑、有分寸感的长期记忆 — TrulyMEM(TrueHumanMEM)
Readme 7.5 MiB
Languages
Python 63.5%
HTML 33.5%
Shell 1.6%
CSS 0.8%
C++ 0.3%
Other 0.3%