Token导航 LogoToken导航TokenDH.com
consciousness logo
搜索检索stdio官方级别未说明来源级核验

consciousness

MCP Server

@one710/consciousness

一个强大的、可插拔的向量内存和模型上下文协议(MCP)服务器,用于本地语义搜索和长期记忆存储。

工具数

8

提示词数

0

GitHub Stars

3

资源数

0
TypeScript搜索文档处理

安装说明

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

作者 / 组织

one710

提供方

one710

最后核验

2026/5/17 20:19

运行时

Node.js

快速接入

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

命令预览

npx @one710/consciousness

详细介绍

@one710/意识

](https://www.npmjs.com/package/@one710/consciousness) ](https://www.npmjs.com/package/@one710/consciousness) ![Build Status](https://github.com/one710/consciousness/actions/workflows/publish.yml) ![License: MIT](https://opensource.org/licenses/MIT)

一个功能强大、可插拔的向量内存和模型上下文协议(MCP)服务器,用于本地语义搜索和长期内存。

特性

  • MCP集成:与模型上下文协议完全兼容。
  • 会话范围和通用内存:作用域工具按以下方式隔离内存 sessionId通用工具提供共享的、独立于会话的存储。
  • 可插拔架构:轻松交换嵌入提供程序和矢量存储。
  • 多个存储后端:通过可选入口点访问内存、文件系统、ChromaDB和Supabase(pgvector)。
  • 可选嵌入入口点:Hugging Face和AI SDK提供商仅在从导入时加载 @one710/consciousness/huggingface@one710/consciousness/aisdk.
  • 语义搜索:使用最先进的嵌入技术进行智能内存检索。
  • DTS索引:使用样本距离(DTS)逻辑优化搜索。

快速入门(使用npx)

您可以直接运行意识MCP服务器,无需安装 npx:

npx @one710/consciousness

默认情况下,这将使用 FilesystemVectorStore (坚持到 ./memory_store.json)以及 HFEmbeddingProvider.

安装

npm install @one710/consciousness

代码中的用法

创建MCP服务器

import { createServer, MemoryVectorStore } from "@one710/consciousness";
import { HFEmbeddingProvider } from "@one710/consciousness/huggingface";

const provider = new HFEmbeddingProvider();
const store = new MemoryVectorStore(provider);
const server = createServer("my-server", "1.0.0", store);

// Connect to transport (e.g., Stdio)
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const transport = new StdioServerTransport();
await server.connect(transport);

嵌入提供商

拥抱的脸(当地)

用途 @huggingface/transformers 在CPU/GPU上本地生成嵌入。导入可选条目,以便在使用此提供程序之前,主包图不会加载Transformers:

import { HFEmbeddingProvider } from "@one710/consciousness/huggingface";

const provider = new HFEmbeddingProvider();

AI SDK(云/远程)

使用Vercel AI SDK连接到任何受支持的提供商(例如OpenAI、Anthropic、Google)。安装 ai 以及您使用的提供程序包,然后导入:

import { AISDKEmbeddingProvider } from "@one710/consciousness/aisdk";
import { openai } from "@ai-sdk/openai";

const provider = new AISDKEmbeddingProvider(
  openai.embedding("text-embedding-3-small"),
  1536, // Dimensions
);

向量存储

内存存储(内存中)

import { MemoryVectorStore } from "@one710/consciousness";

const store = new MemoryVectorStore(provider);

文件系统存储(本地持久性)

import { FilesystemVectorStore } from "@one710/consciousness";

const store = new FilesystemVectorStore(provider, "./memory-data.json");

Chroma商店(分布式/管理式)

安装 chromadb 在这个包旁边,然后导入可选条目(主包不依赖于Chroma):

import { ChromaVectorStore } from "@one710/consciousness/chroma";
import { ChromaClient } from "chromadb";

const client = new ChromaClient();
const store = new ChromaVectorStore(provider, client, "my-collection");

Supabase商店(pgvector)

安装 @supabase/supabase-js,在下应用SQL supabase/migrations/ 在你的项目中。在这次迁移中,set embedding_dimDO 根据提供商的宽度(例如。 1536 OpenAI text-embedding-3-small, 384 对于默认的MiniLM模型)。然后:

import { createClient } from "@supabase/supabase-js";
import { SupabaseVectorStore } from "@one710/consciousness/supabase";

const client = createClient(url, key);
const store = new SupabaseVectorStore(provider, client);

与Sessions合作

所有店铺运营都需要 sessionId 隔离记忆:

const sessionId = "user-123";

// Store a memory
await store.add(sessionId, "The capital of France is Paris");

// Search within the session
const results = await store.search(sessionId, "France", {
  method: "cosine",
  limit: 5,
});

// Forget a specific memory
await store.forget(sessionId, results[0].item.id);

// Clear all memories for the session
await store.clear(sessionId);

MCP工具

MCP服务器公开了两组工具:

范围内的工具(需要 sessionId)

工具说明
add_to_scoped_memory存储会话范围内的内容
search_scoped_memory会话内的语义搜索(cosine, euclidean, dts)
forget_scoped_memory在会话中按ID删除特定内存
clear_scoped_memory清除会话的所有记忆

通用工具(无 sessionId 需要)

工具说明
add_to_universal_memory将内容存储在共享的、与会话无关的内存中
search_universal_memory跨通用记忆的语义搜索(cosine, euclidean, dts)
forget_universal_memory按ID从通用内存中删除特定内存
clear_universal_memory清除所有普遍记忆

本地Supabase(Docker)和测试

该仓库包括一个Supabase CLI项目 supabase/.与 码头工人 正在运行:

yarn supabase:start

这会拉取图像,应用 supabase/migrations/,并在中公开API http://127.0.0.1:54321 (参见 yarn supabase:status).停止 yarn supabase:stop.

集成测试 test/supabase-vector-store.test.ts 使用默认本地URL探测该URL 服务角色 JWT。如果堆栈已关闭,它们将跳过并发出简短的控制台警告,因此 yarn test 仍然完成。要强制跳过它们(例如在没有Docker的CI中):

SKIP_SUPABASE_TESTS=1 yarn test

要仅运行Supabase测试,请执行以下操作:

yarn supabase:start   # once per machine session
yarn test:supabase

需要时覆盖URL/键: SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY (或 API_URL / SERVICE_ROLE_KEYsupabase status --output env).

通过Docker Compose实现Chroma+Supabase(集成测试)

色度 (港口 8000), Postgres+pgvector (主持人 54332), PostgREST,还有一个小 引擎X 网关如此 @supabase/supabase-js 继续使用 /rest/v1/ 它所期望的路径。默认设置可避免在上与Supabase CLI冲突 54321 / 54322;用于测试的API为 http://127.0.0.1:54331.

yarn docker:test:up    # wait until containers are healthy
yarn docker:test       # sets SUPABASE_URL=http://127.0.0.1:54331 and runs the full suite
yarn docker:test:down  # stop and remove volumes

yarn test 预期 本地主机上的色度:8000 (例如。 yarn docker:test:up 在完整运行之前)。 test/chroma.test.ts 用途 ChromaClient 默认设置为与组合映射匹配。 SKIP_SUPABASE_TESTS 仍然适用于上无法访问与Subabase-兼容的API的情况 SUPABASE_URL (默认值 http://127.0.0.1:54321).

许可证

该项目根据 MIT许可证.

目录标签

目录标签

TypeScript搜索文档处理向量存储本地部署语义搜索模型上下文协议长期记忆可插拔架构

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@one710/consciousness

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP