root 9e2f390332 fix: 修复Skill定义兼容性 - 整合description和when_to_use到Markdown body
移除frontmatter中不被WaterFlow处理的冗余字段:
- name: WaterFlow使用目录名作为skill名称
- description: WaterFlow从Markdown #标题提取
- when_to_use: 不被处理,整合到body中

修改后的SKILL.md完全兼容WaterFlow SkillLoader:
- description从#标题正确提取
- allowed-tools正确转换为allowedTools
- arguments正确映射
- user-invocable正确转换为userInvocable
2026-04-16 17:22:56 +08:00
2026-04-15 15:49:09 +08:00

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

This module requires zero changes to WaterFlow source code. Just register it in your entry file.

Step 1: Install

npm install /path/to/TrulyMEM-TrueHumanMEM/ts

Or add to package.json:

{
  "dependencies": {
    "trulymem-waterflow": "file:../TrulyMEM-TrueHumanMEM/ts"
  }
}

Then run:

npm install

Step 2: Register in your entry file

Just two lines, zero changes to WaterFlow:

import { getPlatform } from 'waterflow/platform';
import { installTrulyMEM } from 'trulymem/tools';

// One-line install, returns configured ToolRegistry
const registry = installTrulyMEM(getPlatform(), 'my-session-id');

// Continue assembling WaterFlow...
const toolExecutor = new ToolExecutor(registry);

Manual Registration (More control)

If you want to control ToolRegistry creation yourself:

import { getPlatform } from 'waterflow/platform';
import { initializeToolRegistry } from 'waterflow/runtime/core/tools/builtin';
import { registerGraphMemoryTool } from 'trulymem/tools';

const platform = getPlatform();
const registry = initializeToolRegistry(platform);

// Register graph memory tool
registerGraphMemoryTool(registry, 'my-session-id');

// Continue assembling...

Use Skill (AI Agent)

Step 1: Configure Skill source

const config = {
  ...DEFAULT_SKILL_LOADER_CONFIG,
  sources: {
    ...DEFAULT_SKILL_LOADER_CONFIG.sources,
    bundled: './node_modules/trulymem-waterflow/bundled-skills'
  },
  enabledSources: ['project', 'bundled']
};

Step 2: Call via Agent

AI Agent automatically reads SKILL.md and calls builtin:graph_memory tool.

Available Skills

Skill Name Function Use Case
graph_memory Memory CRUD Read/Write/Delete memories
graph_memory_persona Persona management Set AI role/personality
graph_memory_task Task management Create/update long-term tasks

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%