AI对话记忆层

ContextFS是一个开源的内存层,为AI对话提供持久化、可搜索的上下文支持,适用于Claude CLI、Claude Desktop及任何MCP兼容的AI工具。

  • by MagnetonIO
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 MagnetonIO/contextfs-node

使用说明

ContextFS

Git用于您的AI对话 --具有MCP服务器支持的本地第一AI存储层。

项目代码后面的本地上下文

概述

ContextFS是一个开源的存储层,为每个AI对话提供持久、可搜索的上下文。它适用于Claude CLI、Claude Desktop和任何兼容MCP的AI工具。

主要特点

  • 本地优先 --项目中存储的所有数据 .contextfs/ 目录
  • MCP服务器 --与Claude CLI/桌面的原生集成
  • 全文搜索 --SQLite FTS5与BM25排名
  • 记忆分类学 --结构化类型:事实、情节、程序、决策、用户
  • 会话跟踪 --自动捕获和回忆对话
  • CLI工具 — ctx 直接内存管理命令

快速开始

安装

npm install -g contextfs

在项目中初始化

cd your-project
ctx init

配置Claude CLI

添加 ~/.config/claude/settings.json:

{
  "mcpServers": {
    "contextfs": {
      "command": "ctx",
      "args": ["mcp", "--stdio"]
    }
  }
}

用它

# Save a memory
ctx save "We use PostgreSQL for the main database" -t fact

# Search memories
ctx search "database"

# List recent memories
ctx list

在克劳德身上,自然地问:

“请注意,我们决定使用Redis进行缓存”

CLI命令

命令 描述
ctx init 在当前目录中初始化ContextFS
ctx save <text> 保存内存
ctx search <query> 搜索记忆
ctx list [type] 列出回忆
ctx show <id> 显示内存详细信息
ctx chat 互动聊天模式
ctx wrap <cmd> 包装和捕获CLI输出
ctx export 导出记忆
ctx mcp --stdio 运行MCP服务器

内存类型

类型 用例 示例
fact 原子事实 “数据库是PostgreSQL 15”
episodic 会话摘要 “讨论了身份验证实现”
procedural 如何了解 “要部署:运行npm run deploy”
decision 架构决策 “选择JWT解决无国籍问题”
user 用户偏好 “更喜欢TypeScript”

MCP工具

使用Claude配置时,可以使用以下工具:

工具 说明
contextfs_save 使用类型/标签保存内存
contextfs_search 带排名的全文搜索
contextfs_list 列出最近的回忆
contextfs_recall 按ID获取特定内存
contextfs_sessions 列出对话会话
contextfs_load_session 按ID或标签加载会话
contextfs_message 将消息添加到当前会话
contextfs_import_claude 导入Claude CLI会话

项目结构

your-project/
├── .contextfs/
│   ├── config.yaml      # Project configuration (commit this)
│   └── context.db       # SQLite database (gitignore this)
└── ...

程序化使用

import { ContextFS } from 'contextfs';

const ctx = new ContextFS();

// Save a memory
ctx.save('JWT tokens expire after 24 hours', {
  type: 'decision',
  tags: ['auth', 'security']
});

// Search
const results = ctx.search('authentication');

// Start/end sessions
ctx.startSession({ tool: 'my-app' });
ctx.addMessage('user', 'How do I implement auth?');
ctx.endSession();

文档

建筑

ContextFS被构建为一个独立的内存层,可以与各种AI框架集成:

┌─────────────────────────────────────────────────────┐
│                    AI Tools                          │
│  Claude CLI │ Claude Desktop │ Custom Agents        │
└──────────────────────┬──────────────────────────────┘
                       │ MCP Protocol
┌──────────────────────▼──────────────────────────────┐
│                   ContextFS                          │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐ │
│  │  MCP Server │  │     CLI     │  │     SDK     │ │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘ │
│         └────────────────┼────────────────┘        │
│                    ┌─────▼─────┐                    │
│                    │  Storage  │                    │
│                    │ SQLite+FTS│                    │
│                    └───────────┘                    │
└─────────────────────────────────────────────────────┘

与AIGNE框架集成

ContextFS可以与 AIGNE框架 对于基于代理的应用程序:

作为AFS模块的内存后端

import { AFS } from "@aigne/afs";
import { ContextFSModule } from "contextfs/afs"; // Future integration

const afs = new AFS();
afs.mount(new ContextFSModule({
  projectRoot: process.cwd()
}));

推荐的集成点

  1. 会话历史记录 --使用ContextFS持久化AIGNE代理对话
  2. 决策记忆 --跨代理会话存储架构决策
  3. 用户偏好 --在AIGNE代理和Claude CLI之间共享用户上下文
  4. 程序性知识 --保存代理发现的工作流以供重用

路线图

  • []团队协作的云同步
  • []语义搜索的向量嵌入
  • []AIGNE AFS模块集成
  • []VS代码扩展名
  • []Web仪表板

许可证

麻省理工学院

贡献

欢迎投稿!请在提交PR之前阅读投稿指南。