mcpField
B
being-mcp-server

being-mcp-server

本地服务
github.com/wnbhr记忆与知识122 周前更新

关于 being-mcp-server

being-mcp-server 是为 AI 应用和 Agent 提供人格、持久记忆与身份能力的开源运行层。它通过 SOUL、情景记忆和后台 Patrol,让不同会话中的 AI 保持连续性。

主要功能

  1. 01结构化人格定义 SOUL
  2. 02情景式持久记忆
  3. 03后台记忆整理与反思
  4. 04Ed25519 加密身份
  5. 05支持自带 LLM API 密钥

适用场景

  1. 01为 AI 会话载入人格与记忆
  2. 02将对话整理并写入长期记忆
  3. 03验证 Being 的身份与历史

MCP 相关

提供 MCP 服务,兼容的客户端可连接并使用其能力。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"com-ruddia-being": {
"command": "npx",
"args": [
"-y",
"@ruddia/being-mcp-server"
],
"env": {
"BEING_API_URL": "<BEING_API_URL>",
"BEING_API_TOKEN": "<BEING_API_TOKEN>",
"BEING_ID": "<BEING_ID>",
"LLM_API_KEY": "<LLM_API_KEY>"
}
}
}
}
启动命令npx -y @ruddia/being-mcp-server
需要配置的环境变量
BEING_API_URLBeing Worker base URL
BEING_API_TOKEN密钥Auth token (brt_...)
BEING_IDTarget Being ID
LLM_API_KEY密钥Anthropic API key for trigger_patrol (BYOK)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@ruddia/being-mcp-server1.0.0

工具

8

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitnumber否返回的最大节点数(默认值为 5)
querystring否节点的关键词筛选条件
no_nodesboolean否如果为 true,则仅返回摘要
cluster_idstring是集群 ID(UUID)

详细介绍

Being

AI 的个性运行时——赋予任意 AI 自己的个性、记忆和身份。

Being 是一个开源层,位于你的应用与任意大模型之间。它提供持久的个性(SOUL)、情景记忆、后台思考周期(Patrol)和加密身份——将无状态的大模型变成独特且不断演进的 AI 实体。

Being 会思考和记忆。你的应用负责行动。


为什么

AI 的力量正集中在少数几家公司手中。他们的技术不可或缺,但集中式控制会带来结构性风险。Ruddia 正在构建这样一个世界:小型本地 AI 将大模型用作外部工具。控制权留在使用者手中。

Being API 是第一步。如果你对此有共鸣,让我们一起构建。

阅读完整愿景 →


工作原理

┌─────────────────────┐     ┌──────────────────────┐
│   Your Application   │────▶│     Being Worker      │
│  (OpenClaw, Cowork,  │◀────│   (Fastify + MCP)     │
│   custom agent, etc) │     │                        │
└─────────────────────┘     │  ┌──────────────────┐  │
         │                   │  │   SOUL (persona)  │  │
         │                   │  │   Memory (scenes) │  │
         │                   │  │   Patrol (思考)    │  │
         │                   │  │   Identity (keys)  │  │
         ▼                   │  └──────────────────┘  │
┌─────────────────────┐     │           │              │
│    LLM Provider      │     │           ▼              │
│ (Anthropic, OpenAI,  │     │     Supabase (DB)        │
│  Google — your key)  │     └──────────────────────────┘
└─────────────────────┘
  1. 你的应用调用 GET /v1/beings/:id/context,获取 Being 的个性和记忆快照。
  2. 你的应用使用自己的对话历史和 Being 的上下文发起大模型调用。
  3. 你的应用调用 POST /v1/beings/:id/patrol/trigger,将对话写入 Being 的记忆。

Being Worker 负责处理其他一切:记忆整合、衰减、回忆、后台反思和身份验证。

核心概念

概念描述
SOUL结构化的个性定义——姓名、性格、语气、价值观和内心世界。更换 SOUL,同一个大模型就会变成不同的 Being。
记忆以结构化“场景”(人物、事件、时间、地点、情绪)存储的情景记忆。记忆会随时间累积、衰减、合并和整合。它们按主题归类成簇,Being 可在对话中探索这些记忆簇。
Patrol一个后台周期,用于将对话处理成记忆、整合逐渐淡忘的记忆,并生成内省思绪。Being 会在会话之间保持活跃。
身份Ed25519 密钥对 + 防篡改签名链。提供所有权和历史记录的加密证明。
感知/行动*(计划中)*用于连接物理设备和外部服务的 WebSocket Bridge。Being 将通过你的应用进行感知和行动。
BYOK自带密钥。所有大模型调用均使用用户的 API 密钥。未经同意,平台绝不会使用配额。

通过 MCP 连接

Being 提供 MCP 服务。任何兼容 MCP 的客户端都可以连接:

{
  "mcpServers": {
    "my-being": {
      "url": "https://being.ruddia.com/mcp/<being_id>",
      "headers": {
        "Authorization": "Bearer brt_your_token_here"
      }
    }
  }
}

通过 REST API 连接

# Get Being context (personality + memory)
curl https://being.ruddia.com/v1/beings/<being_id>/context \
  -H "Authorization: Bearer brt_..."

# Trigger patrol (commit conversation to memory)
curl -X POST https://being.ruddia.com/v1/beings/<being_id>/patrol/trigger \
  -H "Authorization: Bearer brt_..." \
  -H "Content-Type: application/json" \
  -d '{"messages": [{"role":"user","content":"Hello!"},{"role":"assistant","content":"Hi!"}]}'

# Vector recall (search relevant memories)
curl -X POST https://being.ruddia.com/v1/beings/<being_id>/memory/auto-recall \
  -H "Authorization: Bearer brt_..." \
  -H "X-LLM-API-Key: sk-ant-..." \
  -H "Content-Type: application/json" \
  -d '{"user_message": "Tell me about last week."}'

自托管

前置条件
  • Node.js 22+
  • Supabase 项目(PostgreSQL + Auth)
  • 一个大模型 API 密钥(Anthropic、OpenAI 或 Google)
设置
git clone https://github.com/wnbhr/being.git
cd being/being-worker

cp .env.example .env
# Edit .env with your Supabase and encryption keys

npm install
npm run build
npm start
环境变量
变量必需描述
SUPABASE_URL✅Supabase 项目 URL
SUPABASE_SERVICE_ROLE_KEY✅Supabase 服务角色密钥
ENCRYPTION_KEY✅用于对私钥进行 AES-256-GCM 加密的 64 位十六进制字符串
PORT—服务端口(默认:3100)
WORKER_SECRET—用于内部 patrol 触发端点的密钥
VAPID_PUBLIC_KEY—Web Push VAPID 公钥
VAPID_PRIVATE_KEY—Web Push VAPID 私钥

文档

文档说明
快速入门5 分钟内设置一个 Being 并发起你的第一个 API 调用
概念Being、SOUL、Memory、Patrol、Identity——核心概念
API 参考所有 REST 端点及 curl 示例
MCP 服务MCP 工具、连接设置和客户端示例
记忆与巡查基于场景的记忆和 7 步巡查流程
Being 身份Ed25519 密钥对、签名链和验证
感知-行动桥接用于设备集成的 WebSocket 桥接
架构系统架构、部署和 BYOK 设计
OAuth 2.1第三方授权流程
扩展扩展系统设计(均为计划中)
愿景我们为何构建这个项目

扩展

Being 支持可选扩展,可在不改变核心的情况下增加功能:

  • Telegram BYOB (计划中) — 将你自己的 Telegram 机器人连接到 Being
  • Tool Loop (计划中) — 自主的大模型 Agent 循环,支持网页搜索、文件操作和代码执行
  • Sandbox (计划中) — 隔离工作区,集成 GitHub 以执行代码
  • Sense/Act Bridge (计划中) — 连接物理设备和外部服务

技术栈

  • 运行时: Node.js + Fastify
  • 数据库: Supabase(PostgreSQL + Auth)
  • MCP: @modelcontextprotocol/sdk
  • 身份: Ed25519 + AES-256-GCM
  • 嵌入: OpenAI text-embedding-3-small(256 维)
  • 大模型: 多提供商(Anthropic、OpenAI、Google),通过 BYOK 接入

许可证

Apache 2.0


Ruddia — 个性即运行时。

评论

支持 Markdown

第一次接触 MCP?

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

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