🚀 Cursor10x现在是DevContext 🚀
Cursor10x已经发展成为DevContext——一个为开发人员提供的更强大、更专用的上下文系统
🧠 Project-Centric 📊 Relationship Graphs ⚡ High Performance
One database per project Intelligent code connections Minimal resource needs
🔥 DevContext将AI开发提升到一个新的水平 🔥
🔄 持续的上下文感知 -专注于重要内容的复杂检索方法 📊 结构化元数据 -从存储库结构到单个功能 🧠 自适应学习 -不断学习并适应您的开发模式 🤖 完全自主 -在后台工作的自我管理上下文系统 📚 外部文件 -自动检索和集成相关文档 📋 工作流集成 -内置无缝任务管理工作流
👀 密切留意 👀
DevContext项目生成器将在未来几天内启动,并将为您的项目创建一个完整的设置,使您的开发工作流程增加10倍。
Visit DevContext Repository
DevContext是一个先进的模型上下文协议(MCP)服务器,为开发人员提供持续的、以项目为中心的上下文感知,使他们能够更深入地理解你的代码库。
______________________________________________________________________
概述
Cursor10x存储系统为AI助手(特别是Claude)创建了一个持久的存储层,使他们能够保留和回忆:
- 最近的消息和对话历史记录
- 当前正在处理的活动文件
- 重要项目里程碑和决策
- 技术要求和规范
- 按时间顺序排列的动作和事件(情节)
- 代码库中的代码片段和结构
- 基于向量嵌入的语义相似内容
- 通过语义相似性分析相关代码片段
- 具有函数和变量关系的文件结构
这种存储系统弥合了无状态人工智能交互和持续开发工作流程之间的差距,从而提供了更高效、更具情境意识的帮助。
系统架构
存储系统基于四个核心组件构建:
- MCP服务器:实现模型上下文协议以注册工具和处理请求
- 内存数据库:使用Turso数据库跨会话进行持久存储
- 内存子系统:将内存组织成具有不同目的的专用系统
- 矢量嵌入:将文本和代码转换为语义搜索的数字表示
存储器类型
该系统实现了四种互补的内存类型:
- 短期记忆(STM)
- 存储最近的消息和活动文件 - 为当前交互提供即时上下文 - 根据新旧程度和重要性自动确定优先级
- 长期记忆(LTM)
- 存储永久性项目信息,如里程碑和决策 - 维护建筑和设计背景 - 无限期地保存高重要性信息
- 情景记忆
- 按时间顺序记录事件 - 保持行动之间的因果关系 - 为项目历史提供时间上下文
- 语义记忆
- 存储消息、文件和代码片段的向量嵌入 - 允许基于语义相似性检索内容 - 自动索引代码结构以进行上下文检索 - 跟踪代码组件之间的关系 - 提供跨代码库的基于相似性的搜索
特性
- 持久上下文:在多个会话中保持对话和项目上下文
- 基于重要性的存储:根据可配置的重要性级别对信息进行优先级排序
- 多维存储器:结合短期、长期、情景和语义记忆系统
- 综合检索:提供来自所有内存子系统的统一上下文
- 健康监测:包括内置诊断和状态报告
- 横幅生成:为对话开始创建信息丰富的上下文横幅
- 数据库持久性:将所有内存数据存储在Turso数据库中,并自动创建模式
- 矢量嵌入:为相似性搜索创建文本和代码的数字表示
- 高级矢量存储:利用Turso的F32_BLOB和向量函数实现高效的嵌入存储
- ANN搜索:支持近似最近邻搜索以实现快速相似性匹配
- 编码索引:自动检测和索引代码结构(函数、类、变量)
- 语义搜索:根据含义而不是精确的文本匹配来查找相关内容
- 相关性评分:按与当前查询的相关性对上下文项进行排序
- 代码结构检测:识别并提取跨多种语言的代码组件
- 自动嵌入生成:自动为索引内容创建向量嵌入
- 交叉引用检索:跨不同文件和组件查找相关代码
安装
先决条件
- Node.js 18或更高版本
- npm或yarn包管理器
- Turso数据库帐户
设置步骤
- 配置Turso数据库:
# Install Turso CLI
curl -sSfL https://get.turso.tech/install.sh | bash
# Login to Turso
turso auth login
# Create a database
turso db create cursor10x-mcp
# Get database URL and token
turso db show cursor10x-mcp --url
turso db tokens create cursor10x-mcp或者你可以访问 图尔索 然后注册并继续创建数据库并获取正确的凭据。免费计划将覆盖您的项目内存。
- 配置光标MCP:
更新 .cursor/mcp.json 在您的项目目录中,使用数据库url和turso auth令牌:
{
"mcpServers": {
"cursor10x-mcp": {
"command": "npx",
"args": ["cursor10x-mcp"],
"enabled": true,
"env": {
"TURSO_DATABASE_URL": "your-turso-database-url",
"TURSO_AUTH_TOKEN": "your-turso-auth-token"
}
}
}
}工具文档
系统工具
mcp_cursor10x_initConversation
通过在一个操作中存储用户消息、生成横幅和检索上下文来初始化对话。这个统一的工具取代了在每次对话开始时对单独的generateBanner、getComprehensiveContext和storeUserMessage调用的需要。
参数:
content(string,必填):用户消息的内容importance(字符串,可选):重要性级别(“低”、“中”、“高”、“严重”),默认为“低”metadata(object,可选):消息的其他元数据
退货:
- 具有两个部分的对象:
- display:包含要向用户显示的横幅 - internal:包含代理使用的全面上下文
例子:
// Initialize a conversation
const result = await mcp_cursor10x_initConversation({
content: "I need to implement a login system for my app",
importance: "medium",
});
// Result: {
// "status": "ok",
// "display": {
// "banner": {
// "status": "ok",
// "memory_system": "active",
// "mode": "turso",
// "message_count": 42,
// "active_files_count": 3,
// "last_accessed": "4/15/2023, 2:30:45 PM"
// }
// },
// "internal": {
// "context": { ... comprehensive context data ... },
// "messageStored": true,
// "timestamp": 1681567845123
// }
// }mcp_cursor10x_endConversation
通过在一次通话中组合多个操作来结束对话:存储助理的最终消息,记录所完成工作的里程碑,并将一个事件记录在情景记忆中。这个统一的工具取代了在每次对话结束时单独使用storeAssistantMessage、storeMilestone和recordEpisode调用的需要。
参数:
content(string,必填):助理最后信息的内容milestone_title(字符串,必填):要记录的里程碑的标题milestone_description(string,必填):描述所完成的工作importance(字符串,可选):重要性级别(“低”、“中”、“高”、“关键”),默认为“中”metadata(object,可选):所有记录的附加元数据
退货:
- 对象,包含每个操作的状态和结果
例子:
// End a conversation with finalization steps
const result = await mcp_cursor10x_endConversation({
content:
"I've implemented the authentication system with JWT tokens as requested",
milestone_title: "Authentication Implementation",
milestone_description:
"Implemented secure JWT-based authentication with refresh tokens",
importance: "high",
});
// Result: {
// "status": "ok",
// "results": {
// "assistantMessage": {
// "stored": true,
// "timestamp": 1681568500123
// },
// "milestone": {
// "title": "Authentication Implementation",
// "stored": true,
// "timestamp": 1681568500123
// },
// "episode": {
// "action": "completion",
// "stored": true,
// "timestamp": 1681568500123
// }
// }
// }mcp_cursor10x_checkHealth
检查内存系统及其数据库连接的运行状况。
参数:
- 无需
退货:
- 具有健康状态和诊断的对象
例子:
// Check memory system health
const health = await mcp_cursor10x_checkHealth({});
// Result: {
// "status": "ok",
// "mode": "turso",
// "message_count": 42,
// "active_files_count": 3,
// "current_directory": "/users/project",
// "timestamp": "2023-04-15T14:30:45.123Z"
// }mcp_cursor10x_getMemoryStats
检索有关内存系统的详细统计信息。
参数:
- 无需
退货:
- 具有全面内存统计信息的对象
例子:
// Get memory statistics
const stats = await mcp_cursor10x_getMemoryStats({});
// Result: {
// "status": "ok",
// "stats": {
// "message_count": 42,
// "active_file_count": 3,
// "milestone_count": 7,
// "decision_count": 12,
// "requirement_count": 15,
// "episode_count": 87,
// "oldest_memory": "2023-03-10T09:15:30.284Z",
// "newest_memory": "2023-04-15T14:30:45.123Z"
// }
// }mcp_cursor10x_getComprehensiveContext
从所有记忆子系统中检索统一的上下文,结合短期、长期和情景记忆。
参数:
- 无需
退货:
- 来自所有内存系统的具有整合上下文的对象
例子:
// Get comprehensive context
const context = await mcp_cursor10x_getComprehensiveContext({});
// Result: {
// "status": "ok",
// "context": {
// "shortTerm": {
// "recentMessages": [...],
// "activeFiles": [...]
// },
// "longTerm": {
// "milestones": [...],
// "decisions": [...],
// "requirements": [...]
// },
// "episodic": {
// "recentEpisodes": [...]
// },
// "system": {
// "healthy": true,
// "timestamp": "2023-04-15T14:30:45.123Z"
// }
// }
// }短期记忆工具
mcp_cursor10x_storeUserMessage
将用户消息存储在短期记忆系统中。
参数:
content(string,必填):消息内容importance(字符串,可选):重要性级别(“低”、“中”、“高”、“严重”),默认为“低”metadata(object,可选):消息的其他元数据
退货:
- 带有状态和时间戳的对象
例子:
// Store a user message
const result = await mcp_cursor10x_storeUserMessage({
content: "We need to implement authentication for our API",
importance: "high",
metadata: {
topic: "authentication",
priority: 1,
},
});
// Result: {
// "status": "ok",
// "timestamp": 1681567845123
// }mcp_cursor10x_storeAssistantMessage
将辅助信息存储在短期记忆系统中。
参数:
content(string,必填):消息内容importance(字符串,可选):重要性级别(“低”、“中”、“高”、“严重”),默认为“低”metadata(object,可选):消息的其他元数据
退货:
- 带有状态和时间戳的对象
例子:
// Store an assistant message
const result = await mcp_cursor10x_storeAssistantMessage({
content: "I recommend implementing JWT authentication with refresh tokens",
importance: "medium",
metadata: {
topic: "authentication",
contains_recommendation: true,
},
});
// Result: {
// "status": "ok",
// "timestamp": 1681567870456
// }mcp_cursor10x_trackActiveFile
跟踪用户正在访问或修改的活动文件。
参数:
filename(string,必填):被跟踪文件的路径action(string,必填):对文件执行的操作(打开、编辑、关闭等)metadata(object,可选):跟踪事件的其他元数据
退货:
- 带有状态、文件名、操作和时间戳的对象
例子:
// Track an active file
const result = await mcp_cursor10x_trackActiveFile({
filename: "src/auth/jwt.js",
action: "edit",
metadata: {
changes: "Added refresh token functionality",
},
});
// Result: {
// "status": "ok",
// "filename": "src/auth/jwt.js",
// "action": "edit",
// "timestamp": 1681567900789
// }mcp_cursor10x_getRecentMessages
从短期记忆中检索最近的消息。
参数:
limit(number,可选):要检索的最大邮件数,默认为10importance(字符串,可选):按重要性级别筛选
退货:
- 具有状态和消息数组的对象
例子:
// Get recent high importance messages
const messages = await mcp_cursor10x_getRecentMessages({
limit: 5,
importance: "high",
});
// Result: {
// "status": "ok",
// "messages": [
// {
// "id": 42,
// "role": "user",
// "content": "We need to implement authentication for our API",
// "created_at": "2023-04-15T14:30:45.123Z",
// "importance": "high",
// "metadata": {"topic": "authentication", "priority": 1}
// },
// ...
// ]
// }mcp_cursor10x_getActiveFiles
从短期内存中检索活动文件。
参数:
limit(number,可选):要检索的最大文件数,默认为10
退货:
- 具有状态和活动文件数组的对象
例子:
// Get recent active files
const files = await mcp_cursor10x_getActiveFiles({
limit: 3,
});
// Result: {
// "status": "ok",
// "files": [
// {
// "id": 15,
// "filename": "src/auth/jwt.js",
// "last_accessed": "2023-04-15T14:30:45.123Z",
// "metadata": {"changes": "Added refresh token functionality"}
// },
// ...
// ]
// }长期记忆工具
mcp_cursor10x_storeMilestone
将项目里程碑存储在长期记忆中。
参数:
title(字符串,必填):里程碑的标题description(字符串,必填):里程碑描述importance(字符串,可选):重要性级别,默认为“中等”metadata(object,可选):里程碑的其他元数据
退货:
- 具有状态、标题和时间戳的对象
例子:
// Store a project milestone
const result = await mcp_cursor10x_storeMilestone({
title: "Authentication System Implementation",
description:
"Implemented JWT authentication with refresh tokens and proper error handling",
importance: "high",
metadata: {
version: "1.0.0",
files_affected: ["src/auth/jwt.js", "src/middleware/auth.js"],
},
});
// Result: {
// "status": "ok",
// "title": "Authentication System Implementation",
// "timestamp": 1681568000123
// }mcp_cursor10x_storeDecision
将项目决策存储在长期记忆中。
参数:
title(字符串,必填):决定的标题content(string,必填):决策内容reasoning(字符串,可选):决策背后的推理importance(字符串,可选):重要性级别,默认为“中等”metadata(object,可选):决策的其他元数据
退货:
- 具有状态、标题和时间戳的对象
例子:
// Store a project decision
const result = await mcp_cursor10x_storeDecision({
title: "JWT for Authentication",
content: "Use JWT tokens for API authentication with refresh token rotation",
reasoning:
"JWTs provide stateless authentication with good security and performance characteristics",
importance: "high",
metadata: {
alternatives_considered: ["Session-based auth", "OAuth2"],
decision_date: "2023-04-15",
},
});
// Result: {
// "status": "ok",
// "title": "JWT for Authentication",
// "timestamp": 1681568100456
// }mcp_cursor10x_storeRequirement
将项目需求存储在长期内存中。
参数:
title(string,必填):需求的标题content(string,必填):需求内容importance(字符串,可选):重要性级别,默认为“中等”metadata(object,可选):需求的其他元数据
退货:
- 具有状态、标题和时间戳的对象
例子:
// Store a project requirement
const result = await mcp_cursor10x_storeRequirement({
title: "Secure Authentication",
content:
"System must implement secure authentication with password hashing, rate limiting, and token rotation",
importance: "critical",
metadata: {
source: "security audit",
compliance: ["OWASP Top 10", "GDPR"],
},
});
// Result: {
// "status": "ok",
// "title": "Secure Authentication",
// "timestamp": 1681568200789
// }情景记忆工具
mcp_cursor10x_recordEpisode
在情节记忆中记录一个情节(动作)。
参数:
actor(string,必填):执行动作的参与者(用户、助手、系统)action(string,必填):执行的操作类型content(string,必填):动作的内容或细节importance(字符串,可选):重要性级别,默认为“低”context(字符串,可选):剧集的上下文
退货:
- 具有状态、参与者、动作和时间戳的对象
例子:
// Record an episode
const result = await mcp_cursor10x_recordEpisode({
actor: "assistant",
action: "implementation",
content: "Created JWT authentication middleware with token verification",
importance: "medium",
context: "authentication",
});
// Result: {
// "status": "ok",
// "actor": "assistant",
// "action": "implementation",
// "timestamp": 1681568300123
// }mcp_cursor10x_getRecentEpisodes
从情节记忆中检索最近的情节。
参数:
limit(number,可选):要检索的最大剧集数,默认为10context(字符串,可选):按上下文筛选
退货:
- 具有状态和剧集数组的对象
例子:
// Get recent episodes in the authentication context
const episodes = await mcp_cursor10x_getRecentEpisodes({
limit: 5,
context: "authentication",
});
// Result: {
// "status": "ok",
// "episodes": [
// {
// "id": 87,
// "actor": "assistant",
// "action": "implementation",
// "content": "Created JWT authentication middleware with token verification",
// "timestamp": "2023-04-15T14:45:00.123Z",
// "importance": "medium",
// "context": "authentication"
// },
// ...
// ]
// }基于矢量的内存工具
mcp_cursor10x_manageVector
用于管理向量嵌入的统一工具,具有存储、搜索、更新和删除操作。
参数:
operation(字符串,必填):要执行的操作(“存储”、“搜索”、“更新”、“删除”)contentId(数字,可选):此向量表示的内容的ID(用于存储、更新、删除)contentType(字符串,可选):内容类型(“消息”、“文件”、“片段”等)vector(数组,可选):矢量数据作为数字数组(用于存储、更新)或查询矢量(用于搜索)vectorId(数字,可选):要更新或删除的向量的IDlimit(number,可选):搜索操作的最大结果数,默认为10threshold(数字,可选):搜索操作的相似性阈值,默认为0.7metadata(object,可选):关于向量的附加信息
退货:
- 具有状态和操作结果的对象
例子:
// Store a vector embedding
const result = await mcp_cursor10x_manageVector({
operation: "store",
contentId: 42,
contentType: "message",
vector: [0.1, 0.2, 0.3, ...], // 128-dimensional vector
metadata: {
topic: "authentication",
language: "en"
}
});
// Result: {
// "status": "ok",
// "operation": "store",
// "vectorId": 15,
// "timestamp": 1681570000123
// }
// Search for similar vectors
const searchResult = await mcp_cursor10x_manageVector({
operation: "search",
vector: [0.1, 0.2, 0.3, ...], // query vector
contentType: "snippet", // optional filter
limit: 5,
threshold: 0.8
});
// Result: {
// "status": "ok",
// "operation": "search",
// "results": [
// {
// "vectorId": 10,
// "contentId": 30,
// "contentType": "snippet",
// "similarity": 0.92,
// "metadata": { ... }
// },
// ...
// ]
// }数据库模式
内存系统会自动创建和维护以下数据库表:
messages:存储用户和助手消息
- id:唯一标识符 - timestamp:创建时间戳 - role:消息角色(用户/助理) - content:消息内容 - importance:重要性级别 - archived:邮件是否存档
active_files:跟踪文件活动
- id:唯一标识符 - filename:文件的路径 - action:上次执行的操作 - last_accessed:上次访问的时间戳
milestones:记录项目里程碑
- id:唯一标识符 - title:里程碑标题 - description:详细说明 - timestamp:创建时间戳 - importance:重要性级别
decisions:存储项目决策
- id:唯一标识符 - title:决策标题 - content:决策内容 - reasoning:决策推理 - timestamp:创建时间戳 - importance:重要性级别
requirements:保持项目要求
- id:唯一标识符 - title:需求标题 - content:需求内容 - timestamp:创建时间戳 - importance:重要性级别
episodes:记录行动和事件
- id:唯一标识符 - timestamp:创建时间戳 - actor:执行动作的演员 - action:行动类型 - content:行动细节 - importance:重要性级别 - context:行动背景
vectors:存储用于语义搜索的向量嵌入
- id:唯一标识符 - content_id:引用内容的ID - content_type:内容类型(消息、文件、片段) - vector:嵌入向量的二进制表示 - metadata:矢量的附加元数据
code_files:跟踪索引代码文件
- id:唯一标识符 - file_path:文件的路径 - language:编程语言 - last_indexed:上次索引的时间戳 - metadata:附加文件元数据
code_snippets:存储提取的代码结构
- id:唯一标识符 - file_id:引用父文件 - start_line:起始行号 - end_line:结束行号 - symbol_type:代码结构类型(函数、类、变量) - content:代码片段内容
示例工作流
优化对话开始
// Initialize conversation with a single tool call
// This replaces the need for three separate calls at the start of the conversation
const result = await mcp_cursor10x_initConversation({
content: "I need help implementing authentication in my React app",
importance: "high",
});
// Display the banner to the user
console.log("Memory System Status:", result.display.banner);
// Use the context internally (do not show to user)
const context = result.internal.context;
// Use context for more informed assistance启动新会话(替代方法)
// Generate a memory banner at the start
mcp_cursor10x_generateBanner({});
// Get comprehensive context
mcp_cursor10x_getComprehensiveContext({});
// Store the user message
mcp_cursor10x_storeUserMessage({
content: "I need help with authentication",
importance: "high",
});跟踪用户活动
// Track an active file
await mcp_cursor10x_trackActiveFile({
filename: "src/auth/jwt.js",
action: "edit",
});故障排除
常见问题
- 数据库连接问题
- 验证您的Turso数据库URL和身份验证令牌是否正确 - 检查Turso服务的网络连接 - 验证防火墙设置是否允许连接
- 缺失数据
- 检查数据是否以适当的重要性级别存储 - 验证检索查询参数(限制、过滤器) - 使用检查数据库运行状况 mcp_cursor10x_checkHealth()
- 性能问题
- 使用以下工具监视内存统计信息 mcp_cursor10x_getMemoryStats() - 如果数据库增长太大,请考虑归档旧数据 - 通过使用更具体的过滤器优化检索
诊断步骤
- 检查系统运行状况:
const health = await mcp_cursor10x_checkHealth({});
console.log("System Health:", health);- 验证内存统计信息:
const stats = await mcp_cursor10x_getMemoryStats({});
console.log("Memory Stats:", stats);- 生成状态横幅:
const banner = await mcp_cursor10x_generateBanner({});
console.log("Memory Banner:", banner);重要性级别
在内存中存储项目时,使用适当的重要性级别:
- 低:一般信息、日常操作、日常对话
- 中等:有用的上下文、标准工作项、常规功能
- 高:关键决策、主要特征、重要架构要素
- 关键的:核心架构、安全问题、数据完整性问题
许可证
麻省理工学院
