Context Portal MCP:让你的项目拥有AI可理解的记忆银行
想象一下:当你接手一个新项目时,需要花多少时间理解之前的决策?当团队新人加入时,如何快速掌握系统架构?传统文档就像散落的拼图碎片,而 Context Portal MCP(ConPort) 就是那个帮你组装完整图景的智能工具箱。它让项目记忆不再丢失,让AI助手真正理解你的代码世界。
一、什么是ConPort?项目开发的记忆中枢
ConPort本质上是一个结构化记忆银行。就像人类大脑存储重要记忆,ConPort专门为软件项目打造了智能记忆系统:
-
🧠 记忆什么?
-
关键设计决策(比如为什么选择微服务架构) -
任务进度状态(哪些模块已完成/阻塞中) -
系统架构模式(认证流程如何实现) -
项目术语表(领域特定词汇解释)
-
-
⚡ 如何工作?
-
数据库存储:使用SQLite为每个项目建立专属记忆库 -
AI友好接口:通过标准MCP协议与开发工具对话 -
智能关联:记录决策与代码的关联关系
-
最核心的突破是:ConPort让AI助手摆脱“金鱼记忆”。传统聊天机器人只能看到当前文件,而接入ConPort的AI就像拥有项目全息地图,能基于历史决策给出精准建议。
实际案例:当开发者询问“为什么用户认证模块用JWT而不用Session?”时,AI通过ConPort直接调出当时的决策记录:“2023-05-12 选择JWT:因需支持移动端无状态访问”。
二、为什么需要专属项目记忆库?(传统方法的痛点)
传统方式 | ConPort方式 | 优势对比 |
---|---|---|
📄 Markdown文档 | 🗃️ 结构化数据库 | 支持复杂查询而非全文搜索 |
📁 散落文件存储 | 🔗 关系型数据关联 | 决策↔代码↔任务可互相追溯 |
🤖 AI仅看当前文件 | 🧩 AI掌握项目全貌 | 避免重复回答基础问题 |
🔍 手动查找信息 | ⚡ 毫秒级语义检索 | 节省日均30%沟通时间 |
举个典型场景:新成员Alice加入支付系统项目。传统模式下她需要:
-
翻阅10+设计文档 -
询问同事架构决策原因 -
反复确认任务依赖关系
而使用ConPort后:
# AI助手自动推送关键信息
欢迎加入支付网关项目!以下是您需要优先了解的:
• 核心架构决策 [#决策ID203]:微服务拆分方案
• 当前进度 [#任务ID882]:风控模块测试中
• 必读术语:什么是“二清”?→ 见术语表
三、手把手安装指南(3分钟部署)
环境准备清单
-
✅ Python 3.8+ -
✅ 推荐安装uv工具(提速50%) # 安装uv(Windows/Mac/Linux通用) pip install uv
两种安装方式任选
1. 终端用户极简安装
// 在mcp_settings.json中添加:
"mcpServers": {
"conport": {
"command": "uvx",
"args": [
"--from", "context-portal-mcp",
"conport-mcp",
"--mode", "stdio",
"--workspace_id", "${workspaceFolder}",
"--log-file", "./logs/conport.log"
]
}
}
2. 开发者深度定制
git clone https://github.com/GreatScottyMac/context-portal.git
cd context-portal
uv venv # 创建虚拟环境
# 激活环境(Mac/Linux)
source .venv/bin/activate
# 安装依赖
uv pip install -r requirements.txt
避坑提示:
--workspace_id
必须使用绝对路径。Windows用户注意:路径中避免中文空格!
四、让AI真正懂你的配置秘诀
想让AI充分利用ConPort?这些策略文件是关键:
开发环境 | 配置文件 | 核心指令 |
---|---|---|
VS Code (Roo Code) | 链接 | 自动关联决策与代码 |
VS Code (CLine) | 链接 | 智能任务进度追踪 |
Windsurf Cascade | 链接 | 会话开始需输入:Initialize according to custom instructions |
通用平台 | 链接 | 动态学习工具用法 |
配置三步法:
-
复制对应环境的策略文件全文 -
粘贴到AI助手的系统提示区 -
新会话输入激活指令(如Windsurf)
实测效果对比:
- 未配置ConPort的AI:
“请描述用户认证流程” →
“我需要看相关代码才能回答”
+ 配置后的AI:
“请描述用户认证流程” →
“根据[#决策ID142]采用JWT方案,详见auth模块。
当前状态[#进度ID76]:测试覆盖率已达80%”
五、启动你的第一个记忆库(实战演示)
第一步:创建项目记忆锚点
在项目根目录创建projectBrief.md
:
# 电商支付系统核心目标
• 目标:支持跨境多币种支付
• 核心模块:
- 支付网关 (Python)
- 风控引擎 (Java)
- 对账系统 (Go)
• 关键决策:
- 使用微服务架构 → 提升扩展性
- 选择gRPC通信 → 保证低延迟
第二步:AI自动初始化
启动支持ConPort的AI助手时:
检测到projectBrief.md →
是否导入为产品上下文? [Y/N]
> Y
正在构建项目知识图谱...
导入成功!已创建3个关键决策记录
第三步:日常记忆更新
当做出新决策时:
# 开发者调用log_decision工具
log_decision(
summary="数据库选型确定",
rationale="MongoDB更适合JSON格式交易数据",
tags=["架构", "数据库"]
)
系统自动生成关联:
新建决策 [#ID209] →
关联到 [产品上下文] →
链接到 [支付模块代码]
六、核心工具全景图(开发者的记忆管理工具箱)
ConPort提供9类工具管理项目记忆:
1. 项目蓝图管理
工具 | 功能 | 使用场景 |
---|---|---|
get_product_context |
获取整体架构 | 新成员入职引导 |
update_product_context |
更新目标描述 | 版本规划变更时 |
2. 决策记录系统
# 记录关键架构决策
log_decision(
summary="选择React前端框架",
rationale="生态丰富且团队熟悉",
tags=["前端", "技术选型"]
)
# 按标签检索决策
get_decisions(tags_filter_include_any=["前端"])
3. 进度追踪器
# 创建进度节点
log_progress(
status="进行中",
description="支付接口开发",
linked_item_id="API#001"
)
# 更新进度
update_progress(
progress_id=102,
status="已完成"
)
4. 智能关联工具
# 建立决策与代码的关联
link_conport_items(
source_item_type="decision",
source_item_id="202",
target_item_type="code",
target_item_id="payment_service.py",
relationship_type="IMPLEMENTS"
)
特色功能:
batch_log_items
支持批量导入历史决策,节省80%初始化时间
https://github.com/GreatScottyMac/context-portal/blob/main/README.md#available-conport-tools
七、进阶使用技巧
知识图谱可视化
通过链接关系生成的图谱:
[用户认证决策] → (实现) → [Auth模块]
→ (影响) → [前端SDK]
→ (参考) → [OAuth2标准]
语义搜索实战
# 查找所有关于“缓存”的讨论
search_decisions_fts(query_term="缓存策略", limit=5)
# 结果示例:
1. [#ID312] Redis缓存选型
2. [#ID155] 数据库缓存失效方案
数据迁移保障
升级时使用:
python manage.py db upgrade # Alembic迁移
配合v0.2.4_UPDATE_GUIDE.md确保数据安全
八、开发者常见问题解答
Q1 会拖慢IDE速度吗?
A:实测影响<3%,因为:
-
SQLite轻量级数据库 -
增量式内存加载 -
后台异步存储
Q2 如何保证数据安全?
-
本地存储:数据始终在开发者机器 -
自动备份:每次变更生成历史版本 -
加密支持:可集成Vault等秘管系统
Q3 小型项目需要吗?
受益场景:
-
6个月后回溯“当时为什么…” -
新成员理解系统设计 -
AI助手生成准确文档
Q4 支持哪些IDE?
已验证环境:
-
VS Code (通过Roo/CLine扩展) -
JetBrains全家桶(通过Generic模式) -
浏览器环境(需配代理)
九、结语:让项目智慧传承
ConPort正在改变我们管理项目知识的方式:
-
🤝 从碎片到整体:告别散落文档的“记忆碎片” -
🧠 从遗忘到传承:设计决策不再随人员更迭丢失 -
🤖 从被动到智能:AI从“临时工”进阶为“资深顾问”
就像一位使用ConPort的CTO所说:“现在新人问‘为什么这样设计’,我不再解释历史,而是说‘问问我们的AI记忆库吧’。”
项目地址:https://github.com/GreatScottyMac/context-portal