news 2026/5/4 10:04:32

基于MCP协议构建本地AI记忆库:打造私有化智能副驾驶

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于MCP协议构建本地AI记忆库:打造私有化智能副驾驶

1. 项目概述:当本地记忆成为你的AI副驾驶

最近在折腾AI应用开发的朋友,估计对“MCP”(Model Context Protocol)这个词已经不陌生了。简单来说,它就像给大语言模型(LLM)装上了一套标准化的“手”和“眼睛”,让AI能安全、可控地调用外部工具、读取外部数据。但今天要聊的这个项目basst85/local-memory-mcp,解决的却是一个更贴近个人、更“私密”的问题:如何让AI记住“我”是谁,以及“我”说过什么、做过什么。

想象一下,你正在用Claude、ChatGPT或者任何支持MCP的AI助手讨论一个长期项目。今天你告诉它你的项目架构偏好是微服务,明天你提到团队里新来了一个叫“小李”的后端同事,下周你又咨询了一个关于Kafka消息积压的故障排查方案。在传统的对话中,AI就像一个“金鱼脑”,每次对话都是全新的开始,它不记得你之前的任何背景信息。你需要反复自我介绍,重复项目细节,沟通效率大打折扣。

local-memory-mcp就是为了终结这种局面而生的。它是一个实现了MCP协议的服务器(Server),核心功能就是为AI助手提供一个专属的、本地的、持久化的记忆库。这个记忆库运行在你自己的电脑上,所有数据都存储在本地,完全由你掌控。它的工作模式非常直观:AI助手可以通过这个MCP服务器,向你提问以获取它“不知道”的关于你的信息,并将你回答的内容,以结构化的方式(比如“用户偏好”、“项目信息”、“技术栈”等分类)保存到本地的矢量数据库中。当下次对话涉及到相关话题时,AI就能主动从记忆库中检索出这些背景信息,让对话变得高度个性化且连贯。

这不仅仅是“记住名字”那么简单。对于开发者而言,它可以记住你常用的技术栈(比如你偏好Go语言,常用PostgreSQL和Redis)、你负责的微服务名称、甚至你常遇到的错误日志模式。对于创作者,它可以记住你的写作风格、正在构思的故事人物关系。对于任何人,它都可以成为你的数字延伸,让AI真正成为懂你的“副驾驶”。

2. 核心设计思路:私有化、结构化与主动学习

这个项目的设计哲学非常明确,我将其总结为三点:绝对私有、结构引导、双向交互。这三点共同构成了它区别于其他云端记忆方案或简单聊天记录的独特价值。

2.1 绝对私有:数据主权回归个人

在数据隐私问题日益突出的今天,local-memory-mcp选择将“本地化”作为第一原则。所有关于你的记忆数据,都存储在你本地机器的SQLite数据库和ChromaDB矢量数据库中。这意味着:

  • 没有数据上传:你的个人习惯、项目细节、技术见解等敏感信息永远不会离开你的设备。
  • 离线可用:一旦配置完成,记忆的存储和检索功能可以在完全离线的环境下工作。
  • 完全可控:你可以随时查看、修改或清空整个记忆库,也可以导出数据备份。这种掌控感是任何云端服务无法提供的。

这个选择直接影响了技术栈:使用轻量级的SQLite存储元数据和分类,使用同样可以本地运行的ChromaDB进行向量嵌入和语义检索。整个技术栈都围绕着“自包含、可移植”来构建。

2.2 结构引导:从杂乱对话到有序记忆

如果只是把对话记录一股脑存起来,那和普通的聊天日志没什么区别,检索效率低下,信息噪音大。local-memory-mcp的精髓在于“结构化”。它预设了一套记忆分类(Categories),例如:

  • personal:个人信息,如姓名、职业、所在地。
  • preferences:偏好设置,如编码风格、常用工具、沟通方式。
  • projects:项目详情,如项目名称、技术栈、当前状态、团队成员。
  • knowledge:领域知识,如你擅长的特定技术原理、总结的故障排查手册。

当AI助手认为需要记录信息时,它会尝试将你的回答归类到这些预设的结构中。例如,你回答“我平时写Go比较多,喜欢用Gin框架”,AI可能会将其归类到preferences下的“编程语言偏好”。这种结构化的存储,使得后续的检索不再是模糊的全文匹配,而是可以针对特定类别进行精准查询,大大提升了记忆的相关性和可用性。

2.3 双向交互:AI提问,用户“投喂”

这是整个流程中最具创新性的一环。记忆的建立不是被动的记录,而是通过一个主动的“问答”流程来实现。其核心交互模式如下:

  1. 触发:当AI助手在对话中检测到可能涉及你个人背景或长期信息的话题(例如,你提到“我的项目”),而它的记忆库中没有相关记录时,它会通过MCP调用local-memory-mcp的工具。
  2. 提问:MCP服务器会向AI返回一个预设好的问题,例如:“关于您提到的这个项目,可以告诉我它的名称、主要技术栈和当前阶段吗?”
  3. 回答:AI将这个问题呈现给你(用户),你给出回答。
  4. 存储:AI将你的回答,连同这个问题(作为上下文)以及它判断的合适分类,一并发送给MCP服务器。服务器将文本内容转换成向量,存入ChromaDB,并将元数据(分类、时间戳等)存入SQLite。
  5. 检索:在未来的对话中,当话题再次相关时,AI会通过MCP查询记忆库。服务器将当前对话内容向量化,在ChromaDB中进行语义相似度搜索,找到最相关的几条记忆,并将其作为上下文提供给AI。

这个“提问-回答”机制巧妙地将记忆构建的责任交给了用户,确保了信息的准确性和自愿性,同时也让AI学会了在何时、以何种方式去丰富它对用户的了解。

3. 环境准备与部署实操

理论讲清楚了,我们来看看如何亲手把它跑起来。整个过程可以概括为“配置环境 -> 启动服务 -> 连接客户端”。这里以在macOS/Linux系统上通过Claude Desktop使用为例。

3.1 基础环境搭建

首先确保你的系统已经安装了必要的运行时环境:

  1. Node.js:这是运行MCP服务器的前提。建议安装最新的LTS版本(如v18.x或v20.x)。你可以使用nvm来管理多个Node版本,这是最推荐的方式。

    # 使用curl安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 重新打开终端或source配置文件后,安装Node.js LTS nvm install --lts nvm use --lts # 验证安装 node --version npm --version
  2. Python 3.8+:项目依赖的ChromaDB矢量数据库需要Python环境。通常macOS和Linux都自带,但请确认版本。

    python3 --version

    如果未安装或版本过低,建议通过pyenv或系统包管理器安装。

  3. Git:用于克隆项目代码。

    git --version

3.2 获取与配置项目

接下来,我们获取项目代码并进行初始配置。

# 1. 克隆项目仓库到本地 git clone https://github.com/basst85/local-memory-mcp.git cd local-memory-mcp # 2. 安装Node.js依赖 npm install

注意:如果npm install过程中遇到关于Python或node-gyp的构建错误,通常是因为缺少编译原生模块的工具。在macOS上,可能需要安装Xcode Command Line Tools (xcode-select --install)。在Ubuntu/Debian上,可能需要安装build-essentialpython3-dev等包。

安装完成后,项目根目录下会生成一个关键的配置文件示例:.env.example。我们需要复制它并创建自己的.env文件。

# 3. 复制环境变量配置文件 cp .env.example .env

现在,用文本编辑器打开.env文件。你会看到类似以下内容:

# MCP Server Configuration MCP_SERVER_PORT=3000 MEMORY_DB_PATH=./data/memory.db CHROMA_DB_PATH=./data/chroma EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2 SIMILARITY_THRESHOLD=0.7
  • MCP_SERVER_PORT:服务器监听的端口,默认3000即可,除非冲突。
  • MEMORY_DB_PATH:SQLite数据库文件路径。保持默认,它会在项目下的data目录中创建。
  • CHROMA_DB_PATH:ChromaDB数据库目录路径。保持默认。
  • EMBEDDING_MODEL这是关键配置。它指定了用于将文本转换为向量的模型。默认的all-MiniLM-L6-v2是一个轻量级且效果不错的开源句子嵌入模型。首次运行时会从Hugging Face下载,请确保网络通畅。
  • SIMILARITY_THRESHOLD:相似度阈值。当检索记忆时,只有与当前查询向量相似度高于此阈值(0.0到1.0之间)的记忆才会被返回。0.7是一个比较严格的起点,你可以根据效果调整。调低会返回更多相关度稍弱的记忆,调高则返回更精确但可能更少的记忆。

3.3 启动MCP服务器

配置好后,启动服务器非常简单。项目提供了便捷的npm脚本。

# 在项目根目录下执行 npm start

如果一切顺利,终端会输出类似以下信息,表明服务器已在http://localhost:3000启动,并等待MCP客户端的连接。

> local-memory-mcp@1.0.0 start > node src/server.js Local Memory MCP Server is running on http://localhost:3000 Embedding model loaded: sentence-transformers/all-MiniLM-L6-v2 ChromaDB persistence directory: ./data/chroma SQLite memory database path: ./data/memory.db

首次运行的重要提示: 首次启动时,由于需要下载嵌入模型(约80MB)和初始化数据库,可能会花费1-3分钟。请耐心等待,终端会显示下载进度。如果遇到网络问题导致模型下载失败,你可以考虑:

  1. 使用国内镜像源(如果可用)。
  2. 更换为更小的模型,例如nomic-ai/nomic-embed-text-v1.5,但需要在代码中确认支持。
  3. 确保你的设备有足够的磁盘空间。

3.4 配置AI客户端(以Claude Desktop为例)

服务器在后台跑起来了,现在需要让AI助手知道它的存在。这里以Anthropic的Claude Desktop应用为例。

  1. 找到Claude的配置目录

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
    • Linux:~/.config/Claude/claude_desktop_config.json
  2. 编辑配置文件:如果文件不存在,就创建它。我们需要在其中添加MCP服务器的配置。配置内容如下:

{ "mcpServers": { "local-memory": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-local-memory", "--dbPath", "./data/memory.db", "--chromaPath", "./data/chroma", "--embeddingModel", "sentence-transformers/all-MiniLM-L6-v2" ], "cwd": "/ABSOLUTE/PATH/TO/YOUR/local-memory-mcp" } } }

关键参数解释

  • command: 这里使用npx来直接运行我们安装好的MCP服务器包。确保你在项目目录下执行过npm install
  • args: 传递给服务器的参数,这些参数和我们.env文件里的配置是对应的。--dbPath--chromaPath是数据库路径,--embeddingModel是嵌入模型。
  • cwd:最重要的一步!你必须将其替换为你本地local-memory-mcp项目的绝对路径。例如/Users/yourname/Projects/local-memory-mcp。这确保了npx能在正确的目录找到依赖和模型。
  1. 重启Claude Desktop:保存配置文件后,完全退出并重新启动Claude Desktop应用。

  2. 验证连接:重启后,打开Claude,你可以尝试问它一个关于你自己的问题,比如“你知道我是谁吗?”。如果配置成功,Claude应该会通过MCP协议去查询本地记忆服务器。由于此时记忆库是空的,它很可能会启动那个“问答流程”来向你提问,例如:“我还没有关于您的信息。可以告诉我您的名字和一些基本信息吗?” 这就说明连接成功了!

实操心得:在配置cwd路径时,最容易出错。在macOS上,你可以打开终端,进入local-memory-mcp项目目录,输入pwd命令,直接复制输出的绝对路径,这样最保险。Windows用户注意使用反斜杠或双反斜杠。

4. 核心功能深度解析与使用技巧

成功部署后,我们来深入看看local-memory-mcp具体能做什么,以及如何高效地利用它。

4.1 记忆的增删改查:与AI的协作范式

记忆库的核心操作无非是CRUD(创建、读取、更新、删除),但在这里,这些操作被封装在了与AI的自然对话中。

  • 创建(Create):主要通过前文提到的“AI提问-用户回答”模式被动触发。但你也可以主动“投喂”。例如,你可以直接对AI说:“请记住,我目前正在开发一个叫‘智能家居中控’的项目,主要用Python的FastAPI和Vue3。” AI识别到这是需要记忆的信息,就会调用工具将其存储。存储时,AI会尝试理解内容并自动分类。
  • 读取(Read/Retrieve):这是自动进行的。当AI判断当前对话需要背景信息时,它会将你的问题或陈述向量化,并向MCP服务器发起查询。服务器返回最相关的几条记忆,AI将其融入上下文。你可以在对话中观察到,AI的回复会突然变得非常“懂你”,因为它引用了记忆库里的信息。
  • 更新(Update):记忆的更新不是直接修改旧记录,而是通过添加新记忆来实现。例如,你的项目从“开发中”进入了“测试阶段”。当你告诉AI这个新状态时,它会创建一条关于该项目“测试阶段”的新记忆。在检索时,更新的、更相关的记忆会因为时间戳或语义相关性而被优先返回。旧记忆依然存在,但影响力减弱。
  • 删除(Delete):目前项目主要通过工具提供清空特定分类或全部记忆的能力。理论上,AI可以调用这些工具,但在实际对话中,更常见的可能是用户直接操作数据库文件,或者未来通过更友好的管理界面来处理。

使用技巧:如何高效“投喂”记忆?为了让AI更好地理解和分类,你在回答它的提问或主动提供信息时,可以尽量做到结构化、清晰。例如:

  • 不好:“我用Go和Redis。” (信息模糊,分类困难)
  • 更好:“我的后端技术栈偏好是:主要编程语言是Go,常用Gin框架;缓存数据库首选Redis,熟悉集群模式。” (信息结构化,易于归类到preferences下的“技术栈”)

4.2 分类系统与语义检索

预设的分类系统是组织记忆的骨架。理解这些分类有助于你预测AI会如何存储和检索信息。

  • personal:静态的、身份类信息。如姓名、职位、公司、所在地时区。
  • preferences:动态的、选择类信息。如编辑器(VS Code)、主题(Dark+)、终端(iTerm2)、代码风格(Prettier)、沟通时间偏好。
  • projects:项目相关具体信息。这是对开发者最有用的分类。包括项目名、仓库地址、技术栈(前端/后端/数据库/DevOps)、当前里程碑、核心团队成员、访问凭证提示(注意:切勿直接存储密码!仅存储如‘凭证在1Password的XX条目中’这样的提示)。
  • knowledge:你积累的领域知识或经验总结。例如:“Kafka消息积压常见原因:1. 消费者处理慢;2. 分区数不足;3. 网络延迟。” 这类记忆能让AI在你咨询相关问题时,给出更贴近你知识体系的答案。

语义检索是背后的魔法。它不依赖关键词精确匹配。比如你问AI:“我之前处理过服务响应慢的问题吗?” 即使你的记忆里写的是“API延迟优化经验”,由于向量相似度高,这条记忆也能被检索出来。SIMILARITY_THRESHOLD参数就是控制这个“相似度”门槛的阀门。

4.3 数据持久化与安全考量

所有数据都安全地躺在你的本地磁盘里。

  • ./data/memory.db:SQLite文件,用任何SQLite浏览器(如DB Browser for SQLite)都能打开查看。里面主要存储记忆的元数据(id, 分类, 原始文本的哈希/摘要,创建时间等)。
  • ./data/chroma/:目录,里面是ChromaDB存储的向量数据和索引。这是二进制文件,不能直接查看,但保证了高效的相似度搜索。

安全建议

  1. 定期备份:整个data目录就是你的记忆库,可以定期压缩备份。
  2. 纳入版本控制(谨慎):如果你使用Git,可以考虑将data/目录加入.gitignore。但如果你希望在不同机器间同步记忆,且不介意隐私风险,也可以将其纳入私有仓库。
  3. 敏感信息处理绝对不要让AI记忆密码、API密钥、个人住址、身份证号等极度敏感信息。对于必要提示,使用间接方式,如“服务器密码保存在Bitwarden的‘生产服务器’条目下”。

5. 高级配置与定制化开发

基础功能用熟了,你可能想让它更贴合自己的需求。local-memory-mcp项目本身结构清晰,提供了定制空间。

5.1 调整模型与参数

  1. 更换嵌入模型:默认的all-MiniLM-L6-v2平衡了速度和效果。如果你更追求精度(且不介意更大的内存和磁盘占用),可以尝试更大的模型,如sentence-transformers/all-mpnet-base-v2。只需在.env文件和Claude配置中修改EMBEDDING_MODEL参数即可。首次使用新模型会重新下载。
  2. 调整相似度阈值:如果发现AI经常检索不到你认为相关的记忆,可以将SIMILARITY_THRESHOLD从0.7调低至0.6或0.5。如果AI经常引用一些不太相关的记忆,则调高至0.75或0.8。这是一个需要根据实际对话反馈进行微调的参数。
  3. 修改服务器端口:如果3000端口被占用,在.env中修改MCP_SERVER_PORT,并记得在Claude配置的args里通过--port参数传递新端口号。

5.2 扩展分类与工具

项目的核心逻辑在src/server.jssrc/tools/目录下。如果你懂一些JavaScript/Node.js,可以进行深度定制。

  • 添加新的记忆分类:你可以在代码中定义新的分类常量,并在AI助手调用存储工具时,让它能够选择这个新分类。这需要同时修改MCP服务器的工具定义和AI助手侧的提示词理解。
  • 自定义检索策略:默认是纯向量相似度检索。你可以修改检索逻辑,例如加入基于分类的过滤,或者让“最近新增”的记忆有更高的权重。
  • 开发管理界面:项目目前是纯后端服务。你可以基于它提供的API,用前端框架(如Vue、React)开发一个简单的Web界面,用于可视化地浏览、搜索、编辑或删除记忆条目,这比直接操作数据库要友好得多。

一个简单的定制示例:增加“contacts”分类假设你想让AI记住你的常用联系人。你可以尝试在服务器端的工具处理逻辑中,增加对“contacts”分类的支持。虽然这涉及对源码的修改,但思路是:在存储工具的参数验证中,将“contacts”加入允许的分类列表;在检索时,也可以支持按“contacts”分类过滤。这需要你对MCP协议和项目代码有一定的理解。

5.3 集成到其他MCP客户端

除了Claude Desktop,任何支持MCP协议的客户端理论上都可以集成。例如:

  • Cursor IDE:作为强大的AI编程IDE,Cursor支持MCP。配置方式类似,需要在Cursor的MCP设置中添加服务器配置。
  • 自定义应用:如果你在开发自己的AI应用,可以使用MCP客户端SDK(如JavaScript的@modelcontextprotocol/sdk)来连接你的local-memory-mcp服务器,从而为你的应用赋予长期记忆能力。

集成关键点在于正确配置MCP服务器的连接信息(通常是stdio通信或HTTP URL),并确保客户端有权限调用服务器暴露的工具(query_memory,store_memory等)。

6. 常见问题与故障排查实录

在实际部署和使用过程中,你可能会遇到一些坑。以下是我在测试中遇到的一些典型问题及解决方法。

6.1 服务器启动失败

问题现象可能原因解决方案
npm install失败,报node-gyp错误缺少编译原生模块的系统依赖(如Python、C++编译器)macOS: 安装Xcode Command Line Tools:xcode-select --install
Ubuntu/Debian:sudo apt update && sudo apt install -y build-essential python3-dev
Windows: 安装Python并确保已安装windows-build-tools(可通过npm install --global windows-build-tools尝试)
启动时卡在“Downloading embedding model...”网络问题,无法从Hugging Face下载模型1. 检查网络连接,尝试使用代理(配置HTTP_PROXY/HTTPS_PROXY环境变量)。
2. 更换为更小或国内镜像可能有的模型(需确认代码支持)。
3. 手动下载模型文件并放置到缓存目录(~/.cache/torch/sentence_transformers)。
报错Error: Cannot find module '...'依赖未安装完全,或cwd路径配置错误1. 确保在项目根目录执行了npm install
2. 检查Claude配置中cwd的绝对路径是否正确,确保路径指向包含node_modules的项目根目录。

6.2 客户端连接失败

问题现象可能原因解决方案
Claude重启后没有任何变化,AI不提问Claude配置未生效或格式错误1. 确认配置文件路径和名称完全正确 (claude_desktop_config.json)。
2. 使用JSON验证工具检查配置文件是否有语法错误(如多余的逗号)。
3.彻底重启Claude:完全退出(包括任务栏/托盘图标),再重新打开。
Claude提示“无法连接到MCP服务器”服务器未启动,或命令执行路径错误1. 在终端中手动进入项目目录,运行npm start,确认服务器能独立启动。
2. 在Claude配置中,将"command""npx"改为"node""args"改为["src/server.js"],并确保cwd路径绝对正确。这排除了npx可能的环境问题。
连接成功,但AI从不主动提问或检索AI客户端的提示词或设置未启用记忆功能1. 确认你使用的AI模型(如Claude 3.5 Sonnet)支持并启用了MCP工具调用。
2. 尝试主动向AI提供信息,如“请记住,我叫某某”,看它是否会触发存储流程。这有助于验证工具调用是否通畅。

6.3 功能使用异常

问题现象可能原因解决方案
AI存储的记忆总是分类错误预设分类不符合你的使用场景,或AI理解有偏差1. 在主动“投喂”信息时,用更清晰的语言描述,帮助AI分类。例如:“这是我的个人偏好:...”
2. 考虑修改项目源码,调整或增加分类定义,但这需要开发能力。
检索到的记忆不相关相似度阈值SIMILARITY_THRESHOLD设置不当根据效果动态调整.env中的阈值。调低以扩大召回范围,调高以提升精确度。这是一个需要反复试验的过程。
数据库文件损坏或变大异常关闭或长期使用产生冗余数据1.定期备份data/目录。
2. 可以尝试安全地停止服务后,使用SQLite工具对memory.db执行VACUUM;命令来整理数据库。对于ChromaDB,目前没有简单的清理工具,必要时可以删除chroma目录并重启服务(注意:这会清空所有向量记忆!)。

6.4 性能优化建议

  • 首次启动慢:主要是下载嵌入模型耗时。耐心等待即可,后续启动会很快。
  • 检索速度感觉慢:ChromaDB在本地小规模数据下速度极快。如果感觉慢,检查是否硬盘负载过高,或者尝试将数据库放在SSD硬盘上。
  • 内存占用:嵌入模型会加载到内存中。all-MiniLM-L6-v2模型约占用200-300MB内存。如果内存紧张,可以考虑寻找更小的模型替代。

我个人最常遇到的坑:十有八九是Claude配置中的cwd路径问题。特别是在Windows系统上,路径分隔符和大小写问题很容易导致npx找不到正确的模块。我的经验是,先在终端里手动cd到项目目录,用node src/server.js能跑通,就证明服务器本身没问题。然后,在Claude配置里,也优先尝试使用"command": "node"的配置方式,这比依赖npx更直接可靠。记住,修改配置后,一定要彻底重启Claude Desktop,它不会热加载配置。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 10:00:42

3步搞定Linux系统RTL8852BE无线网卡驱动安装与优化

3步搞定Linux系统RTL8852BE无线网卡驱动安装与优化 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 在Linux系统上安装RTL8852BE无线网卡驱动程序可能会遇到各种挑战,但通过本指…

作者头像 李华
网站建设 2026/5/4 9:59:57

终极指南:如何用Thorium浏览器实现性能与隐私的完美平衡

终极指南:如何用Thorium浏览器实现性能与隐私的完美平衡 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Source code and Linux releases. Windows/MacOS/ARM builds served in different repos, links are towards the top of t…

作者头像 李华
网站建设 2026/5/4 9:58:33

ImageGlass终极指南:Windows平台轻量级图片查看器

ImageGlass终极指南:Windows平台轻量级图片查看器 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 还在为Windows自带的图片查看器功能单一、启动缓慢而烦恼吗&a…

作者头像 李华
网站建设 2026/5/4 9:57:29

Cross-Tool Skill Sync:统一AI助手配置,实现一次编写处处部署

1. 项目概述:告别重复劳动,统一你的AI助手技能配置如果你和我一样,日常开发中同时用着Cursor、Claude Code、GitHub Copilot这些AI编程助手,那你一定也经历过这种痛苦:每次新建一个项目,或者想把一套成熟的…

作者头像 李华