mcpField
B
Becomer: LLM-agnostic persistent memory API. Store and recall memories across GPT, Claude, Gemini, or any model — zero tokens per recall.

Becomer: LLM-agnostic persistent memory API. Store and recall memories across GPT, Claude, Gemini, or any model — zero tokens per recall.

本地服务
github.com/Becomer-netAI 与智能体221 周前更新

关于 Becomer: LLM-agnostic persistent memory API. Store and recall memories across GPT, Claude, Gemini, or any model — zero tokens per recall.

BECOMER 为 AI 应用提供跨会话记忆 API,供需要保存并检索用户信息的开发者使用。它支持 Python SDK、REST API 和 MCP 集成,并可按 user_id 隔离记忆。

主要功能

  1. 01跨会话存储与检索记忆
  2. 02按 user_id 隔离用户记忆
  3. 03提供 Python SDK 与 REST API
  4. 04支持记忆删除与同步

适用场景

  1. 01在对话间保留用户偏好
  2. 02为多用户应用隔离记忆
  3. 03为 AI 应用检索相关记忆

MCP 相关

BECOMER 可作为 MCP 服务运行,供兼容的宿主自动存储和检索记忆,并支持通过 user_id 隔离用户数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

BECOMER — AI 应用的记忆 API

PyPI License: MIT LongMemEval

只需 3 行代码,即可为 AI 应用提供持久记忆。

from becomer import Client
mem = Client("bk-your-api-key")
mem.store("User prefers dark mode and speaks French")
memories = mem.recall("user preferences")  # → ['User prefers dark mode...']

→ 获取免费 API 密钥 · 文档 · 基准测试 · 示例


为什么选择 BECOMER

大多数记忆解决方案只是附加一个向量存储,就认为大功告成。BECOMER 使用专有检索引擎,并以 LongMemEval 这一长期对话记忆的标准学术基准进行测试。

基准测试BECOMERHindsight(次优)
LongMemEval(500 项测试)94.4%91.4%

94.4% 意味着,当用户问“我上周告诉过你我的饮食情况吗?”,系统会找出正确的记忆,而不是一条大致相关的记忆。


安装

pip install becomer

零依赖。仅使用纯 Python 标准库。


快速开始

from becomer import Client

mem = Client("bk-your-api-key")

# Store anything worth remembering
mem.store("User is building a React app, prefers TypeScript")
mem.store("User's name is Sarah, she's a senior engineer at Stripe")

# Recall before each LLM call
context = mem.recall("what do I know about the user?")
# → ['User is building a React app, prefers TypeScript',
#    "User's name is Sarah, she's a senior engineer at Stripe"]

# Build your prompt with memory injected
system_prompt = "You are a helpful assistant.\n\nWhat you remember:\n" + "\n".join(context)

三种集成方式

1. Python SDK(本仓库)
from becomer import Client
mem = Client("bk-your-api-key")
mem.store("...")
mem.recall("...")
2. MCP — 适用于 Claude Desktop、Cursor 及任何 MCP 宿主
{
  "mcpServers": {
    "becomer": {
      "command": "python",
      "args": ["-m", "becomer"],
      "env": { "BECOMER_API_KEY": "bk-your-api-key" }
    }
  }
}

Claude 会自动跨会话存储和回忆记忆。无需更改代码。

3. REST API — 不限编程语言
# Store
curl -X POST https://becomer.net/v1/store \
  -H "Authorization: Bearer bk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"content": "User prefers concise answers"}'

# Recall
curl -X POST https://becomer.net/v1/recall \
  -H "Authorization: Bearer bk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"query": "user preferences", "top_k": 5}'

多租户(一个密钥,多个用户)

正在构建一款需要为每位用户提供独立记忆的产品?传入 user_id 即可,无需额外密钥。

from becomer import Client

# One master key for your whole app
mem = Client("bk-your-master-key", user_id="user-alice")
mem.store("Alice prefers Python over JavaScript")

# Different user — completely isolated memory space
mem_bob = Client("bk-your-master-key", user_id="user-bob")
mem_bob.recall("programming preferences")  # → [] (can't see Alice's memories)

# Or override per-call
mem = Client("bk-your-master-key")
mem.store("Bob uses dark mode", user_id="user-bob")
mem.recall("preferences", user_id="user-alice")  # → Alice's memories only

使用按用户隔离的 MCP:

{
  "mcpServers": {
    "becomer": {
      "command": "python",
      "args": ["-m", "becomer"],
      "env": {
        "BECOMER_API_KEY": "bk-your-master-key",
        "BECOMER_USER_ID": "alice-123"
      }
    }
  }
}

REST API:

curl -X POST https://becomer.net/v1/store \
  -H "Authorization: Bearer bk-your-master-key" \
  -H "Content-Type: application/json" \
  -d '{"content": "Alice prefers dark mode", "user_id": "alice-123"}'

user_id 可以是任意字符串:UUID、用户名、电子邮件地址,或应用内部使用的任何标识符。不同 user_id 的记忆完全隔离。费用计入主密钥。


LangChain

from langchain.memory import BaseMemory
from becomer import Client
from pydantic import Field

class BecomerMemory(BaseMemory):
    client: object = Field(default=None)
    memory_key: str = "history"

    def __init__(self, api_key: str, **kwargs):
        super().__init__(**kwargs)
        self.client = Client(api_key)

    @property
    def memory_variables(self):
        return [self.memory_key]

    def load_memory_variables(self, inputs):
        query = inputs.get("input", "")
        memories = self.client.recall(query)
        return {self.memory_key: "\n".join(memories)}

    def save_context(self, inputs, outputs):
        self.client.store(f"User: {inputs.get('input','')} | AI: {outputs.get('output','')}")

    def clear(self):
        self.client.forget()

# Usage
from langchain.chains import ConversationChain
from langchain_openai import ChatOpenAI

chain = ConversationChain(
    llm=ChatOpenAI(model="gpt-4o"),
    memory=BecomerMemory(api_key="bk-your-api-key")
)
chain.predict(input="My name is Sarah and I work at Stripe")
# Next session — Sarah is still remembered.

直接使用 OpenAI / Anthropic

import openai
from becomer import Client

mem = Client("bk-your-api-key")

def chat(user_message: str) -> str:
    context = mem.recall(user_message)
    system = "You are a helpful assistant."
    if context:
        system += "\n\nWhat you remember about the user:\n" + "\n".join(f"- {m}" for m in context)

    response = openai.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": system},
            {"role": "user", "content": user_message},
        ]
    )
    reply = response.choices[0].message.content
    mem.store(f"User said: {user_message}")
    return reply

API 参考

方法说明
Client(api_key, user_id=None)创建客户端。user_id 用于将所有调用限定到某个子用户。
store(content, user_id=None)存储一条记忆
recall(query, top_k=5, user_id=None)检索最相关的 top-k 条记忆
forget(user_id=None)删除此密钥(或子用户)的所有记忆
sync(user_id=None)将工作记忆整合到长期存储中

完整的 REST API 文档 → becomer.net/docs.html


示例

文件框架
quickstart.py纯 Python
openai_chat.pyOpenAI SDK
anthropic_chat.pyAnthropic SDK
langchain_memory.pyLangChain
langgraph_memory.pyLangGraph
llamaindex_memory.pyLlamaIndex
crewai_memory.pyCrewAI
autogen_memory.pyAutoGen
mcp.jsonMCP(Claude Desktop / Cursor)
mcp_multitenant.jsonMCP 多租户

定价

方案每月调用次数价格
免费版1,000永久免费
Pro50,000₹1,140/月

免费开始使用 →


构建者

Obsidex Pvt Limited · Aravind Balaji,创始人 · [email protected]

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。