Coder DB - AI Memory Enhancement System
一个智能代码记忆系统,利用向量嵌入、结构化数据库和知识图谱来存储、检索和分析代码模式,具备语义搜索能力、质量指标和关系建模。旨在通过对最佳实践、算法和解决方案的上下文回忆来增强编程工作流程。
angrysky56
README
Coder DB - AI 记忆增强系统
一个结构化的 AI 助手记忆系统,通过数据库集成来增强编码能力,利用 Claude Desktop 和 MCP 服务器。
概述
该系统利用多种数据库类型来创建一个全面的编码辅助记忆系统:
- Qdrant 向量数据库: 用于代码模式的语义搜索和检索
- SQLite 数据库: 用于结构化算法存储和版本控制
- 知识图谱: 用于表示编码概念之间的关系
数据库使用指南
Qdrant 记忆存储
用于通过语义意义存储和检索代码片段、模式和解决方案。
存储内容:
- 带有解释的可重用代码模式
- 复杂问题的解决方案
- 最佳实践和设计模式
- 文档片段和解释
增强的元数据:
- 语言和框架详细信息
- 复杂度级别(简单、中级、高级)
- 依赖项和要求
- 质量指标(圈复杂度、文档覆盖率)
- 用户反馈和评分
使用示例:
# 存储一个代码模式
information = {
"type": "code_pattern",
"language": "python",
"name": "上下文管理器模式",
"code": "class MyContextManager:\n def __enter__(self):\n # 设置代码\n return self\n def __exit__(self, exc_type, exc_val, exc_tb):\n # 清理代码\n pass",
"explanation": "上下文管理器提供了一种管理文件句柄等资源的简洁方法。",
"tags": ["python", "资源管理", "上下文管理器"],
"complexity": "intermediate",
"quality_metrics": {
"cyclomatic_complexity": 2,
"documentation_coverage": 0.85
},
"user_rating": 4.5
}
# 存储在 Qdrant 中
SQLite 算法数据库
用于维护具有适当版本控制的结构化算法目录。
数据库模式:
algorithms
: 基本算法信息(名称、描述)algorithm_versions
: 算法实现的不同版本algorithm_categories
: 类别,如排序、搜索、图等。performance_metrics
: 不同实现的性能数据improvements
: 跟踪版本之间的改进change_logs
: 带有理由和上下文的详细更改日志
版本差异:
- 存储算法版本之间的差异
- 跟踪跨版本的性能改进
- 记录更改背后的理由
示例查询:
-- 查找所有具有性能指标的排序算法
SELECT a.name, a.description, v.version_number, p.time_complexity, p.space_complexity
FROM algorithms a
JOIN algorithm_versions v ON a.id = v.algorithm_id
JOIN performance_metrics p ON v.id = p.version_id
JOIN algorithm_category_mapping m ON a.id = m.algorithm_id
JOIN algorithm_categories c ON m.category_id = c.id
WHERE c.name = 'Sorting'
ORDER BY a.name, v.version_number DESC;
-- 获取特定算法的更改日志
SELECT v.version_number, c.change_description, c.rationale, c.created_at
FROM algorithm_versions v
JOIN change_logs c ON v.id = c.version_id
WHERE v.algorithm_id = 5
ORDER BY v.version_number;
知识图谱集成
用于表示编码概念、模式和解决方案之间的复杂关系。
高级本体:
- Algorithm (算法)
- DesignPattern (设计模式)
- CodeConcept (代码概念)
- ProblemType (问题类型)
- Solution (解决方案)
- Framework (框架)
- Library (库)
- Language (语言)
丰富的关系类型:
- IMPLEMENTS (Algorithm → CodeConcept) (实现)
- SOLVES (DesignPattern → ProblemType) (解决)
- OPTIMIZES (Algorithm → Performance) (优化)
- RELATED_TO (Any → Any) (相关)
- IMPROVES_UPON (Solution → Solution) (改进)
- ALTERNATIVELY_SOLVES (Solution → ProblemType) (替代解决方案)
- EXTENDS (Pattern → Pattern) (扩展)
- DEPENDS_ON (Solution → Library) (依赖)
- COMPATIBLE_WITH (Framework → Language) (兼容)
图分析:
- 识别频繁共同出现的模式
- 发现编码实践中的新兴趋势
- 将问题域映射到解决方案方法
使用工作流程
1. 增强的问题解决工作流程
当面临新的编码问题时:
-
上下文收集:
- 明确定义问题和约束
- 确定性能要求和环境详细信息
- 记录特定于项目的注意事项
-
记忆查询:
- 使用顺序思维分解问题
- 查询 Qdrant 以查找类似的解决方案:
qdrant-find-memories("遍历二叉树的有效方法")
- 按语言、复杂性和质量指标过滤结果
- 检查算法数据库以查找相关算法:
SELECT * FROM algorithms WHERE name LIKE '%tree%'
- 探索知识图谱以查找相关概念和替代方法
-
解决方案应用:
- 在 REPL 中测试和验证解决方案
- 记录性能特征
- 与替代方案进行比较
-
反馈循环:
- 将成功的解决方案存储回 Qdrant 中,并包含详细的元数据
- 记录性能指标和使用上下文
- 更新知识图谱连接
2. 模式学习与存储
当发现有用的模式时:
-
自动文档生成:
- 使用 AI 工具生成初始文档
- 包括详细的使用示例
- 记录边缘情况和限制
-
质量评估:
- 运行 linters 和静态分析器以确保代码质量
- 计算并存储质量指标
- 根据最佳实践进行验证
-
元数据丰富:
- 使用清晰的示例记录模式
- 添加全面的元数据(语言、复杂性、依赖项)
- 从受控词汇表中应用一致的标记
-
知识集成:
- 使用适当的标签和解释存储在 Qdrant 中
- 创建与相关概念的知识图谱连接
- 如果它是算法实现,则添加到 SQL 数据库
- 根据内容相似性建议自动连接
3. 项目设置与样板
当启动一个新项目时:
-
模板选择:
- 从项目模板库中选择
- 根据项目要求进行自定义
- 选择语言、框架和测试工具
-
自动设置:
- 生成具有正确目录布局的项目结构
- 使用适当的 .gitignore 设置版本控制
- 配置 linting 和代码质量工具
- 初始化测试框架
-
最佳实践集成:
- 查询记忆系统以查找相关的样板代码
- 检索特定项目类型的最佳实践
- 使用存储的文档模板进行初始设置
- 根据项目要求配置 CI/CD
安全与数据完整性
-
访问控制:
- 基于角色的访问控制敏感代码存储库
- 查看与修改记忆的权限
-
备份与恢复:
- 定期备份 Qdrant 和 SQLite 数据库
- 知识图谱的版本控制
- 数据损坏的恢复程序
-
敏感信息:
- 清理代码示例以删除敏感数据
- 在存储之前验证代码片段
- 标记并限制对敏感模式的访问
监控与分析
-
使用情况跟踪:
- 监控哪些模式被最频繁地检索
- 跟踪搜索查询模式以识别知识差距
- 记录用户评分和反馈
-
性能指标:
- 监控数据库响应时间
- 跟踪内存使用情况和扩展要求
- 根据使用模式优化查询
维护指南
- 质量重于数量: 仅存储高质量、文档完善的代码
- 定期审查: 定期审查和更新存储的模式
- 上下文存储: 在每个存储的模式中包含使用上下文
- 版本控制: 在 SQLite 中跟踪改进和版本
- 标记一致性: 使用受控词汇表以获得更好的检索
- 性能优化: 定期优化数据库查询
- 反馈集成: 根据使用反馈更新模式
入门
-
存储您的第一个代码记忆:
qdrant-store-memory(json.dumps({ "type": "code_pattern", "name": "Python 装饰器模式", "code": "def my_decorator(func):\n def wrapper(*args, **kwargs):\n # 在之前做一些事情\n result = func(*args, **kwargs)\n # 在之后做一些事情\n return result\n return wrapper", "explanation": "装饰器提供了一种在不更改其代码的情况下修改函数的方法。", "tags": ["python", "装饰器", "元编程"], "complexity": "intermediate" }))
-
稍后检索它:
qdrant-find-memories("python 装饰器模式")
未来增强
- 存储前的高级代码质量评估
- 与版本控制系统集成
- 从使用模式中学习以改进检索
- 自动文档生成
- 用于无缝访问的自定义 IDE 插件
- 多模式存储(代码、图表、解释)
- 用于查询的自然语言界面
- 性能基准数据库
- MCP 服务器和数据库的安装脚本
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。