项目简介

Forgetful是一个专为AI智能体设计的记忆服务系统,采用Model Context Protocol构建。它允许编码代理、聊天机器人或自定义智能体从同一个知识库中存储和检索信息,实现跨智能体的知识共享。

主要功能

  • 原子记忆存储:遵循Zettelkasten原则,每个记忆只包含单一概念
  • 自动知识图谱:通过向量嵌入和语义相似性搜索,自动连接相关记忆构建知识网络
  • 实体关系管理:支持人员、组织、团队、设备等实体之间的复杂关系建模
  • 项目范围管理:支持按项目组织知识,实现上下文感知的检索
  • 多存储支持:支持SQLite(默认)和PostgreSQL(生产环境)
  • 向量检索:使用FastEmbed生成嵌入向量,支持自然语言查询
  • 代码片段存储:支持存储和检索可重用的代码示例
  • 文档关联:支持长文档存储并与原子记忆建立关联

安装步骤

方式1:PyPI安装(推荐)

# 使用uvx直接运行(无需安装)
uvx forgetful-ai

# 或全局安装
uv tool install forgetful-ai
forgetful

方式2:源码安装

git clone https://github.com/ScottRBK/forgetful.git
cd forgetful
uv sync
uv run main.py

方式3:Docker部署

# SQLite版本(单容器)
cd docker
docker compose -f docker-compose.sqlite.yml up -d

# PostgreSQL版本(多租户推荐)
cd docker
docker compose -f docker-compose.postgres.yml up -d

服务器配置

在MCP客户端配置文件中添加:

对于stdio传输(本地使用推荐)

{
  "mcpServers": {
    "forgetful": {
      "type": "stdio",
      "command": "uvx",
      "args": ["forgetful-ai"]
}

对于HTTP传输(Docker/远程)

{
  "mcpServers": {
    "forgetful": {
      "type": "http",
      "url": "http://localhost:8020/mcp"
}

基本使用方法

Forgetful采用"元工具模式",仅向MCP客户端暴露3个核心工具,但通过'execute_forgetful_tool'可以访问全部42个工具,涵盖记忆、项目、实体、代码片段、文档和用户管理等六大类别。

智能体可以通过自然语言查询检索相关记忆,系统会自动返回最相关的信息,包括自动链接的相关记忆,形成完整的上下文。

系统支持跨实体、项目和文档的复杂查询,帮助智能体在复杂的开发场景中保持一致的上下文和决策依据。

信息

分类

数据库与文件