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 | 保存内存 |
ctx search | 搜索记忆 |
ctx list [type] | 列出回忆 |
ctx show | 显示内存详细信息 |
ctx chat | 互动聊天模式 |
ctx wrap | 包装和捕获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()
}));推荐的集成点
- 会话历史记录 --使用ContextFS持久化AIGNE代理对话
- 决策记忆 --跨代理会话存储架构决策
- 用户偏好 --在AIGNE代理和Claude CLI之间共享用户上下文
- 程序性知识 --保存代理发现的工作流以供重用
路线图
- \[\]团队协作的云同步
- \[\]语义搜索的向量嵌入
- \[\]AIGNE AFS模块集成
- \[\]VS代码扩展名
- \[\]Web仪表板
许可证
麻省理工学院
贡献
欢迎投稿!请在提交PR之前阅读投稿指南。
