项目简介
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个工具,涵盖记忆、项目、实体、代码片段、文档和用户管理等六大类别。
智能体可以通过自然语言查询检索相关记忆,系统会自动返回最相关的信息,包括自动链接的相关记忆,形成完整的上下文。
系统支持跨实体、项目和文档的复杂查询,帮助智能体在复杂的开发场景中保持一致的上下文和决策依据。
信息
分类
数据库与文件