返回市场
主服务器

主服务器

作者:aiurda72 星标更新:2025-05-08

项目介绍

技术文档摘要

DevContext - AI开发上下文的下一步进化

<div align="center">

🚀 Cursor10x 现已更名为 DevContext 🚀

Cursor10x 已经演进为 DevContext —— 一个更强大、专为开发者设计的上下文系统

<table align="center"> <tr> <td align="center"><b>🧠 项目中心化</b></td> <td align="center"><b>📊 关系图谱</b></td> <td align="center"><b>⚡ 高性能</b></td> </tr> <tr> <td align="center">每个项目一个数据库</td> <td align="center">智能代码连接</td> <td align="center">极低资源需求</td> </tr> </table>

🔥 DevContext 将AI开发推向了新的高度 🔥

🔄 持续上下文感知 —— 集中于重要的检索方法 📊 结构化元数据 —— 从仓库结构到单个函数 🧠 自适应学习 —— 持续从你的开发模式中学习并适应 🤖 完全自主 —— 在后台工作的自我管理上下文系统 📚 外部文档 —— 自动检索并集成相关文档 📋 工作流整合 —— 内置无缝任务管理工作流

👀 敬请期待 👀

DevContext 项目生成器将在接下来的几天内发布,并将为你的项目创建一套完整的设置,以提升你的开发工作流程。

<p align="center"> <a href="https://github.com/aurda012/devcontext" style="display: inline-block; background-color: rgba(40, 230, 210); color: white; padding: 12px 24px; text-decoration: none; border-radius: 8px; font-weight: bold; box-shadow: 0 4px 6px rgba(0,0,0,0.1); transition: all 0.3s ease;">访问 DevContext 仓库</a> </p>

<i>DevContext 是一款前沿的模型上下文协议(MCP)服务器,为开发者提供持续的、项目中心化的上下文感知能力,深入理解你的代码库。</i>

</div>

概览

Cursor10x 记忆系统为AI助手(特别是Claude)创建了一个持久的记忆层,使它们能够保留和回忆:

  • 最近的消息和对话历史
  • 正在处理的活动文件
  • 重要项目里程碑和决策
  • 技术要求和规范
  • 行动和事件的时间序列(情节)
  • 来自代码库的代码片段和结构
  • 基于向量嵌入的语义相似内容
  • 通过语义相似性关联的代码片段
  • 文件结构及其函数和变量关系

该记忆系统弥合了无状态AI交互与连续开发工作流之间的差距,使得AI助手更加高效且具有上下文感知能力。

系统架构

记忆系统建立在四个核心组件上:

  1. MCP服务器:实现模型上下文协议以注册工具和处理请求
  2. 记忆数据库:使用Turso数据库进行跨会话的持久存储
  3. 记忆子系统:将记忆组织成具有特定目的的专业系统
  4. 向量嵌入:将文本和代码转换为数值表示形式,用于语义搜索

记忆类型

系统实现了四种互补的记忆类型:

  1. 短期记忆(STM)

    • 存储最近的消息和活动文件
    • 提供当前互动的即时上下文
    • 根据新旧程度和重要性自动优先级排序
  2. 长期记忆(LTM)

    • 存储永久的项目信息,如里程碑和决策
    • 维护架构和设计上下文
    • 无限期保存高重要性的信息
  3. 情节记忆

    • 记录时间序列的事件
    • 维护行动间的因果关系
    • 提供项目历史的时间上下文
  4. 语义记忆

    • 存储消息、文件和代码片段的向量嵌入
    • 支持基于语义相似性的内容检索
    • 自动索引代码结构以进行上下文检索
    • 跟踪代码组件间的关系
    • 支持基于相似性的代码库搜索

特点

  • 持久上下文:在多个会话之间维持对话和项目上下文
  • 基于重要性的存储:根据可配置的重要性级别优先处理信息
  • 多维度记忆:结合短期、长期、情节和语义记忆系统
  • 综合检索:从所有记忆子系统提供统一的上下文
  • 健康监控:包括内置诊断和状态报告
  • 横幅生成:为对话开始创建信息丰富的上下文横幅
  • 数据库持久性:在Turso数据库中自动创建模式存储所有记忆数据
  • 向量嵌入:创建文本和代码的数值表示形式,用于相似性搜索
  • 高级向量存储:利用Turso的F32_BLOB和向量功能进行高效的嵌入存储
  • ANN搜索:支持近似最近邻搜索,实现快速相似性匹配
  • 代码索引:自动检测并索引代码结构(函数、类、变量)
  • 语义搜索:基于意义而非精确文本匹配查找相关内容
  • 相关性评分:按与当前查询的相关性对上下文项进行排名
  • 代码结构检测:识别并提取多种语言的代码组件
  • 自动嵌入生成:为索引内容自动创建向量嵌入
  • 交叉引用检索:在不同文件和组件间查找相关代码

安装

先决条件

  • Node.js 18 或更高版本
  • npm 或 yarn 包管理器
  • Turso 数据库账户

设置步骤

  1. 配置 Turso 数据库:
# 安装 Turso CLI
curl -sSfL https://get.turso.tech/install.sh | bash

# 登录 Turso
turso auth login

# 创建数据库
turso db create cursor10x-mcp

# 获取数据库 URL 和令牌
turso db show cursor10x-mcp --url
turso db tokens create cursor10x-mcp

或者你可以访问 Turso 并注册,然后创建数据库并获取适当的凭证。免费计划将充分覆盖你的项目记忆。

  1. 配置 Cursor MCP:

更新项目目录中的 .cursor/mcp.json 文件,添加数据库 URL 和 Turso 认证令牌:

{
  "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 (字符串,必需):用户消息的内容
  • importance (字符串,可选):重要性级别 ("low", "medium", "high", "critical"),默认为 "low"
  • metadata (对象,可选):消息的附加元数据

返回值:

  • 包含两个部分的对象:
    • display:包含要显示给用户的横幅
    • internal:包含代理使用的综合上下文

示例:

// 初始化对话
const result = await mcp_cursor10x_initConversation({
  content: "我需要在我的应用中实现登录系统",
  importance: "medium",
});
// 返回结果:{
//   "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": { ... 综合上下文数据 ... },
//     "messageStored": true,
//     "timestamp": 1681567845123
//   }
// }

mcp_cursor10x_endConversation

结束对话,通过一次调用完成多个操作:存储助理的最终消息,记录已完成的里程碑,并在情节记忆中记录一个情节。这个统一工具取代了在每次对话结束时分别调用storeAssistantMessage、storeMilestone和recordEpisode的需求。

参数:

  • content (字符串,必需):助理最终消息的内容
  • milestone_title (字符串,必需):要记录的里程碑标题
  • milestone_description (字符串,必需):描述已完成的内容
  • importance (字符串,可选):重要性级别 ("low", "medium", "high", "critical"),默认为 "medium"
  • metadata (对象,可选):所有记录的附加元数据

返回值:

  • 包含每个操作状态和结果的对象

示例:

// 结束对话并完成步骤
const result = await mcp_cursor10x_endConversation({
  content:
    "我已经按照要求实现了带有JWT令牌的身份验证系统",
  milestone_title: "身份验证实现",
  milestone_description:
    "实现了基于JWT的安全身份验证,并带有刷新令牌",
  importance: "high",
});
// 返回结果:{
//   "status": "ok",
//   "results": {
//     "assistantMessage": {
//       "stored": true,
//       "timestamp": 1681568500123
//     },
//     "milestone": {
//       "title": "身份验证实现",
//       "stored": true,
//       "timestamp": 1681568500123
//     },
//     "episode": {
//       "action": "完成",
//       "stored": true,
//       "timestamp": 1681568500123
//     }
//   }
// }

mcp_cursor10x_checkHealth

检查记忆系统及其数据库连接的健康状况。

参数:

  • 无需参数

返回值:

  • 包含健康状态和诊断信息的对象

示例:

// 检查记忆系统健康
const health = await mcp_cursor10x_checkHealth({});
// 返回结果:{
//   "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

检索有关记忆系统的详细统计信息。

参数:

  • 无需参数

返回值:

  • 包含全面记忆统计信息的对象

示例:

// 获取记忆统计信息
const stats = await mcp_cursor10x_getMemoryStats({});
// 返回结果:{
//   "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

从所有记忆子系统检索统一的上下文,结合短期、长期和情节记忆。

参数:

  • 无需参数

返回值:

  • 包含来自所有记忆系统的综合上下文的对象

示例:

// 获取综合上下文
const context = await mcp_cursor10x_getComprehensiveContext({});
// 返回结果:{
//   "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 (字符串,必需):消息的内容
  • importance (字符串,可选):重要性级别 ("low", "medium", "high", "critical"),默认为 "low"
  • metadata (对象,可选):消息的附加元数据

返回值:

  • 包含状态和时间戳的对象

示例:

// 存储用户消息
const result = await mcp_cursor10x_storeUserMessage({
  content: "我们需要为我们的API实现身份验证",
  importance: "high",
  metadata: {
    topic: "身份验证",
    priority: 1,
  },
});
// 返回结果:{
//   "status": "ok",
//   "timestamp": 1681567845123
// }

mcp_cursor10x_storeAssistantMessage

在短期记忆系统中存储助理消息。

参数:

  • content (字符串,必需):消息的内容
  • importance (字符串,可选):重要性级别 ("low", "medium", "high", "critical"),默认为 "low"
  • metadata (对象,可选):消息的附加元数据

返回值:

  • 包含状态和时间戳的对象

示例:

// 存储助理消息
const result = await mcp_cursor10x_storeAssistantMessage({
  content: "我建议实现带有刷新令牌的JWT身份验证",
  importance: "medium",
  metadata: {
    topic: "身份验证",
    contains_recommendation: true,
  },
});
// 返回结果:{
//   "status": "ok",
//   "timestamp": 1681567870456
// }

mcp_cursor10x_trackActiveFile

跟踪用户正在访问或修改的活动文件。

参数:

  • filename (字符串,必需):被跟踪文件的路径
  • action (字符串,必需):在文件上执行的操作(打开、编辑、关闭等)
  • metadata (对象,可选):跟踪事件的附加元数据

返回值:

  • 包含状态、文件名、操作和时间戳的对象

示例:

// 跟踪活动文件
const result = await mcp_cursor10x_trackActiveFile({
  filename: "src/auth/jwt.js",
  action: "编辑",
  metadata: {
    changes: "添加了刷新令牌功能",
  },
});
// 返回结果:{
//   "status": "ok",
//   "filename": "src/auth/jwt.js",
//   "action": "编辑",
//   "timestamp": 1681567900789
// }

mcp_cursor10x_getRecentMessages

从短期记忆中检索最近的消息。

参数:

  • limit (数字,可选):要检索的消息的最大数量,默认为 10
  • importance (字符串,可选):按重要性级别过滤

返回值:

  • 包含状态和消息数组的对象

示例:

// 获取最近的重要消息
const messages = await mcp_cursor10x_getRecentMessages({
  limit: 5,
  importance: "high",
});
// 返回结果:{
//   "status": "ok",
//   "messages": [
//     {
//       "id": 42,
//       "role": "用户",
//       "content": "我们需要为我们的API实现身份验证",
//       "created_at": "2023-04-15T14:30:45.123Z",
//       "importance": "high",
//       "metadata": {"topic": "身份验证", "priority": 1}
//     },
//     ...
//   ]
// }

mcp_cursor10x_getActiveFiles

从短期记忆中检索活动文件。

参数:

  • limit (数字,可选):要检索的文件的最大数量,默认为 10

返回值:

  • 包含状态和活动文件数组的对象

示例:

// 获取最近的活动文件
const files = await mcp_cursor10x_getActiveFiles({
  limit: 3,
});
// 返回结果:{