返回市场
思考内存

思考内存

作者:RickoNoNo35 星标更新:2025-11-05

项目介绍

🧠 THINK-MEM

大型语言模型的AI内存管理系统 - 赋能LLM更好地利用思考和记忆

TypeScript Node.js Node.js CI License

📋 项目简介

ThinkMem 是一个专为大型语言模型设计的内存管理MCP服务器,提供多种存储类型和通信协议,帮助LLM更好地组织和利用信息。

✨ 核心特性

  • 🧠 多种类型的内存:原始内存(非结构化文本),列表内存(数组/队列/栈)
  • 🔍 智能检索:文本搜索和行级操作
  • 📝 摘要管理:自动摘要生成和管理
  • 🔄 双模式:MCP STDio模式+流式HTTP模式
  • 💾 持久存储:JSON文件存储,支持备份和恢复
  • 🧪 完整的测试:单元测试+集成测试

基本用法

仅推荐两种使用选项:

  1. 单机模式(STDio),但明确指定每个AI助手的存储位置(db参数)
  2. 多机模式(HTTP,支持流式HTTP),集中管理多个AI助手的内存,使用默认存储位置

首次安装

npm install -g thinkmem

使用1:单机模式+明确指定存储位置

命令行使用(仅用于调试):

npx -g thinkmem --db path/to/db.json # 强烈建议指定db,否则不同进程可能冲突

JSON:

{
  "mcpServers": {
    "ThinkMem": {
      "command": "npx",
      "args": ["-g", "thinkmem", "--db", "path/to/db.json"]
    }
  }
}

使用2:多机模式

你应该有一个在一定范围内公开部署此项目的地点,最好是公共服务器。当然,作为技术人员,你应该知道我在说什么,所以我不多说。SSL配置可以通过反向代理实现。

1、启动服务器:

npm -g install thinkmem
npx -g thinkmem --mode http --port 13809 # --db 可有可无

2、添加AI助手到MCP主机:

JSON:

{
  "mcpServers": {
    "ThinkMem": {
      "type": "streamable-http",
      "url": "http://your.server:13809/mcp"
    }
  }
}

Claude代码:

claude mcp add --transport http ThinkMem --scope user http://your.server:13809/mcp

📖 详细文档


⚙️ 配置选项

命令行参数

参数简写完整参数类型默认值描述
模式-m--mode字符串stdio操作模式:stdiohttp
端口-p--port数字13809HTTP服务器端口
数据库-d--db字符串~/.thinkmem/current.db数据库文件路径

🏃‍♂️ 操作模式

下面是你只能在克隆仓库后才能做的事情,不是npx的使用方法

📡 STDio模式

适用场景:AI助手集成,本地开发,MCP生态系统

# 默认stdio模式
npm start

🌐 HTTP模式(流式HTTP)

适用场景:Web应用,移动应用,多客户端,实时功能

# 基础HTTP模式
npm start -- --mode http

# 自定义端口
npm start -- --mode http --port 3000

📊 模式对比

功能STDio模式HTTP模式
协议stdin/stdout流式HTTP
客户端单个多并发
复杂度简单需要端口配置
使用场景测试环境使用生产环境使用

🧠 内存类型和操作

RawMemory(非结构化内存)

  • 目的:存储文本文档、笔记和日志
  • 功能:行级文本操作,摘要管理,智能搜索
  • 特性:自动摘要优化,行号索引,内容搜索

主要操作

  • 文本写入、追加、插入、删除、替换
  • 摘要管理和智能阅读
  • 基于模式的内容搜索

ListMemory

  • 目的:任务列表,工作流程,临时数据
  • 功能:有序集合管理,支持三种角色模式和名称唯一性

🆕 名称唯一性机制

  • 每个元素都有唯一的标识名称
  • 支持通过名称快速查找和删除元素
  • 自动维护名称映射表,提供O(1)查找性能
  • 防止重复名称并确保数据完整性
  • 支持高效管理嵌套元素

支持的角色类型

  1. 数组:基本列表操作

    • 添加、插入和删除元素
    • 通过索引访问和修改
    • 支持按名称查找和删除元素
  2. Deque(双端队列):先进先出/后进先出

    • 在两端添加和移除元素
    • 队列和堆栈操作
    • 支持按名称管理元素
  3. 堆栈:后进先出

    • 压栈、弹栈和查看栈顶
    • 后进先出数据管理
    • 支持按名称管理元素

🧪 开发和测试

开发命令

# 安装依赖
npm install

# 开发模式(stdio)
npm run dev

# 编译TypeScript
npm run build

# 运行生产版本
npm start

# 代码检查
npm run lint

# 运行测试
npm test

# 运行特定测试
npm test -- --testNamePattern="RawMemory"

📄 许可证

本项目采用MIT许可证 - 查看LICENSE以了解详细信息。

🙏 致谢

📞 支持

如果你遇到问题或有任何建议,请:

  1. 查看设计文档以了解系统架构
  2. 查看Claude集成指南以了解AI助手的使用
  3. 搜索Issues以查看已知问题
  4. 创建新的Issue报告问题

🚀 让LLM更好地思考和记忆!