返回市场
开发上下文

开发上下文

作者:aiurda38 星标更新:2025-05-30

项目介绍

DevContext: 自主上下文感知模型-上下文-协议 (MCP) 服务器

<p align="center"> <img src="https://gips2.baidu.com/it/u=2380916590,1072089352&fm=3081&app=3081&f=PNG?w=1024&h=486" alt="DevContext Banner" width="100%" /> </p>

通过智能上下文感知增强您的开发工作流程 - DevContext 理解您的代码库、对话和开发模式,为您提供在需要时的相关上下文。

引言

DevContext 是一款前沿的模型上下文协议 (MCP) 服务器,旨在为开发者提供持续的、以项目为中心的上下文感知。与传统的上下文系统不同,DevContext 持续从您的开发模式中学习并适应。DevContext 利用复杂的检索方法,专注于关键词分析、关系图和结构化元数据,以在开发过程中提供高度相关的上下文,深入理解您的对话和代码库。

该服务器使用专属于单个项目的数据库实例运行,消除了跨项目复杂性,并确保在资源需求最小的情况下实现性能。DevContext 全面理解您的代码库——从仓库结构到单个函数——同时持续从您的开发模式中学习并适应。

最佳使用方式 是遵循以下指南实施提供的光标规则系统,从而获得:

  • 完全自主的上下文管理
  • 自主 外部文档上下文和使用
  • 完整的 任务管理 工作流集成

核心技术

  • Node.js: 运行环境 (Node.js 18+)
  • TursoDB: 优化用于边缘部署的 SQL 数据库(与 SQLite 兼容)
  • 模型上下文协议 SDK: 用于与 IDE 客户端的标准通信
  • 光标规则: 自主开发环境和工作流管理
  • JavaScript/TypeScript: 纯 JavaScript 实现,无外部机器学习依赖

安装指南

前提条件

  • Node.js 18.0.0 或更高版本
  • 支持 MCP 的 Cursor IDE
  • TursoDB 账户(用于数据库)

第一步:设置 TursoDB 数据库

  1. 注册 TursoDB

    • 访问 Turso 并创建账户
    • 免费层级对于大多数项目已足够
  2. 安装 Turso CLI(可选但推荐):

    curl -sSfL https://get.turso.tech/install.sh | bash
    
  3. 使用 Turso 进行身份验证

    turso auth login
    
  4. 创建项目数据库

    turso db create devcontext
    
  5. 获取数据库凭据

    # 获取数据库 URL
    turso db show devcontext --url
    
    # 创建认证令牌
    turso db tokens create devcontext
    

    保存 URL 和令牌以备下一步使用。

第二步:在 Cursor 中配置 MCP(也可应用于其他 IDE)

在项目目录中创建或编辑 .cursor/mcp.json

{
  "mcpServers": {
    "devcontext": {
      "command": "npx",
      "args": ["-y", "devcontext@latest"],
      "enabled": true,
      "env": {
        "TURSO_DATABASE_URL": "your-turso-database-url",
        "TURSO_AUTH_TOKEN": "your-turso-auth-token"
      }
    }
  }
}

your-turso-database-urlyour-turso-auth-token 替换为第一步中获取的值。

光标规则实现

DevContext 实现了一套复杂的光标规则,创建了一个自主的开发环境。这些规则指导光标的 AI 助手维护项目范围的一致性,纳入最新的文档,并实施高级任务工作流。

敬请期待 即将推出的 DevContext 项目生成器,它将为您创建一个完整的项目设置,使您的开发工作流程提高十倍。

关键规则组件

1. DevContext MCP 工具使用指南

核心规则定义了工具执行的精确顺序:

1. 首先:在开始时仅调用一次 initialize_conversation_context
2. 必要时:在代码更改或新消息时调用 update_conversation_context
3. 必要时:在需要特定上下文时调用 retrieve_relevant_context
4. 偶尔:在重要成就时调用 record_milestone_context
5. 最后:在结束时仅调用一次 finalize_conversation_context

此工作流确保在整个开发会话期间全面的上下文管理。

2. 外部库文档要求

所有外部库的使用必须先进行适当的文档检索:

  • 两步文档检索 使用 Context7
  • 网络搜索回退 对于无法通过 Context7 获取的文档
  • 多源文档合成 以获得全面的理解

这可以防止常见的问题,如错误的 API 使用、不兼容的版本或缺少依赖项。

3. 任务工作流系统

任务工作流系统支持:

  • tasks.md 中进行结构化的任务管理
  • 基于任务 ID 的实现顺序
  • 通过完成元数据进行状态跟踪
  • 与项目蓝图集成以提供架构上下文

设置光标规则

  1. 创建规则目录

    mkdir -p .cursor/rules
    
  2. 下载/复制并粘贴规则

    下载或复制并粘贴 .cursor/rules 目录到您的项目中。接下来,将项目根目录中的 .cursorrules 文件的内容复制并粘贴到您的光标设置规则中(光标设置 -> 规则 -> 用户规则)。您还应将 .cursorrules 文件复制到主目录中。

  3. 自定义任务工作流(可选): 一旦光标规则实施完毕,重新启动光标并要求其根据您的项目想法为您创建任务。

配置示例

以下是配置 DevContext 和 Context7 MCP 服务器的完整 mcp.json 文件示例:

{
  "mcpServers": {
    "devcontext": {
      "command": "npx",
      "args": ["-y", "devcontext@latest"],
      "enabled": true,
      "env": {
        "TURSO_DATABASE_URL": "libsql://your-project-db-name.turso.io",
        "TURSO_AUTH_TOKEN": "your_turso_auth_token_here"
      }
    },
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}

重要参数

参数描述默认值
TURSO_DATABASE_URL您的 TursoDB 实例的 URL无(必需)
TURSO_AUTH_TOKENTursoDB 的认证令牌无(必需)

目录

系统概述

DevContext 是一种先进的软件开发上下文管理系统,实现了模型上下文协议 (MCP),采用先进的上下文检索技术。

该系统作为一个 Node.js 应用程序运行,具有模块化的 JavaScript 代码库,使用 esbuild 打包成单个 .js 文件。它利用 TursoDB(或类似的 SQL 数据库)作为特定项目的上下文、元数据和可选日志的持久存储。

关键差异化特性:

  • 非向量检索:上下文检索使用复杂的关键词分析、关系图和结构化元数据,而不是向量嵌入
  • 以项目为中心的设计:每个服务器实例专属于单个项目,简化数据管理
  • 最小依赖:限制为核心 essentials - MCP SDK、TursoDB 客户端和轻量级 AST 解析
  • 层次化理解:从仓库结构到函数/变量级别的上下文理解
  • 智能上下文优先级:基于最近性、重要性、关系和开发人员关注点的多因素相关性评分

核心组件

文本处理

  • 语言感知分词,对 JavaScript/TypeScript、Python、Java、C#、Ruby 和 Go 进行专门处理
  • 关键词提取,具有语言特定的权重
  • 尊重语义边界的 n-gram
  • 语言特定的习语检测

上下文管理

  • 代码实体索引 和关系跟踪
  • 对话主题分割 和目的检测
  • 时间线事件记录 和里程碑快照
  • 焦点区域预测 基于开发人员活动

模式识别

  • 代码模式识别 和存储
  • 自动模式学习 从示例中
  • 跨会话模式推广
  • 设计模式检测

意图与相关性分析

  • 查询意图预测
  • 多因素上下文优先级
  • 令牌预算管理
  • 跨主题转移的上下文整合

MCP 工具

DevContext 实现了以下由 Cursor IDE 调用的 MCP 工具:

initialize_conversation_context

初始化带有全面项目上下文的新对话会话。

何时使用:每次对话开始时,仅使用一次。

关键参数

  • initialQuery: 用户的第一个消息或问题
  • contextDepth: 最小、标准或全面的上下文深度
  • includeArchitecture: 是否包括架构上下文
  • focusHint: 可选的特定代码实体焦点

返回:对话 ID 和初始上下文摘要

update_conversation_context

更新活跃上下文,包含新的消息和代码更改。

何时使用:在代码更改或交换新消息后。

关键参数

  • conversationId: 从 initialize_conversation_context 获取的 ID
  • newMessages: 自上次更新以来交换的新消息
  • codeChanges: 创建或修改的代码文件
  • preserveContextOnTopicShift: 是否在主题变化时保持上下文

返回:更新的焦点和上下文连续信息

retrieve_relevant_context

检索与特定查询相关的上下文片段。

何时使用:当需要特定项目上下文时。

关键参数

  • conversationId: 从 initialize_conversation_context 获取的 ID
  • query: 关于项目的具体问题
  • constraints: 可选的实体类型、文件路径等过滤器
  • weightingStrategy: 如何优先排序结果

返回:带有解释的相关上下文片段

record_milestone_context

记录重要的开发里程碑以供将来参考。

何时使用:在完成重要功能、修复关键错误或做出架构决策后。

关键参数

  • conversationId: 从 initialize_conversation_context 获取的 ID
  • name: 简短且描述性的里程碑名称
  • description: 详细解释
  • milestoneCategory: 类别(功能、错误修复、重构等)
  • assessImpact: 是否分析影响

返回:里程碑 ID 和影响评估

finalize_conversation_context

结束对话,提取学习成果并建议下一步行动。

何时使用:每次对话结束时,仅使用一次。

关键参数

  • conversationId: 从 initialize_conversation_context 获取的 ID
  • extractLearnings: 是否识别并提取学习成果
  • promotePatterns: 是否将模式推广到全局仓库
  • generateNextSteps: 是否建议后续行动

返回:对话摘要、提取的学习成果和下一步行动

数据架构

DevContext 使用 SQL 数据库(TursoDB),包含以下核心表:

  • code_entities: 存储来自文件、函数、类等的索引代码
  • entity_keywords: 将关键词映射到代码实体以进行搜索
  • code_relationships: 跟踪代码实体之间的关系
  • conversation_history: 存储对话消息
  • conversation_topics: 将对话分割成连贯的主题
  • timeline_events: 记录重要的开发事件
  • project_patterns: 存储识别的代码模式
  • focus_areas: 跟踪开发人员的关注点和意图

数据库模式由服务器自动创建和维护。

技术规格

  • Node.js: 需要 18.0.0 或更高版本
  • 数据库: TursoDB(或兼容的 SQLite)
  • 打包: ESBuild 用于单文件部署
  • 协议: 通过 @modelcontextprotocol/sdk 实现模型上下文协议
  • 解析: 轻量级 JavaScript AST 解析(acorn)
  • 操作系统: 跨平台(Windows、macOS、Linux)

性能考虑

DevContext 通过以下方式优化性能:

  • 高效的 SQL 查询,带有适当的索引
  • 内存缓存,用于频繁访问的数据
  • 增量更新,以减少处理
  • 异步操作,以实现非阻塞执行
  • 自适应上下文检索,基于令牌预算
  • 空闲期间的计划后台任务

对于大型代码库(>100,000 行代码),初始索引可能需要几分钟,但后续操作仍然快速且响应迅速。

安全

  • 隔离的数据库:每个项目使用专用的数据库实例
  • 安全的凭据:TursoDB 凭据通过环境变量管理
  • 输入验证:所有输入使用 Zod 模式验证
  • 参数化查询:防止 SQL 注入
  • 无外部 API:所有处理都在本地进行

故障排除

常见问题及解决方案:

  • 连接错误:验证 TursoDB 凭据和数据库 URL
  • 缓慢的初始启动:对于大型代码库是正常的;后续启动更快
  • 缺少上下文:检查令牌预算;必要时增加
  • 工具错误:确保在工具之间传递正确的对话 ID
  • 性能问题:考虑减少索引文件的范围或增加缓存大小

许可

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。


DevContext: 持续上下文,持续进步