概述
安裝
內容詳情
替代品
什麼是DevContext?
DevContext是一個先進的模型上下文協議(MCP)服務器,專為AI輔助開發設計。它通過四種互補的記憶系統(短期、長期、情景和語義記憶)為開發者提供持續的上下文支持,使AI助手能夠記住項目歷史、決策、代碼結構和開發模式。如何使用DevContext?
DevContext會自動在後臺運行,只需安裝配置Turso數據庫並設置好環境變量即可開始使用。系統會自動跟蹤您的開發活動,建立代碼關係圖,並提供智能上下文建議。適用場景
DevContext特別適合長期複雜項目的開發,能有效解決跨會話上下文丟失問題。無論是新功能開發、代碼重構還是問題調試,DevContext都能提供精準的上下文支持。主要功能
如何使用
使用案例
常見問題
相關資源
安裝
{
"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"
}
}
}
}
🚀 開發上下文(DevContext) - AI 開發上下文的下一次進化
DevContext 是一個前沿的模型上下文協議(MCP)服務器,它為開發者提供持續的、以項目為中心的上下文感知能力,能夠更深入地理解你的代碼庫。它由 Cursor10x 升級而來,具有更強大的功能和更高效的性能,能將 AI 開發提升到一個新的水平。
🧠 以項目為中心 | 📊 關係圖譜 | ⚡ 高性能 |
每個項目一個數據庫 | 智能代碼連接 | 最小資源需求 |
🚀 快速開始
Cursor10x 內存系統為 AI 助手(特別是 Claude)創建了一個持久的內存層,使其能夠保留和回憶以下信息:
- 最近的消息和對話歷史
- 當前正在處理的活動文件
- 重要的項目里程碑和決策
- 技術要求和規範
- 按時間順序排列的操作和事件序列(情節)
- 代碼庫中的代碼片段和結構
- 基於向量嵌入的語義相似內容
- 通過語義相似性關聯的代碼片段
- 包含函數和變量關係的文件結構
這個內存系統彌補了無狀態 AI 交互和持續開發工作流程之間的差距,實現更高效且具有上下文感知的輔助。
✨ 主要特性
- 持久上下文:跨多個會話保持對話和項目上下文。
- 基於重要性的存儲:根據可配置的重要性級別對信息進行優先級排序。
- 多維內存:結合短期、長期、情節和語義內存系統。
- 全面檢索:從所有內存子系統提供統一的上下文。
- 健康監測:內置診斷和狀態報告功能。
- 橫幅生成:為對話開始創建信息豐富的上下文橫幅。
- 數據庫持久化:使用 Turso 數據庫在會話間進行持久存儲。
- 向量嵌入:將文本和代碼轉換為數值表示,以進行語義搜索。
- 高級向量存儲:利用 Turso 的 F32_BLOB 和向量函數進行高效的嵌入存儲。
- 近似最近鄰搜索(ANN):支持快速的相似性匹配。
- 代碼索引:自動檢測和索引代碼結構(函數、類、變量)。
- 語義搜索:根據含義而非精確文本匹配查找相關內容。
- 相關性評分:根據與當前查詢的相關性對上下文項進行排名。
- 代碼結構檢測:識別和提取多種語言的代碼組件。
- 自動嵌入生成:為索引內容自動創建向量嵌入。
- 交叉引用檢索:在不同文件和組件中查找相關代碼。
📦 安裝指南
前提條件
- Node.js 18 或更高版本
- npm 或 yarn 包管理器
- Turso 數據庫賬戶
設置步驟
- 配置 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 進行註冊,創建數據庫並獲取相應的憑證。免費套餐足以滿足你的項目內存需求。
- 配置 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"
}
}
}
}
💻 使用示例
優化對話開始
// 使用單個工具調用初始化對話
// 這取代了對話開始時的三個單獨調用
const result = await mcp_cursor10x_initConversation({
content: "I need help implementing authentication in my React app",
importance: "high",
});
// 向用戶顯示橫幅
console.log("Memory System Status:", result.display.banner);
// 內部使用上下文(不向用戶顯示)
const context = result.internal.context;
// 使用上下文提供更明智的輔助
開始新會話(替代方法)
// 在開始時生成內存橫幅
mcp_cursor10x_generateBanner({});
// 獲取全面上下文
mcp_cursor10x_getComprehensiveContext({});
// 存儲用戶消息
mcp_cursor10x_storeUserMessage({
content: "I need help with authentication",
importance: "high",
});
跟蹤用戶活動
// 跟蹤活動文件
await mcp_cursor10x_trackActiveFile({
filename: "src/auth/jwt.js",
action: "edit",
});
📚 詳細文檔
系統工具
mcp_cursor10x_initConversation
通過一次操作存儲用戶消息、生成橫幅並檢索上下文來初始化對話。這個統一的工具取代了在每次對話開始時分別調用 generateBanner、getComprehensiveContext 和 storeUserMessage 的需求。 參數:
content
(字符串,必需):用戶消息的內容importance
(字符串,可選):重要性級別("low", "medium", "high", "critical"),默認為 "low"metadata
(對象,可選):消息的附加元數據
返回值:
- 包含兩個部分的對象:
display
:包含要顯示給用戶的橫幅internal
:包含供代理使用的全面上下文
示例:
// 初始化對話
const result = await mcp_cursor10x_initConversation({
content: "I need to implement a login system for my app",
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:
"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",
});
// 結果: {
// "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
檢查內存系統及其數據庫連接的健康狀況。 參數:
- 無
返回值:
- 包含健康狀態和診斷信息的對象
示例:
// 檢查內存系統健康狀況
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: "We need to implement authentication for our API",
importance: "high",
metadata: {
topic: "authentication",
priority: 1,
},
});
// 結果: {
// "status": "ok",
// "timestamp": 1681567845123
// }
mcp_cursor10x_storeAssistantMessage
將助手消息存儲在短期內存系統中。 參數:
content
(字符串,必需):消息的內容importance
(字符串,可選):重要性級別("low", "medium", "high", "critical"),默認為 "low"metadata
(對象,可選):消息的附加元數據
返回值:
- 包含狀態和時間戳的對象
示例:
// 存儲助手消息
const result = await mcp_cursor10x_storeAssistantMessage({
content: "I recommend implementing JWT authentication with refresh tokens",
importance: "medium",
metadata: {
topic: "authentication",
contains_recommendation: true,
},
});
// 結果: {
// "status": "ok",
// "timestamp": 1681567870456
// }
mcp_cursor10x_trackActiveFile
跟蹤用戶正在訪問或修改的活動文件。 參數:
filename
(字符串,必需):要跟蹤的文件的路徑action
(字符串,必需):對文件執行的操作(open, edit, close 等)metadata
(對象,可選):跟蹤事件的附加元數據
返回值:
- 包含狀態、文件名、操作和時間戳的對象
示例:
// 跟蹤活動文件
const result = await mcp_cursor10x_trackActiveFile({
filename: "src/auth/jwt.js",
action: "edit",
metadata: {
changes: "Added refresh token functionality",
},
});
// 結果: {
// "status": "ok",
// "filename": "src/auth/jwt.js",
// "action": "edit",
// "timestamp": 1681567900789
// }
mcp_cursor10x_getRecentMessages
從短期內存中檢索最近的消息。 參數:
limit
(數字,可選):要檢索的最大消息數,默認為 10importance
(字符串,可選):按重要性級別過濾
返回值:
- 包含狀態和消息數組的對象
示例:
// 獲取最近的高重要性消息
const messages = await mcp_cursor10x_getRecentMessages({
limit: 5,
importance: "high",
});
// 結果: {
// "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
(數字,可選):要檢索的最大文件數,默認為 10
返回值:
- 包含狀態和活動文件數組的對象
示例:
// 獲取最近的活動文件
const files = await mcp_cursor10x_getActiveFiles({
limit: 3,
});
// 結果: {
// "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
(字符串,可選):重要性級別,默認為 "medium"metadata
(對象,可選):里程碑的附加元數據
返回值:
- 包含狀態、標題和時間戳的對象
示例:
// 存儲項目里程碑
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"],
},
});
// 結果: {
// "status": "ok",
// "title": "Authentication System Implementation",
// "timestamp": 1681568000123
// }
mcp_cursor10x_storeDecision
將項目決策存儲在長期內存中。 參數:
title
(字符串,必需):決策的標題content
(字符串,必需):決策的內容reasoning
(字符串,可選):決策背後的推理importance
(字符串,可選):重要性級別,默認為 "medium"metadata
(對象,可選):決策的附加元數據
返回值:
- 包含狀態、標題和時間戳的對象
示例:
// 存儲項目決策
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",
},
});
// 結果: {
// "status": "ok",
// "title": "JWT for Authentication",
// "timestamp": 1681568100456
// }
mcp_cursor10x_storeRequirement
將項目需求存儲在長期內存中。 參數:
title
(字符串,必需):需求的標題content
(字符串,必需):需求的內容importance
(字符串,可選):重要性級別,默認為 "medium"metadata
(對象,可選):需求的附加元數據
返回值:
- 包含狀態、標題和時間戳的對象
示例:
// 存儲項目需求
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"],
},
});
// 結果: {
// "status": "ok",
// "title": "Secure Authentication",
// "timestamp": 1681568200789
// }
情節內存工具
mcp_cursor10x_recordEpisode
在情節內存中記錄一個情節(動作)。 參數:
actor
(字符串,必需):執行動作的參與者(用戶、助手、系統)action
(字符串,必需):執行的動作類型content
(字符串,必需):動作的內容或詳細信息importance
(字符串,可選):重要性級別,默認為 "low"context
(字符串,可選):情節的上下文
返回值:
- 包含狀態、參與者、動作和時間戳的對象
示例:
// 記錄一個情節
const result = await mcp_cursor10x_recordEpisode({
actor: "assistant",
action: "implementation",
content: "Created JWT authentication middleware with token verification",
importance: "medium",
context: "authentication",
});
// 結果: {
// "status": "ok",
// "actor": "assistant",
// "action": "implementation",
// "timestamp": 1681568300123
// }
mcp_cursor10x_getRecentEpisodes
從情節內存中檢索最近的情節。 參數:
limit
(數字,可選):要檢索的最大情節數,默認為 10context
(字符串,可選):按上下文過濾
返回值:
- 包含狀態和情節數組的對象
示例:
// 獲取認證上下文中的最近情節
const episodes = await mcp_cursor10x_getRecentEpisodes({
limit: 5,
context: "authentication",
});
// 結果: {
// "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
(字符串,必需):要執行的操作("store", "search", "update", "delete")contentId
(數字,可選):此向量表示的內容的 ID(用於存儲、更新、刪除)contentType
(字符串,可選):內容的類型("message", "file", "snippet" 等)vector
(數組,可選):向量數據作為數字數組(用於存儲、更新)或查詢向量(用於搜索)vectorId
(數字,可選):要更新或刪除的向量的 IDlimit
(數字,可選):搜索操作的最大結果數,默認為 10threshold
(數字,可選):搜索操作的相似性閾值,默認為 0.7metadata
(對象,可選):關於向量的附加信息
返回值:
- 包含狀態和操作結果的對象
示例:
// 存儲向量嵌入
const result = await mcp_cursor10x_manageVector({
operation: "store",
contentId: 42,
contentType: "message",
vector: [0.1, 0.2, 0.3, ...], // 128 維向量
metadata: {
topic: "authentication",
language: "en"
}
});
// 結果: {
// "status": "ok",
// "operation": "store",
// "vectorId": 15,
// "timestamp": 1681570000123
// }
// 搜索相似向量
const searchResult = await mcp_cursor10x_manageVector({
operation: "search",
vector: [0.1, 0.2, 0.3, ...], // 查詢向量
contentType: "snippet", // 可選過濾器
limit: 5,
threshold: 0.8
});
// 結果: {
// "status": "ok",
// "operation": "search",
// "results": [
// {
// "vectorId": 10,
// "contentId": 30,
// "contentType": "snippet",
// "similarity": 0.92,
// "metadata": { ... }
// },
// ...
// ]
// }
🔧 技術細節
系統架構
內存系統基於四個核心組件構建:
- MCP 服務器:實現模型上下文協議,註冊工具並處理請求。
- 內存數據庫:使用 Turso 數據庫在會話間進行持久存儲。
- 內存子系統:將內存組織成具有不同用途的專用系統。
- 向量嵌入:將文本和代碼轉換為數值表示,以進行語義搜索。
內存類型
系統實現了四種互補的內存類型:
- 短期內存(STM)
- 存儲最近的消息和活動文件。
- 為當前交互提供即時上下文。
- 自動根據最近性和重要性進行優先級排序。
- 長期內存(LTM)
- 存儲永久的項目信息,如里程碑和決策。
- 維護架構和設計上下文。
- 無限期保留高重要性信息。
- 情節內存
- 記錄事件的時間順序。
- 維護動作之間的因果關係。
- 為項目歷史提供時間上下文。
- 語義內存
- 存儲消息、文件和代碼片段的向量嵌入。
- 基於語義相似性實現內容檢索。
- 自動索引代碼結構以進行上下文檢索。
- 跟蹤代碼組件之間的關係。
- 在代碼庫中提供基於相似性的搜索。
數據庫架構
內存系統自動創建和維護以下數據庫表:
表名 | 描述 | 字段 |
---|---|---|
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 (代碼片段內容) |
🔧 故障排除
常見問題
- 數據庫連接問題
- 驗證你的 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);
🔧 重要性級別
在將項目存儲到內存中時,請使用適當的重要性級別:
- 低:一般信息、日常操作、日常對話
- 中:有用的上下文、標準工作項、常規功能
- 高:關鍵決策、主要功能、重要架構元素
- 關鍵:核心架構、安全問題、數據完整性問題
📄 許可證
本項目採用 MIT 許可證。
替代品








