---
title: 内存
description: 添加内存存储
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="memory"
  color="#F64F9E"
  icon={true}
  iconSvg={`<svg className="block-icon"
      
      xmlns='http://www.w3.org/2000/svg'
      
      
      viewBox='0 0 24 24'
      fill='none'
      stroke='currentColor'
      strokeWidth='2'
      strokeLinecap='round'
      strokeLinejoin='round'
    >
      <path d='M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z' />
      <path d='M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z' />
      <path d='M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4' />
      <path d='M17.599 6.5a3 3 0 0 0 .399-1.375' />
      <path d='M6.003 5.125A3 3 0 0 0 6.401 6.5' />
      <path d='M3.477 10.896a4 4 0 0 1 .585-.396' />
      <path d='M19.938 10.5a4 4 0 0 1 .585.396' />
      <path d='M6 18a4 4 0 0 1-1.967-.516' />
      <path d='M19.967 17.484A4 4 0 0 1 18 18' />
    </svg>`}
/>

## 使用说明

将记忆集成到工作流程中。可以添加记忆、获取记忆、获取所有记忆以及删除记忆。

## 工具

### `memory_add`

向数据库添加新的内存，或将数据追加到具有相同 ID 的现有内存中。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `id` | string | 是 | 内存的标识符。如果具有此 ID 的内存已存在，新数据将追加到其中。 |
| `role` | string | 是 | 代理内存的角色 \(用户、助手或系统\) |
| `content` | string | 是 | 代理内存的内容 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `success` | 布尔值 | 是否成功添加了内存 |
| `memories` | 数组 | 包含新添加或更新内存的内存对象数组 |
| `error` | 字符串 | 如果操作失败，显示错误信息 |

### `memory_get`

通过 ID 检索特定内存

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `id` | 字符串 | 是 | 要检索的内存标识符 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `success` | 布尔值 | 是否成功检索到内存 |
| `memories` | 数组 | 请求 ID 的内存数据数组 |
| `message` | 字符串 | 成功或错误信息 |
| `error` | 字符串 | 如果操作失败，显示错误信息 |

### `memory_get_all`

从数据库中检索所有内存

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `success` | 布尔值 | 是否成功检索到所有内存 |
| `memories` | 数组 | 包含键、类型和数据的所有内存对象数组 |
| `message` | 字符串 | 成功或错误信息 |
| `error` | 字符串 | 如果操作失败，显示错误信息 |

### `memory_delete`

通过其 ID 删除特定的内存

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `id` | string | 是 | 要删除的内存标识符 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `success` | boolean | 内存是否成功删除 |
| `message` | string | 成功或错误信息 |
| `error` | string | 如果操作失败的错误信息 |

## 注意

- 类别：`blocks`
- 类型：`memory`
