Token导航 LogoToken导航TokenDH.com
membot (Project You Apps) logo
AI代理stdio官方级别未说明来源级核验

membot (Project You Apps)

MCP Server

Membot是一个为AI代理提供可交换、可搜索记忆的服务器,基于神经形态存储介质,支持多信号排名搜索和无LLM的记忆操作。

工具数

18

提示词数

0

GitHub Stars

7

资源数

0
AI代理PythonClaude记忆存储Claude DesktopClaudeCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

project-you-apps

提供方

project-you-apps

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python build_sqlite_cart.py my_cart.pkl

详细介绍

孟博特

用于AI代理的Brain cartridge服务器。

Membot是一个MCP服务器,它为AI代理提供了存储在神经形态基质上的可交换、可搜索的内存。安装一个大脑墨盒,用多信号排名搜索它,存储新的记忆,交换到不同的域——所有这些都是通过标准 模型上下文协议 工具调用。

建立在 矢量+晶格引擎,Membot使用三信号搜索管道——嵌入余弦、二进制汉明相似度和关键字重新排序——来查找任何单一方法都会错过的结果。不需要GPU。 无需法学硕士学位。

整个内存底层——构建、存储、搜索、调用——在没有任何LLM调用的情况下运行。嵌入来自句子转换器(Nomic)。搜索是二进制数学。物理学是Hebbian动力学。唯一接触Membot的人工智能是另一端的代理决定搜索什么。

*人类的大脑不需要LLM来记忆事物。Membot也没有。*

Membot Demo

搜索工作原理

Membot的搜索融合了三个独立的信号,每个信号都捕捉到了其他信号错过的内容:

Query -> Nomic embed (768-dim)
  |-- Cosine similarity (70%)        Final ranked results

余弦 捕捉语义含义。 汉明 对从每个嵌入的符号结构导出的紧凑二进制码(每个模式768位=96字节)进行操作,这是一种神经形态群体编码。 关键词 捕捉嵌入几何体有时会错过的曲面级别匹配。

二进制代码在装载时计算: bit_i = 1 if embedding_i > 0这种符号模式保留了通过对比训练创建的语义指纹(Pearson r=0.891,全余弦),存储量减少了33倍。

信号它捕获了什么存储在1M
余弦(float32嵌入)语义相似度3GB
汉明(符号零二进制)人口代码协议96 MB
关键字(原始文本)精确术语匹配(在文章文本中)

仅汉明模式

墨盒可以随附 只有符号位和文本--不需要完全嵌入。Membot会自动检测可用内容并使用最佳搜索模式:

购物车内容搜索模式存储在2.4M
嵌入+符号位70%余弦+30%汉明+关键字~7.2 GB
仅符号位汉明+关键字~220 MB

仅汉明的推车在25K图案上实现了R@1=1.000,并在240万尺度上返回了高质量的结果。这使得从小型服务器提供海量知识库变得切实可行——240万篇arXiv论文从一个3 GB的购物车中抽象出了零浮点运算的搜索结果。

要构建一个仅限汉明的购物车,请嵌入您的段落,用以下公式计算符号位 np.packbits((embeddings > 0).astype(np.uint8), axis=1),并将其存储在 sign_bits 推车的田地。看 strip_embeddings.py 例如转换现有购物车。

拆分购物车格式(索引+SQLite)

对于RAM有限的大规模部署,Membot支持 分体式推车--一种双文件格式,将搜索索引保存在RAM中,并将全文存储在磁盘上:

文件格式内容驻留
name_index.npzNumPy压缩符号零位+200个字符片段+元数据RAM
name_text.dbSQLite完整段落、标题、外部ID磁盘(按需分页)

它是如何工作的: 汉明搜索和关键字重新排序完全在RAM中针对紧凑索引运行。只有前K个结果才会触发SQLite查找(每个约1ms),以获取完整的段落文本进行显示。

格式RAM(240万条)磁盘用例
标准 .pkl~4 GB~3 GB本地使用,完全可移植
拆分 .npz + .db~400 MB~4 GB服务器部署,廉价托管

拆分购物车实现 RAM减少88% 与将所有内容加载到内存中相比。每月12美元的服务器可以搜索240万条条目。

SQLite不需要额外的服务器或守护进程——Python的内置 sqlite3 模块直接从 .db 文件。上传两个文件,就完成了。

构建分体式购物车:

# Convert any existing .pkl cart to split format
python build_sqlite_cart.py my_cart.pkl

# Custom output name and snippet length
python build_sqlite_cart.py my_cart.pkl -o my_split_cart --truncate 300

构建器会自动检测压缩和未压缩的推车。输出: my_split_cart_index.npz + my_split_cart_text.db.

挂载时,Membot会自动检测SQLite sidecar并打开它进行按需文本检索。搜索结果显示 hamming-only+kw+sqlite 在模式标签中。

快速开始

先决条件

  • Python 3.10+

可选(用于晶格回忆和训练):

  • 配备CUDA 11.0的NVIDIA GPU+
  • 预装CUDA发动机(lattice_cuda_v7.dll / .so)

安装

git clone https://github.com/project-you-apps/membot.git
cd membot
pip install -r requirements.txt

# Local (stdio)--for OpenClaw, Claude Desktop, local agents
# Starts read-only by default. Add --writable to enable store and save.
python membot_server.py

# Remote (HTTP)--for any MCP client over the network (read-only by default)
python membot_server.py --transport http --port 8000

# Writable mode--for personal or team servers that need store and save
python membot_server.py --transport http --port 8000 --writable
标志默认值描述
--transportstdio运输方式: stdio, http,或 sse
--host0.0.0.0绑定地址(HTTP/SSE模式)
--port8000侦听端口(HTTP/SSE模式)
--writable关闭启用 memory_storesave_cartridge (默认情况下为只读)

stdio模式:JSON-RPC over stdin/stdout,专为将Membot作为子进程启动的MCP代理框架而设计。

HTTP模式:可流式传输HTTP http://{host}:{port}/mcp任何MCP客户端都可以远程连接。包括速率限制(每个IP 60 req/min)和可选的API密钥验证,通过 MEMBOT_API_KEY 环境变量。

多会话支持

Membot支持多个并发会话。每个会话都有自己的挂载墨盒和独立状态,因此多个代理可以使用同一台服务器,而不会相互踩踏。

每个工具都接受一个可选 session_id 参数:

# Agent A mounts its own cartridge
mount_cartridge("medical-knowledge", session_id="agent-a")

# Agent B mounts a different one — no collision
mount_cartridge("legal-docs", session_id="agent-b")

# Each searches their own mounted cartridge
memory_search("symptoms of flu", session_id="agent-a")
memory_search("statute of limitations", session_id="agent-b")

如果 session_id 如果省略,所有呼叫都将转到 "default" 会话(向后兼容单用户使用)。

会话限制:

  • 会话过期时间 30分钟 不活动(可通过以下方式配置 SESSION_TIMEOUT_SEC)
  • 最大 50个并发会话 (最老的在达到限制时被驱逐)
  • 嵌入模型和GPU在所有会话中共享——每个会话只有已安装的墨盒状态

代理配置

龙虾 (~/.openclaw/openclaw.json):

{
  "plugins": {
    "entries": {
      "mcp-adapter": {
        "enabled": true,
        "config": {
          "servers": [
            {
              "name": "membot",
              "transport": "stdio",
              "command": "python",
              "args": ["/path/to/membot/membot_server.py"]
            }
          ]
        }
      }
    }
  }
}

克劳德代码 (本地,stdio):

{
  "mcpServers": {
    "membot": {
      "command": "python",
      "args": ["/path/to/membot/membot_server.py"]
    }
  }
}

克劳德代码 (远程,HTTP):

{
  "mcpServers": {
    "membot": {
      "type": "http",
      "url": "http://your-server:8000/mcp"
    }
  }
}

工具将以前缀显示 membot_ (例如。, membot_memory_search).

OpenClaw代理调度 (无头):

OpenClaw代理调度不加载MCP适配器工具。使用 麦波特 +一个SOUL.md,指示代理通过Bash调用Membot:

mcporter call membot.memory_search query="your query" top_k=5

SOUL-research-bot-med.md 作为一个工作示例。

最新动态(2026年5月)

Mempack——每剂可写脑墨盒

A. Mempack 的 是一个代理拥有并写入的Membot墨盒。与知识车相同的格子基板,有三个保留的插槽,可以将静态文档变成活的记忆:清单位于 模式0行为指导 模式I (idx=1),以及在 图案N+ (idx≥2)。当代理挂载其Mempack时,简报和行为会自动加载。没有及时填充,没有每次会议的重新简报。购物车欺骗了那个特工。

插槽用途默认状态
模式0购物车清单:所有权、perms、Cart_type、简报固定+存档,只读
模式I(idx=1)代理的行为指令、声音、角色、操作规则固定+存档,所有者可写
模式N+(idx≥2)累积的发现、决策、源链接、搜索结果易变(符合衰变条件),所有者可写

双层持久性

Mempack在Supabase上拆分,而不是生活在Membot主机的文件系统上。每个用户都拥有自己的数据;Membot水滴不会将个人购物车保存在磁盘上。

  • Postgres元数据public.mempacks (每辆车一排)加 public.mempack_patterns (每个模式一行,64字节的H块分解为本机列+9个生成的布尔/枚举列,用于SQL端查询,而无需打开购物车)。
  • 二进制blob 在Supabase仓库 mempacks//.cart.npz.RLS将每个用户限定到他们自己的文件夹;Membot在挂载时使用服务角色密钥代表代理进行读/写。

跨Mempack搜索变成了在规范化的H块列上的SQL JOIN,而不是获取所有blob然后进行过滤。免费套餐:每位用户1个10MB的Mempack;Pro和Enterprise层通过插入触发策略进行调整。

MCP本地访问

Mempack旅行。今天从Claude Code安装,明天从Cursor安装,下周从自定义OpenClaw代理安装。购物车格式为一个文件;接入协议为MCP;起源贯穿每一个宿主。

# Auto-provision on first list (Path C): empty roster -> starter primary
GET /api/mempacks?owner_id=
# -> {"status": "ok", "count": 1, "auto_provisioned": true, "mempacks": [...]}

# Read Pattern I via the MCP tool
mempack_read_pattern_i(name="primary")
# -> the agent's own behavioral instructions, fresh from Supabase

# Mount and search like any cart
mount_cartridge("primary")
memory_search("attention mechanisms", top_k=5)

docs/AGENT_INSTRUCTIONS.md 对于三种访问模式(MCP/mcporter/REST)和 docs/mcp.json.example 用于复制粘贴MCP主机配置。

路径C延迟自动配置

用户第一次呼叫 GET /api/mempacks?owner_id= 在没有现有行的情况下,Membot会创建一个启动器 primary Mempack:固定+存档头,固定+存档模式I,带有默认行为模板,审计日志条目,状态翻转为 ready blob上传完成后。后续调用是幂等的。无需注册端触发器或服务密钥管道;基板图元直接处理它。

auto_provision=false 在查询字符串上选择退出(返回空列表而不创建)。

标准12字段H块格式

此版本在规范12字段上统一了购物车格式的海马体 HIPPO_FORMAT (` mount_cartridge("attention-is-all-you-need")

memory_search("how does multi-head attention work")

要启用晶格召回(具有噪声容限的内容可寻址存储器),请使用以下命令进行重建 `--train` (需要GPU):

python cartridge_builder.py attention-paper.pdf --name attention-is-all-you-need --train


在几秒钟内从任何PDF、markdown或文本文件构建自己的 `cartridge_builder.py`.

## 部署

### 自托管设置

任何人都可以运行自己的Membot实例。选择您自己的API密钥(任何字符串),将其设置为环境变量,然后启动服务器:

1. Choose your API key (any string you want)

export MEMBOT_API_KEY="my-secret-key-here"

2. Start the server

python membot_server.py --transport http --port 8000

Or writable (enables store and save -- read-only by default)

python membot_server.py --transport http --port 8000 --writable


客户端通过传递连接 `Authorization: Bearer my-secret-key-here` 在它们的HTTP标头中。就是这样——没有账户系统,没有注册。每个服务器实例一个密钥。

### 将代理连接到服务器

**克劳德代码** (远程,带身份验证):

claude mcp add --transport http --scope user membot http://your-server:8000/mcp \ --header "Authorization: Bearer my-secret-key-here"


**OpenClaw/mcporter** (`~/.mcporter/mcporter.json`):

{ "servers": { "membot": { "url": "http://your-server:8000/mcp", "headers": { "Authorization": "Bearer my-secret-key-here" } } } }


### 部署架构

**公共药房** (只读,默认):多个代理搜索共享墨盒。没有人能写。在本地构建墨盒,上传到服务器。这是默认模式,不需要额外的标志。

MEMBOT_API_KEY="shared-read-key" python membot_server.py --transport http


**团队服务器** (读写):多个代理独立挂载、搜索和存储。每个代理使用 `session_id` 建立自己的孤立状态。

MEMBOT_API_KEY="team-key" python membot_server.py --transport http --writable


**个人服务器** (完全访问):一个用户,一个密钥,完全CRUD。添加到您的系统启动中以获得永久内存。

### systemd(Linux)

[Unit] Description=Membot Brain Cartridge Server After=network.target

[Service] Environment="MEMBOT_API_KEY=your-secret-key" ExecStart=/opt/membot/venv/bin/python /opt/membot/membot_server.py --transport http --port 8000 Restart=always WorkingDirectory=/opt/membot

[Install] WantedBy=multi-user.target

sudo systemctl enable membot sudo systemctl start membot


**需求**:Python 3.10+和~2GB RAM(句子转换器模型)。搜索不需要GPU。

### 实时部署

Membot目前提供 **480万个可搜索条目** 每月12美元的DigitalOcean液滴(2 GB RAM,50 GB磁盘):

|购物车|条目|索引(RAM)|文本(磁盘)|
|------|---------|-------------|-------------|
|arXiv摘要| 2400000 | 360 MB | 3.5 GB|
|维基百科文章| 2400000 | 380 MB | 1.3 GB|

两个购物车都使用拆分格式。总RAM使用量:索引约780 MB,嵌入模型约300 MB。两个推车可以同时安装,在2GB的服务器上有多余的空间。

### 可书写代理工作区

对于多代理部署,在单独的端口上以可写模式运行第二个Membot实例。代理可以搜索共享的只读购物车并创建自己的购物车:

Port 8000: read-only (public, shared carts)

MEMBOT_API_KEY="read-key" python membot_server.py --transport http --port 8000

Port 8040: writable (agent workspace, separate API key)

MEMBOT_API_KEY="agent-key" python membot_server.py --transport http --port 8040 --writable


可写实例共享相同的 `cartridges/` 目录,这样代理就可以搜索大购物车并将搜索结果存储到自己的购物车中。

## 故障排除

### “找不到会话”错误(-32600)

Streamable HTTP error: Error POSTing to endpoint: {"jsonrpc":"2.0","id":"server-error","error":{"code":-32600,"message":"Session not found"}}


**原因:** MCP客户端正在发送过时的会话ID。这发生在服务器重新启动、服务器崩溃(例如,装载超过可用RAM的购物车)或30分钟会话超时后。

**修复:** 重新启动MCP客户端,以便它建立新的会话:

- **OpenClaw TUI:** `openclaw gateway stop && openclaw gateway start`,然后重新启动TUI
- **克劳德代码:** 重新启动VS Code,或重新启动Claude Code扩展
- **克劳德桌面:** 退出并重新打开

服务器本身很好——它是持有过期会话ID的客户端。

### 安装大型墨盒时服务器崩溃

如果您装载的购物车超过了可用RAM(例如,2 GB服务器上的3 GB多功能购物车),Python进程将被操作系统终止。systemd服务将自动重新启动,但所有连接的客户端都将收到“找不到会话”错误(见上文)。

**预防:** 使用 [分体式推车](#split-cart-format-index--sqlite) 用于内存受限服务器上的大型数据集。拆分购物车仅将搜索索引保存在RAM中(240万条条目约400 MB),并通过SQLite从磁盘分页全文。

## TUI会话扫描仪

Membot包括一个扫描仪,可以捕获OpenClaw TUI代理会话并将其推送到会话内存服务器,为TUI代理提供跨会话的持久内存。

One-time scan (process all sessions, then exit)

python tui_scanner.py --sessions-dir ~/.openclaw/agents --api-key YOUR_KEY --once

Continuous mode (scan every 120 seconds)

python tui_scanner.py --sessions-dir ~/.openclaw/agents --api-key YOUR_KEY

Dry run (parse and format, don't push)

python tui_scanner.py --sessions-dir ~/.openclaw/agents --dry-run --once


扫描程序读取OpenClaw的JSONL会话记录,提取用户/助手交换对,并将它们推送到会话内存API。每个交易所都标有代理名称(`TUI-main`, `TUI-research-bot`等等)用于过滤。

配套的监视器脚本提供了一个干净、可滚动、颜色编码的TUI消息视图——没有破坏,没有覆盖:

Auto-find latest session and tail it

python tui_monitor.py

Show full session history, then tail

python tui_monitor.py --all


启动脚本在单独的窗口中启动扫描仪、OpenClaw网关、TUI和监视器:

bash start-tui.sh


## 是什么让Membot与众不同

|| Membot |典型的AI记忆|
|---|---|---|
| **LLM依赖性** |没有。搜索、存储和召回都是免费的。|每个操作都需要LLM调用(事实提取、关系构建、压缩)。 |
| **存储模型** |便携式脑盒式磁带——你拥有和携带的文件。|云API、供应商锁定、订阅定价。 |
| **搜索** |SimHash汉明+关键字。二元数学,没有神经推理。|通过API嵌入余弦。根据代币成本进行扩展。 |
| **协会** |Hebbian吸引子动力学发现了不明显的联系。|关键字/嵌入仅重叠。 |
| **规模** |每月12美元的服务器上有480万条条目。|按查询、按GB、按座位定价。 |
| **物理学** |训练Hebbian权重、内容可寻址回忆、噪声容忍度。|没有。 |
| **跨模式** |显示图片→ 听到声音。Hebbian协会,没有单独的模式。|不支持。 |
| **能量** |训练一次,查询永远。管道中没有LLM调用。|每个摄取和查询都需要LLM推理。 |

Membot使用的符号零二进制编码是 [SimHash(查里卡尔,2002)](https://dl.acm.org/doi/10.1145/509907.509965)--一种成熟的局部敏感散列技术。Membot的创新是将SimHash与Hebbian结算动力学相结合:在捕获二进制签名之前,模式通过神经形态物理管道进行训练。生成的签名编码了原始嵌入几何体中不存在的关联关系。

## 安全

- **NPZ优先**:新墨盒始终另存为 `.npz` (NumPy存档--不执行代码)
- **PKL沙盒**:遗产 `.pkl` 文件仅从受信任的目录加载(可配置)
- **完整性验证**:安装时检查SHA256清单;被篡改的墨盒被拒收
- **输入净化**:根据路径遍历验证墨盒名称;文本和查询长度上限
- **资源限制**:每个墨盒最多3000000个条目,每个存储10000个字符,每个查询2000个字符
- **默认情况下为只读**:服务器以只读模式启动。 `memory_store` 和 `save_cartridge` 除非您明确通过,否则将被禁用 `--writable`默认情况下,这使得面向公众的部署是安全的。
- **并发写入**:在可写模式下,多个会话可以同时挂载和搜索,但并发保存到同一盒式文件是最后一个写入者获胜。如果您需要文件锁定、每个用户API密钥或托管团队部署, [联系](mailto:andy@project-you.app).

## 嵌入模型

Membot使用 [nomic ai/nomic-embed-text-v1.5](https://huggingface.co/nomic-ai/nomic-embed-text-v1.5) 通过句子转换器。这与Vector+Studio用于构建墨盒的嵌入器相匹配。

该模型在首次运行时会自动下载(约270 MB)。随后开始从缓存加载。

**重要**:用于构建墨盒的嵌入模型必须与用于查询墨盒的模型匹配。Membot和Vector+Studio都使用相同的型号,因此墨盒可以互换。

## 系统要求

|组件|最小值|推荐|
|-----------|---------|-------------|
|Python | 3.10+| 3.12+|
|RAM | 2 GB(拆分购物车)/4 GB(标准购物车)|16+GB|
|GPU |无(搜索无需GPU)|NVIDIA RTX 3080+(用于晶格召回)|
|VRAM|--|8+GB|
|CUDA |--|12.0+|

## 项目结构

membot/ ├── membot_server.py # MCP server + depot dashboard + web app ├── membot_app.html # Standalone web app (connects to any server) ├── cartridge_builder.py # CLI tool to build cartridges from documents ├── build_gutenberg_cartridge.py # Download + embed 44 Project Gutenberg classics ├── build_sqlite_cart.py # Convert .pkl cart to split format (index + SQLite) ├── compress_cart.py # Zlib-compress passages in a .pkl cart ├── multi_lattice_wrapper_v7.py # Python wrapper for CUDA engine ├── requirements.txt ├── tools/ │ ├── tui_scanner.py # OpenClaw TUI session scanner │ ├── tui_monitor.py # Clean TUI message monitor (tail + pretty-print) │ └── start-tui.sh # Launch scanner + gateway + TUI + monitor ├── bin/ │ └── lattice_cuda_v7.dll # Pre-built CUDA physics engine (Windows) ├── cartridges/ # Your brain cartridges go here └── data/ # Alternative cartridge directory


## 许可证

**双重许可:**

|组件|许可证|商业用途|
|-----------|---------|----------------|
|Python代码(`.py` 文件)| MIT |是|
|CUDA发动机(`bin/*.dll`)|专有| [许可证联系人](mailto:andy@project-you.app) |

服务器代码和实用程序在MIT下是开源的。编译的CUDA物理引擎可供个人、教育和非商业用途免费使用。商业使用需要单独的许可证——请参阅 [bin/许可证](bin/LICENSE).

## 链接

- [矢量+工作室](https://github.com/project-you-apps/vector-plus-studio) --用于构建和搜索大脑墨盒的GUI
- [Project You](https://project-you.app) --父项目
- [许可](https://project-you.app/licensing) --商业许可选项

______________________________________________________________________

*图案以全息方式存储,而不是作为记录。内存充当墨盒,而不是数据库。*

目录标签

目录标签

AI代理PythonClaude记忆存储本地部署多信号搜索神经形态计算无LLM操作

支持客户端

Claude DesktopClaudeCursorVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

18

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP