mcpField
I
INITE Brain

INITE Brain

远程服务
brain.inite.ai记忆与知识43今天更新

关于 INITE Brain

INITE Brain 是面向 AI Agent 的开源长期记忆系统,以带来源追溯的双时态知识图谱为核心。它通过 MCP 和 REST 支持检索、引用式回答、文档摄取与决策回忆。

主要功能

  1. 01双时态知识图谱
  2. 02带来源追溯的事实
  3. 03生成带引用的回答
  4. 04文档摄取与索引
  5. 05时间线与决策回忆

适用场景

  1. 01检索相关 Agent 记忆
  2. 02生成带引用的回答
  3. 03间隔一段时间后继续工作
  4. 04记录并检查决策

MCP 相关

它向 MCP 客户端提供记忆工具和资源,包括搜索、记录、综合回答与时间线操作。客户端支持时,连接器还可桥接 MCP sampling。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://brain.inite.ai/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://brain.inite.ai/mcp
Streamable HTTPhttps://brain.inite.ai/mcp/{companyId}需要授权

工具

30

此工具无需参数。

详细介绍

INITE Brain — 上下文记忆

INITE Brain

面向 AI Agent 的开源记忆:通过 MCP 和 REST 提供带来源追溯的双时态知识图谱。

CI 最新版本 许可证:AGPL-3.0-or-later Docker 拉取次数 镜像:arm64 | amd64 星标数 欢迎提交 PR 原生支持 MCP

在 Claude Code 中安装 添加到 Cursor 添加到 VS Code MCP 注册表

网站 · 快速开始 · 架构 · 领域包 · 入门指南 · 文档 · Agent 指南

快速开始

需要 Docker(含 Compose v2)、openssl 和 OpenAI API 密钥(默认模型配置)。使用已发布的镜像(linux/amd64 和 linux/arm64)与 SurrealDB 运行;无需克隆或构建。

: "${OPENAI_API_KEY:?export OPENAI_API_KEY first}"
mkdir inite-brain && cd inite-brain
curl -fsSLO https://raw.githubusercontent.com/inite-ai/inite-brain-service/main/docker-compose.quickstart.yml
BRAIN_KEY="brain_$(openssl rand -hex 24)"
KEY_HASH="$(printf %s "$BRAIN_KEY" | openssl dgst -sha256 -r | cut -d' ' -f1)"
cat > .env <<EOF
BRAIN_VERSION=2.4
OPENAI_API_KEY=$OPENAI_API_KEY
BRAIN_API_KEYS='[{"keyHash":"sha256:$KEY_HASH","companyId":"co_demo","scopes":["brain:read","brain:write"]}]'
SURREALDB_PASSWORD=$(openssl rand -hex 24)
SURREALDB_SCOPED_PASS=$(openssl rand -hex 24)
FORGET_HMAC_KEY=$(openssl rand -hex 32)
EOF
docker compose -f docker-compose.quickstart.yml up -d --wait
export BRAIN_URL=http://localhost:3030 BRAIN_KEY
curl "$BRAIN_URL/health"
echo "API key (shown once, only its hash is stored): $BRAIN_KEY"

接下来可以记下一些内容并询问相关问题, 也可以让 MCP 客户端连接到 http://localhost:3030/mcp,并设置 Authorization: Bearer $BRAIN_KEY。BRAIN_VERSION 可设为 X.Y(该版本的最新补丁版) 或 vX.Y.Z;:latest 会被主分支的部署覆盖。首次启动时会将本地 ONNX 模型下载到卷中, 因此首次写入可能需要几分钟;之后的写入则不需要等待。托管服务、从源代码运行及生产环境配置: 入门指南。

为什么不选 Mem0、Zep 或 Letta?

  • Mem0 更容易上手:提供添加/搜索 API、托管平台,以及许多框架集成。Brain 前期需要更多配置(租户、范围受限的密钥,以及个人记忆中的 userId),作为交换,会为每条事实同时保留有效时间和知识时间。发生冲突的写入会取代先前的事实,或被标记为 COMPETING,不会悄然覆盖。
  • Zep(Graphiti) 是设计上最接近的方案:Graphiti 同样是时序知识图谱,也可以作为 Python 库嵌入,并使用图数据库。如果你想在自己的进程中运行记忆功能,请选择它。Brain 则是一个服务:每个租户使用独立数据库,API 密钥具有读取、写入和管理范围,提供 PII 控制,以及带墓碑记录的 GDPR forget_entity。
  • Letta 是一种 Agent 运行时,Agent 会自行编辑记忆。如果你想让 Agent 循环和记忆位于同一服务器中,请使用它。Brain 仅负责记忆:Agent 仍运行在 Claude Code、Cursor、Codex 或你自己的代码中,并通过 MCP 连接 Brain(Streamable HTTP,或 stdio shim @inite/brain-mcp)。
  • 答案可以选择不作答。 synthesize 会在每项主张末尾附上其依据事实的 ID,由验证器检查依据;严格模式下,如果答案缺乏依据,就不会返回答案。每条事实都会保留指向其来源对话或文档的指针。
  • 不挪用基准测试数据。 我们不会将记忆准确率结果与其他系统自行报告的分数进行比较,因为这些分数大多采用宽松的评判标准。测量方式见:docs/eval-protocol.md。

INITE Triad 的组成部分: Brain 会验证 INITE Auth 签发的令牌,方式与 INITE Billing 相同;两者之间的契约是 Triad 契约。 使用一个 compose 文件运行全部三个服务: inite-ai/inite-triad。

Brain 是什么

Brain 为 Agent 提供跨对话记忆:说过什么、发生了什么变化、涉及哪些实体,以及哪些内容支持某个答案。双时态图谱用于存储结构化事实和关系;来源情节保留上下文;场景和信念用于捕捉事件与不断变化的状态。Domain Packs 无需分叉引擎,就能让记忆适配产品的词汇和生命周期。

在你的基础设施上运行 Brain,或连接托管服务 brain.inite.ai。Web 应用提供记忆搜索和探索功能;REST 和 MCP 提供集成接口。

为什么选择 Brain

  • 保留上下文的记忆。 检索结构化事实、来源段落,以及在启用时可检索场景和信念。沿来源追溯到作为依据的对话、文档或证据片段。
  • 变化可供检查。 事实包含有效时间和知识时间。更新可以取代先前的事实;尚未解决的分歧会保留为 COMPETING。撤回会保留历史记录;管理性遗忘会删除相关记录并留下墓碑。
  • 对你的领域建模。 Packs 定义类型化谓词、提取指南、场景架构、状态转换、验证和保留提示,以及可选的媒体功能和 MCP 工具。
  • 范围明确。 每个租户使用独立数据库。个人记忆使用 userId;省略它则选择租户全局记忆。密钥范围、ABAC 策略和 PII 控制会进一步限制访问。
  • 答案可验证。 混合搜索、图检索和多跳收集证据。综合回答会引用证据并进行验证;如果依据不足,严格护栏可以选择不作答。

架构

Brain 将源材料、派生记忆和读取路径分开。这是一种概念视图;不同的摄取路径和检索配置会启用其中的不同部分。

flowchart LR
  input["REST / MCP<br/>conversations · documents · facts"]
  raw[("Source records<br/>documents · episodes · evidence")]
  derive["Indexers and scene builders<br/>candidates · entity resolution · conflicts"]
  memory[("Connected memory on SurrealDB<br/>facts + graph · scenes · beliefs")]
  retrieve["Retrieval<br/>semantic + lexical · graph · multi-hop"]
  answer["Synthesis + verification<br/>answer with citations or abstention"]
  packs["Domain Packs<br/>vocabulary · memoryModel · tools"]
  media["Evidence registration / upload<br/>scan hook · trusted processors"]
  input --> raw
  input --> derive
  media --> raw
  raw --> derive
  derive --> memory
  memory --> retrieve
  raw --> retrieve
  retrieve --> answer
  packs -. "domain configuration" .-> derive
  packs -. "capabilities and consent" .-> media
记忆层保留内容
事实和实体类型化声明、规范实体、关系、置信度、来源归属和时间历史。
情节源对话轮次和对话上下文,派生记忆可追溯至此,也可据此重建。
场景有边界的事件,包含概要、实体、状态变化和来源链接。可选的概要嵌入和场景检索通道,可让场景与其他证据一起被搜索。
信念带修订历史和支持场景的派生状态。包投影的状态增量可用于信念晋升。
证据资产、已定位片段、处理运行记录和派生表示,并链接到其支持的记忆。

可重建记忆。 可从保留的情节在暂存版本中重建派生世界。读者会继续固定在先前的世界,直到完成晋升。场景维护可按计划处理待处理的对话,并使用预算、租约和指标;它可以组合场景并晋升有支持依据的信念。

可配置检索。 检索配置会根据语料库和问题选择机制。语义和词法搜索、图扩展、重排、原始段落、场景检索和信念检索是彼此独立的能力。已知实体可通过 graph_retrieve 接入;涉及多重关系的问题可使用 search_multi_hop。

分离服务与后台工作。 NestJS 服务使用由 SurrealDB 支持的作业队列、租约和工作线程卸载。可将镜像作为单个进程运行,也可通过 PROCESS_ROLE=api|worker 拆分;请参阅运维指南。

代码中包含一些默认未启用的能力,并不意味着每个安装都运行所有层。场景构建、场景服务、信念晋升、证据上传与处理以及包投影都有各自独立的开关。启用这些功能时,请查看架构、运维文档,以及场景、证据和包投影的标志定义。

领域包

领域包是按租户安装的带版本 JSON 清单。它会告知引擎如何解读某个领域的材料。领域包生成的观察结果仍是候选项,供核心流水线验证和解决。

领域包可声明用途
predicates类型化词汇、值约束、冲突语义、衰减和 PII 类别。
extractionProfile、evalFixtures领域指令、示例和提取检查。
memoryModel场景架构、状态模型和转换、注意力提示、验证规则及建议性保留提示。还会声明支持的模态、请求的处理器能力和原始证据策略。
indexer、seedDocuments参与文档索引,以及随领域包提供的知识。
mcpTools额外的 Agent 工具,须经操作员明确同意。

行业领域包库包括:

领域包示例记忆模型
real_estate房源、租赁和许可证。
fintech许可证和认证。
medical药物本体、处方和审批生命周期。
legal协议、义务和法律事务。
insurance保单和理赔生命周期。
hr职位和员工生命周期。

例如,real_estate 声明了房源状态路径 listed → under_offer → sold,以及撤回和重新上市的转换。 它区分了看房和成交场景,并为看房设置临时保留提示,为成交设置长期保留提示。

内置的 code_memory 领域包涵盖工程决策、理由、不变量、注意事项和变更生命周期。 使用 record_decision、why 和 recall_decisions 保留代码背后的原因。六个行业领域包可分发;内置代码记忆属于核心种子内容。

创作和分发。 使用 pnpm pack:init my_pack 创建脚手架,进行验证,可选择签名,然后发布到注册表并按租户安装。注册表中的版本不可变,安装会固定校验和,签名要求遵循服务端的信任策略。注册表和市场支持发现、发布者资料、镜像及可选计费。

同意是安装的一部分。 当前的第一方行业领域包声明了媒体能力,因此安装时需要查看该部分并传入 --accept-modalities。这会授权声明的能力;它不会提供缺失的处理器,也不会启用服务器的所有功能。领域包 MCP 工具有单独的同意流程。仅凭内置 code_memory 的媒体声明也不会激活媒体处理。

完整的创作、签名和安装命令: 领域包标准 · MCP 领域包工具 · 领域包评估。

开始使用

使用托管服务

托管版 brain 按公司配置:一个租户(companyId)和受限范围的 API 密钥。登录后,在密钥页面创建密钥——密钥只会显示一次,页面还会提供可直接粘贴的配置,适用于 Claude Code、Claude Desktop、Cursor、VS Code、Codex CLI 和 Goose。如果你的工作区尚未配置,请联系 [email protected]。

export BRAIN_URL="https://brain.inite.ai"
export BRAIN_KEY="brain_YOUR_API_KEY"

也可以使用你已持有的任意凭证通过 API 创建密钥—— POST /v1/keys 会创建一个权限范围不超过调用方自身权限的密钥,而 POST /v1/keys/{id}/revoke 可将其撤销。同一组端点也适用于 可自托管的部署,因此下方的环境变量密钥仅用于引导配置。

从源代码运行

前置条件:Node.js 24.9+、pnpm 10 和 Docker Compose。默认模型配置需要 OpenAI API 密钥。本地嵌入和其他模型提供商均可通过配置选择;请参阅运维。

git clone https://github.com/inite-ai/inite-brain-service.git
cd inite-brain-service
pnpm install --frozen-lockfile
cp .env.example .env
# Set OPENAI_API_KEY in .env for the default model configuration.

创建一个本地读写密钥。此操作会将生成的密钥及其注册信息追加到开发环境的 .env 中;Brain 会根据 SHA-256 哈希进行身份验证。

node <<'JS'
const { randomBytes, createHash } = require('node:crypto');
const { appendFileSync } = require('node:fs');
const key = 'brain_' + randomBytes(24).toString('hex');
const keys = [{
  keyHash: 'sha256:' + createHash('sha256').update(key).digest('hex'),
  companyId: 'co_demo',
  scopes: ['brain:read', 'brain:write'],
}];
appendFileSync('.env', '\nBRAIN_KEY=' + key + '\nBRAIN_API_KEYS=' + JSON.stringify(keys) + '\n');
JS

docker compose up -d surrealdb
pnpm start:dev

在第二个终端中,从同一目录运行:

export BRAIN_URL="http://localhost:3000"
export BRAIN_KEY="$(node --env-file=.env -p 'process.env.BRAIN_KEY')"
curl --fail-with-body "$BRAIN_URL/health"

如需完整的容器设置,请使用 docker compose --env-file .env up -d --build,而不是 pnpm start:dev。应用服务不会发布主机端口——这样才能通过 --scale brain=N 运行多个副本——因此请先将 docker-compose.override.yml.example 复制为 docker-compose.override.yml;它会映射主机端口 3030,之后 BRAIN_URL=http://localhost:3030 就能用于以下请求。Compose 默认配置用于本地开发;生产环境凭据和拓扑结构请参阅部署。

先记住一些内容,再提问

输入文本,获取事实。Brain 会捕获对话轮次、提取实体和主张,并对每一项执行双时态冲突解决:

curl --fail-with-body -X POST "$BRAIN_URL/v1/ingest/mention" \
  -H "Authorization: Bearer $BRAIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Maria moved to Berlin in June and prefers morning appointments.",
    "userId": "user_42"
  }'

curl --fail-with-body -X POST "$BRAIN_URL/v1/search" \
  -H "Authorization: Bearer $BRAIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "where does Maria live", "userId": "user_42", "limit": 5 }'

写入和读取时都使用应用中稳定的用户 ID。只有在使用租户级全局记忆时,才在写入和读取时都省略 userId。userId 同时也是发言者:第一人称对话(“我搬到了柏林”)会关联到用户自己的实体,而对 /v1/synthesize 提问“我住在哪里?”时,答案也会返回给该用户。记忆会从用户本人处学习其姓名——“我是 Maria”会成为关联到用户自身实体的 name 事实——也可以通过引导流程中的写入来记录:使用 entityRef: { "vertical": "user", "id": "user_42" }、predicate: "name" 和相同的 userId 调用 /v1/ingest/fact。(提及信息中设置发言者锚点 { "vertical": "user", "id": "user_42", "role": "speaker", "name": "Maria" } 也会记录其姓名。)若要在用户的作用域下转述他人的话,请将发言者锚定为那个人。在尚未学到姓名前,workspace_status 和 /v1/users/:userId/profile 会说明这一点——询问一次并记录下来。

记录已知事实

如果主张已有结构化形式——例如 CRM 字段发生变化,或触发了某个事件——就跳过提取器,直接陈述。响应会说明冲突解决器作出的决定(INSERTED、SUPERSEDED、COMPETING 等),而不只是说明写入已完成:

curl --fail-with-body -X POST "$BRAIN_URL/v1/ingest/fact" \
  -H "Authorization: Bearer $BRAIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "entityRef": { "vertical": "rent", "id": "cust_42" },
    "predicate": "complained_about",
    "object": "late maintenance",
    "validFrom": "2026-09-01T10:00:00Z",
    "userId": "user_42",
    "source": { "vertical": "rent", "messageId": "msg_1" }
  }'

上面的本地密钥没有管理权限;安装记忆包和遗忘记忆需要具有相应权限范围的操作员密钥。更多信息: 入门指南。

连接 Agent

Claude Code — 一条命令
/plugin marketplace add inite-ai/inite-brain-service
/plugin install inite-brain@inite

这会一并安装 MCP 服务、六个技能和生命周期钩子:SessionStart 会注入 Brain 已知的当前仓库信息,PreCompact 和 SessionEnd 会将会话写回。Claude Code 会在启用时提示输入 API 密钥,并将其保存在操作系统的钥匙串中。详情和开关选项请参阅:插件 README。

想手动配置?

claude mcp add --transport http brain https://brain.inite.ai/mcp \
  --header "Authorization: Bearer $BRAIN_KEY"
Gemini CLI — 一条命令
export BRAIN_API_KEY="brain_..."
gemini extensions install https://github.com/inite-ai/inite-brain-service

MCP 服务、六个技能和Agent 记忆指南会作为上下文加载。密钥保留在环境中——清单会引用 ${BRAIN_API_KEY},Gemini 会在连接时展开它。

Cursor 和 VS Code — 一键安装

这两款产品都提供安装 URL 协议,因此文件顶部的徽章就能完成安装;之后请在客户端自身的 MCP 设置中替换占位密钥。其他客户端均使用 URL https://brain.inite.ai/mcp(对于 ChatGPT,则使用 ?tools=chatgpt;其连接器协议恰好是 search + fetch)。

其他所有 harness
curl -fsSL https://brain.inite.ai/install.sh | sh

在机器上找到的每个 Agent 中安装这些技能——Claude Code、Codex CLI、Gemini CLI、openclaw、opencode——并将 --target cursor,agents --scope project 用于项目本地的 Agent。 SKILL.md 是跨 Agent 格式,因此同一组技能在任何地方都能直接使用, 无需修改。

对于会启动 stdio MCP 服务的客户端,请使用第一方 @inite/brain-mcp 连接器。此配置 适用于包含 mcpServers 映射的客户端,包括 Claude Desktop:

{
  "mcpServers": {
    "brain": {
      "command": "npx",
      "args": ["-y", "@inite/brain-mcp"],
      "env": {
        "BRAIN_API_KEY": "brain_YOUR_API_KEY",
        "BRAIN_COMPANY_ID": "YOUR_COMPANY_ID"
      }
    }
  }
}

对于本地设置,请使用公司 ID co_demo、.env 中的密钥,并在 env 中添加 "BRAIN_BASE_URL": "http://localhost:3000"(Compose 使用端口 3030)。客户端必须能够使用 Node.js 和 npx。

支持原生远程 MCP 的客户端可通过 Streamable HTTP 直接连接:

URL: https://brain.inite.ai/mcp          (tenant taken from the credential)
     https://brain.inite.ai/mcp/<companyId>   (explicit, must match the key)
Authorization: Bearer brain_<api-key>

两种写法都指向同一个端点。当客户端只接受 URL 时,请使用不带租户的写法—— 所有通过 OAuth 发现的连接器都属于这种情况,因为租户信息来自令牌中的 org 声明,而不是由用户粘贴配置提供。未经身份验证的探测可通过 /mcp/health(以及 /mcp/<companyId>/health)获得响应,因此设置脚本可以在任何凭据 存在之前检查连接是否可用。

密钥的作用域决定可用工具;服务器标志和已安装的包可以扩展可用功能。 连接器会转发工具和资源,并在客户端支持时桥接 MCP 采样。请参阅 各客户端设置指南。

Agent 任务从这里开始
查找相关记忆search_knowledge、graph_retrieve、search_multi_hop
提供带引文的回答synthesize
间隔一段时间后继续memory_diff、get_entity_timeline
记录信息单条主张用 record_fact;较长内容用 ingest_document
检查分歧detect_contradiction、get_competing_facts
记住工程决策依据record_decision、why、recall_decisions
查看刚刚连接到的内容workspace_status

阅读Agent 记忆指南,了解记忆语义;阅读 技能指南,了解可复用的 Agent 工作流。 综合结果会将事实引用保存在 citations 中,并将其他证据引用 (事件、片段、场景和信念)保存在 evidenceCitations 中;呈现回答时请保留二者。

使用 SDK 构建

npm install @inite/brain
import { createBrain, brainTools } from '@inite/brain'

const brain = createBrain({ apiKey: process.env.BRAIN_KEY!, userId: 'user_42' })
await brain.remember('Maria moved to Berlin in June.')
const { answer, citations } = await brain.answer('where does Maria live')

brainTools(brain) 会返回 Vercel AI SDK 可直接使用的工具定义,而 createBrainStore(brain) 会返回一个基于同一记忆的 LangGraph 风格存储。 只需一个依赖(zod),无需框架: @inite/brain。

在使用 Anthropic 的记忆工具(memory_20250818)吗?将文件系统 后端替换为按租户隔离的服务,无需改动 Agent 循环: @inite/brain-memory-tool。

为其提供文档

在服务器上启用 DOCUMENT_INGEST_ENABLED=1。通过 Source → Indexer → Candidates → Brain 提交规范化文本:

curl --fail-with-body -X POST "$BRAIN_URL/v1/ingest/document" \
  -H "Authorization: Bearer $BRAIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "markdown",
    "title": "Acme maintenance review",
    "text": "Customer cust_42 reported late maintenance. The team agreed to review response times next week.",
    "occurredAt": "2026-09-01T10:00:00Z",
    "userId": "user_42",
    "contextRef": { "vertical": "rent" }
  }'

索引器会先暂存候选内容,再由核心解析并提交事实。安装新包后,可以重新索引已存储 的内容;外部索引器可通过拉取式工作 API 接入。对某份文档设置 storeContent: false 会禁用 内容保留,因此之后重新索引时无法复用其文本。 文档处理流水线 · 外部索引器。

也可以让大脑读取已有内容:文件夹、存储桶、网站、MCP 服务——安装源包(file_memory、web_memory),在管理 → 连接中连接 数据源,然后同步;每条事实都会附带文件的修订版本。对于笔记本电脑、CI 运行器或局域网设备上的内容, @inite/brain-agent 会前往读取—— 文件夹、仓库中已提交的文档、本地 MCP 服务——并由大脑负责记录。 源平面。

文件与证据

证据层通过 POST /v1/ingest/evidence-asset 支持元数据/引用注册,通过 POST /v1/ingest/evidence-blob 支持多部分文件上传。上传的资产会经过扫描钩子, 并可分发给可信处理器;处理器输出的是派生表示,如果处理器提供了片段定位符, 则会一并包含。

当前适配器包括本地图像元数据解码、PDF 文本层提取和纯文本提取。图像元数据不等于视觉场景理解;PDF 文本提取不等于 OCR。 Pack 声明的模态是一项能力请求,并不代表已安装相应的音频、视频或视觉处理器。

这些路径需要通过相应的证据门控、存储配置和适用的 pack 同意检查。提供原始文件还会额外检查范围和 PII 策略。 证据契约 · 证据配置 · 处理器适配器。

基于 Brain 构建

  • 扩展领域:编写 pack,发布到注册表,并为每个租户安装经过审核的版本。
  • **连接索引器:**使用拉取协议和 参考客户端。
  • **扩展 Agent:**声明 pack MCP 工具,并为新增的工具范围单独征得同意。
  • 查看 API:OpenAPI 3.1 由平台契约通过 pnpm openapi:build 生成。

质量与评估

检索、答案准确率和状态转换正确性衡量的是不同方面。已发布的分数适用于特定数据集、 读取器模型、检索配置、令牌预算和代码修订版本;它们并不代表运行中服务的一般准确率保证。

评估测试内容
LoCoMo源对话可完整放入上下文时的表示质量。
LongMemEval对较长对话历史的回忆与推理能力。
BEAM历史记录规模增长时质量的变化情况。
记忆适用性与状态转换对记忆行为和生命周期变化进行无需评审器的机械检查。
领域 pack 与代码记忆测试集领域信息提取、实体身份、状态和工程记忆场景。

对话记忆评估结果采用严格的二元评审器、自有的完整上下文基线、配对统计和留出数据集。查看评估协议和方法说明,并结合这些内容理解任何已报告的数值;在不同协议下发布的分数不能直接比较。

CI:PR 会运行 lint、格式检查、类型检查、构建、带覆盖率的单元测试、套接字和集成测试,以及前端检查和供应链检查。真实 LLM 的质量评估按夜间计划运行或手动触发,不会在每个 PR 上运行。工作流是权威依据: .github/workflows/ci.yml。

测试集指南:记忆适用性 · 状态转换 · 领域 pack · 代码记忆。

技术栈

Node.js 24 · NestJS · TypeScript · SurrealDB 3.x · 可配置的嵌入与 LLM 提供商 · 本地 BGE-M3 选项 · 可配置的重排 · 基于 SurrealDB 的 作业与租约 · 工作线程 · OpenTelemetry。Web 应用和文档使用 Next.js、React 和 Tailwind CSS。

文档

文档中心 · 在线文档,EN/RU

任务阅读
集成快速入门、API、MCP Agent 指南
了解记忆架构、数据模型、双时态语义、检索配置
检查来源和访问权限事实来源、用户配置文件、来源可信度、ABAC
扩展领域包、文档处理流水线、MCP 包工具
运维运维、运维人员手册、部署
评估协议、方法论、测试框架

参与贡献

使用 AI Agent 参与贡献

在 GitHub Codespaces 中打开

你不需要是工程师。打开代码库(上方的 Codespaces 已提供运行着 SurrealDB 的就绪环境),启动编码 Agent,然后用通俗语言描述你的想法:

  • Claude Code: /contribute — 它会重述你的想法、编写简短的规范、通过测试实现功能、运行检查并创建 PR。/spec-idea 只会将想法提交为议题。
  • 任何其他 Agent(Cursor、Codex、Copilot、Gemini CLI、Windsurf…):“阅读 AGENTS.md,帮我添加……”。

AGENTS.md 是 Agent 的事实依据:其中包含命令、区域说明(哪些内容可以安全修改,哪些需要先联系维护者)以及从想法到 PR 的流程。只想提出建议?请使用产品想法表单。

工作流

工作流请参阅 CONTRIBUTING.md,社区准则请参阅 CODE_OF_CONDUCT.md。

pnpm lint:ci
pnpm format:check
pnpm typecheck
pnpm build
pnpm test
pnpm test:socket
# Integration suites require Docker:
pnpm test:e2e
pnpm test:e2e:jobs

请为你修改的行为选择其他评估项;使用真实模型运行需要提供方凭据。数据库变更应放在 src/db/migrations/ 中新的编号迁移文件里。报告漏洞请遵循 SECURITY.md。

路线图

请关注 议题和发布版本,了解当前工作。设计说明和早期实验保留在 docs/roadmap 中;在将某项内容视为已交付或待处理之前,请先查看其日期和状态。

许可证

AGPL-3.0-or-later。

评论

支持 Markdown

第一次接触 MCP?

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

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