基于MCP协议构建AI记忆管理服务:原理、实现与应用实践

news2026/5/15 20:22:22
1. 项目概述一个为AI应用量身定制的记忆管理工具最近在折腾AI应用开发特别是那些需要长期对话或上下文关联的场景时一个绕不开的痛点就是“记忆”问题。模型本身是健忘的每次对话都是全新的开始。为了让AI能记住用户偏好、历史对话要点或者特定领域的知识开发者们不得不自己动手在应用层实现一套记忆存储、检索和管理的逻辑。这活儿听起来简单做起来却满是细节数据怎么存、怎么高效地查、如何保证隐私安全、不同记忆之间如何关联……每一个环节都能让人掉不少头发。正是在这种背景下我注意到了revisium/mcp-memory这个项目。从名字就能看出它是一个基于MCPModel Context Protocol协议实现的记忆管理服务器。MCP协议是近年来AI工具链领域一个重要的开放标准旨在为AI助手比如Claude Desktop、Cursor等提供一个标准化的方式来发现、调用外部工具和资源。而mcp-memory就是专门为解决“记忆”这个子问题而生的工具。它不是一个完整的应用而是一个标准化的“记忆服务”可以被任何兼容MCP的AI客户端或应用集成为它们提供开箱即用的记忆能力。简单来说你可以把它理解为一个专门为AI对话设计的“外置大脑”或“智能笔记本”。当你的AI应用需要记住点什么时不用自己从头写数据库和检索算法直接调用这个服务就行。它负责安全地保管记忆并在需要的时候根据当前对话的上下文把最相关的记忆片段精准地“回忆”出来。这对于构建个性化的AI助手、长期陪伴型聊天机器人、或者需要复杂知识管理的智能体来说价值巨大。接下来我就结合自己的实践经验深入拆解一下这个项目的设计思路、核心实现以及如何把它用起来。2. 核心架构与设计哲学解析2.1 为什么选择MCP协议在深入代码之前必须先理解它为什么基于MCP构建。这决定了整个项目的定位和优势。MCP的核心思想是标准化接口与资源发现。在AI原生应用生态中存在一个普遍矛盾AI能力提供方各种工具、数据库、API希望自己的服务能被广泛集成而AI客户端或应用开发者则希望用统一、简单的方式接入各种能力而不是为每个工具都写一套适配代码。mcp-memory采用MCP意味着它立刻获得了以下优势即插即用任何支持MCP的客户端如Claude Desktop、Cursor、自行开发的AI应用无需修改核心代码只需配置连接就能获得记忆能力。这极大地降低了集成门槛。关注点分离记忆的存储、检索、向量化等复杂逻辑被封装在独立的服务器进程中。客户端只关心“存”和“取”这两个动作无需关心底层是用SQLite还是PostgreSQL用的是OpenAI的Embedding还是本地的BGE模型。这符合微服务的设计哲学。生态互通它不再是某个特定应用的私有模块而成为了AI工具链生态中的一个标准化组件。未来它可以与其他MCP服务器如文件系统访问、代码仓库查询、网络搜索等协同工作共同赋能AI应用。2.2 记忆的抽象从文本片段到可检索的实体记忆管理最核心的抽象是如何表示一条“记忆”。mcp-memory的设计没有采用简单的键值对而是采用了更符合认知习惯的结构。通常一条记忆包含几个关键部分内容记忆的文本本身比如“用户最喜欢的颜色是蓝色”或“上周讨论过项目A的API设计”。元数据用于描述和分类这条记忆的信息例如创建时间、关联的会话ID、用户ID、自定义标签等。这些元数据是后续进行过滤和精确检索的重要依据。向量表示这是实现“语义检索”或“关联回忆”的基石。将文本内容通过Embedding模型转换为高维向量存储到向量数据库中。当需要回忆时将当前对话的上下文也转换为向量通过计算余弦相似度等方式找出语义上最相关的历史记忆。在mcp-memory的实现中这些概念被封装成了清晰的数据模型和API。它通过MCP暴露的工具Tools来提供“保存记忆”和“搜索记忆”等核心操作。这种设计使得记忆的管理变得声明式和标准化。2.3 技术栈选型背后的考量浏览项目代码可以看到其技术栈的选择非常务实直指核心需求语言通常采用TypeScript/Node.js或Python。选择TS/Node.js生态意味着能充分利用NPM丰富的包管理以及高效的异步I/O处理适合构建轻量、高性能的网络服务。选择Python则是在AI和数据科学领域有天然优势尤其在集成各类Embedding模型和向量数据库时更为方便。具体选型需看项目实际代码。向量数据库这是记忆检索的核心。轻量级选择可能是SQLite with vector extensions (e.g.,sqlite-vss)它无需单独部署整个记忆库就是一个文件非常适合个人或轻量级应用。对于更严肃的生产环境可能会集成ChromaDB、Weaviate或Qdrant等专业的向量数据库它们提供更强大的检索性能、过滤条件和可扩展性。Embedding 模型负责将文本转换为向量。项目可能会支持多种模型例如OpenAItext-embedding-3-small效果稳定API调用简单但会产生外部网络依赖和费用。本地模型如BGE-M3,all-MiniLM-L6-v2通过xenova/transformers等库在本地运行隐私性好、无网络延迟但对本地计算资源有一定要求。这种多模型支持的设计让使用者可以根据对隐私、成本、延迟的不同要求进行灵活选择。MCP 服务器 SDK项目会使用官方的modelcontextprotocol/sdk或其他语言的MCP SDK来快速构建符合协议的服务器。这保证了与客户端通信的规范性。注意技术栈的具体组合是项目演化的结果。评估一个类似项目时关键不是记住它用了什么而是理解它为什么用这些——是为了极致轻量、为了生产可用还是为了最大程度的灵活性这决定了你是否应该直接使用它还是以其为参考构建自己的版本。3. 核心功能与API接口深度拆解一个MCP服务器的价值最终通过它暴露的工具Tools和资源Resources来体现。对于mcp-memory其核心API设计直接反映了记忆管理的核心操作。3.1 记忆写入不仅仅是存储“保存记忆”这个工具其输入参数的设计体现了对实际应用场景的思考。它通常不会只接收一个字符串那么简单。一个健壮的memory_create或store_memory工具可能包含以下参数content(字符串必需)记忆的文本内容。session_id(字符串可选)关联的会话标识。这对于区分不同对话脉络至关重要例如你可以将“工作讨论”和“生活闲聊”的记忆存入不同的会话中避免交叉干扰。metadata(对象可选)一个键值对字典用于存放任意自定义标签。例如{“topic”: “编程”, “project”: “A”, “priority”: “high”}。这为后续的元数据过滤提供了可能。embedding_model(字符串可选)指定使用哪种模型来生成该条记忆的向量。这允许在同一个记忆库中根据不同记忆的重要性或类型使用不同精度或成本的模型。实操心得元数据的力量在实际使用中我强烈建议养成给记忆添加丰富元数据的习惯。这看似增加了存储时的复杂度但在检索时带来的收益是巨大的。例如你可以通过metadata.project “项目A”快速过滤出所有与特定项目相关的记忆再在这些记忆中做语义搜索准确率会显著高于在全库中直接进行语义搜索。这相当于为你的记忆库建立了多维度的索引。3.2 记忆检索精准的“回忆”过程检索是记忆系统的灵魂。mcp-memory很可能提供不止一种检索工具以适应不同场景语义搜索这是最核心的功能。工具名可能叫search_memories或recall。它接收一个query字符串通常是当前对话的上下文或用户的问题将其向量化然后在向量数据库中进行相似度搜索返回最相关的K条记忆。关键参数包括query: 搜索查询文本。limit: 返回结果的数量。session_id/metadata_filter: 用于限定搜索范围。这是提升相关性的关键技巧。先过滤再语义搜索效果往往好于全局搜索。score_threshold: 相似度分数阈值低于此值的记忆将被过滤掉避免返回不相关的噪音。按条件列表可能提供一个如list_memories的工具纯粹根据session_id和metadata进行过滤和分页查询不涉及向量计算。适用于用户明确想查看某个主题下的所有记忆的场景。混合检索更高级的实现可能会结合两者先通过元数据过滤出一个子集再在这个子集内进行语义搜索兼顾了精确性和相关性。内部运作流程 当客户端调用search_memories工具时服务器端会经历以下步骤查询向量化使用配置指定的Embedding模型将query文本转换为向量Vq。范围过滤如果提供了session_id或metadata_filter先在记忆的元数据索引中进行快速过滤得到一个候选记忆ID列表。向量检索在向量数据库中针对所有记忆或过滤后的候选记忆的向量集合执行近似最近邻搜索寻找与Vq余弦相似度最高的Top-K个向量。结果组装与返回取出对应的记忆文本和元数据并附上相似度分数按照分数从高到低排序返回给客户端。3.3 记忆的管理与维护记忆不是只增不减的一个好的系统还需要管理功能更新记忆内容可能需要进行修正。一个update_memory工具需要接收记忆的唯一ID和新的内容它不仅要更新文本还需要用新文本重新生成向量并更新向量数据库。删除记忆出于隐私或数据管理需求提供按ID删除或按条件如session_id批量删除的工具。记忆统计提供查看记忆库概况的工具如记忆总数、按会话的分布等帮助开发者了解数据状态。这些工具共同构成了一个完整、自洽的记忆管理生命周期。4. 实战部署与集成指南理论说得再多不如动手跑起来。下面我将以一种典型的部署方式为例展示如何让mcp-memory服务器运行起来并集成到 Claude Desktop 中。4.1 本地开发环境搭建与运行假设项目是基于 Node.js 的。首先我们需要获取代码并安装依赖。# 1. 克隆项目仓库请替换为实际仓库地址 git clone https://github.com/revisium/mcp-memory.git cd mcp-memory # 2. 安装依赖 npm install # 3. 配置环境变量 # 通常需要创建一个 .env 文件配置Embedding模型API密钥等 cp .env.example .env # 编辑 .env 文件填入你的 OpenAI API Key 或其他模型配置 # EMBEDDING_API_KEYsk-... # EMBEDDING_MODELtext-embedding-3-small # VECTOR_DB_PATH./data/memories.sqlite # 4. 构建项目如果是TypeScript项目 npm run build # 5. 启动MCP服务器 npm start # 或者直接运行构建后的文件 node dist/index.js服务器启动后默认会在某个端口如3000监听或者通过标准输入输出与MCP客户端通信。关键在于如何让AI客户端发现并连接它。4.2 集成到 Claude DesktopClaude Desktop 是目前最流行的MCP客户端之一。集成方式是通过修改其配置文件。找到 Claude Desktop 的配置目录macOS:~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:%APPDATA%\Claude\claude_desktop_config.jsonLinux:~/.config/Claude/claude_desktop_config.json编辑配置文件在mcpServers对象中添加一个新的服务器配置。配置方式取决于mcp-memory服务器的启动方式。方式一服务器作为独立进程推荐更稳定假设你的mcp-memory服务器启动在http://localhost:3000。{ mcpServers: { my-memory-server: { command: node, args: [ /absolute/path/to/your/mcp-memory/dist/index.js ], env: { EMBEDDING_API_KEY: your-api-key-here } } } }或者如果服务器已经独立运行并提供了SSEServer-Sent Events端点也可以配置为{ mcpServers: { my-memory-server: { url: http://localhost:3000/sse } } }方式二通过标准输入输出stdio通信这是MCP更常见的通信模式服务器作为一个子进程被客户端启动。{ mcpServers: { my-memory-server: { command: node, args: [ /absolute/path/to/your/mcp-memory/dist/index.js ], env: { EMBEDDING_API_KEY: your-api-key-here } } } }重启 Claude Desktop保存配置文件后完全退出并重启 Claude Desktop 应用。验证集成重启后在 Claude 的聊天界面你应该能看到新的工具可用。通常Claude 会主动列出可用的工具或者你可以尝试输入“你能用什么工具”来触发它列出工具。如果看到search_memories,store_memory等工具说明集成成功。4.3 基础使用演示集成成功后你就可以在对话中直接使用记忆功能了。场景让 Claude 记住你的个人偏好你“请记住我不喜欢在代码中使用缩写变量名要完整清晰。”Claude调用store_memory工具 “好的我已经将这条偏好信息保存到记忆库中。”你一段时间后在新的对话中 “帮我 review 一下这段代码function calc(a,b){return ab;}”Claude在思考如何review前会自动或手动调用search_memories工具以当前对话为查询检索相关记忆。检索到“不喜欢缩写”这条记忆 “我注意到您之前提到过不喜欢缩写。这段代码中的函数名calc和参数a,b都使用了缩写。建议改为calculate和number1,number2等更清晰的名称。”这个过程展示了记忆如何实现跨对话的个性化体验。服务器在后台默默处理了存储和检索的所有复杂性。5. 高级配置与性能调优要让mcp-memory在生产环境或高强度个人使用中表现良好需要对几个关键环节进行调优。5.1 Embedding模型的选择策略模型的选择直接决定了记忆检索的质量、速度和成本。精度 vs. 速度 vs. 成本OpenAItext-embedding-3-large精度最高向量维度3072也高检索质量好但API调用成本高、延迟高且数据需出境。OpenAItext-embedding-3-small精度与速度的平衡之选维度为1536是大多数场景下的推荐选择。本地模型如all-MiniLM-L6-v2维度仅为384速度极快零成本、零延迟、数据完全私有。对于一般性的语义相似度匹配其效果已相当不错。缺点是对于非常细微或专业的语义差别可能不如大模型精准。实操建议可以从text-embedding-3-small开始。如果记忆量很大检索频繁对延迟和成本敏感并且经过测试本地模型能满足需求可以切换到本地模型。项目配置中通常可以通过环境变量EMBEDDING_MODEL_PROVIDER和EMBEDDING_MODEL_NAME来切换。5.2 向量数据库的优化即使使用SQLite向量扩展也有优化空间。索引优化确保向量列上创建了高效的ANN近似最近邻索引。在sqlite-vss中这通常意味着使用vss0虚拟表并创建vector_index。正确的索引能将检索速度从线性扫描提升数个数量级。分区与分片如果记忆量巨大数十万以上考虑按session_id或时间范围进行分区。检索时先定位到分区可以大幅减少搜索空间。更专业的向量数据库如 Weaviate 内置了分片功能。内存与磁盘的权衡向量索引可以全部或部分加载到内存中以加速查询但这会消耗更多RAM。需要根据服务器资源进行调整。5.3 记忆的“保鲜”与清理策略记忆不是越多越好。陈旧的、无关的记忆会污染检索结果降低相关性。基于时间的衰减可以实现一个后台任务定期扫描记忆对很久未访问通过last_accessed时间戳判断的记忆进行“降权”在检索时降低其分数或归档。基于会话的生命周期对于一些临时性会话如一次性的问题解答可以在会话结束时自动清理其所有记忆。手动打标与清理提供工具让用户或主应用可以给记忆打上“过期”、“错误”等标签并支持按标签清理。向量空间的维护定期对向量索引进行重建或优化以保持检索效率。6. 常见问题与故障排查实录在实际部署和使用mcp-memory或类似项目时我遇到并总结了一些典型问题。6.1 集成失败客户端找不到服务器症状Claude Desktop 重启后没有出现记忆相关的工具。排查步骤检查配置路径确保claude_desktop_config.json中的command和args路径绝对正确。Node.js 可执行文件的路径也要确认可以用which node查看。检查服务器日志以独立进程方式运行mcp-memory服务器查看其启动日志确认是否报错如缺少环境变量、端口被占用等。检查 Claude Desktop 日志Claude Desktop 通常有应用日志位于配置目录附近。查看日志中是否有加载MCP服务器时的错误信息。验证服务器协议确保mcp-memory服务器正确实现了MCP协议。一个简单的测试方法是使用MCP SDK自带的测试工具或尝试用curl与服务器的SSE端点通信。6.2 检索结果不相关或质量差症状AI经常回忆出无关的记忆或者该回忆的时候想不起来。可能原因与解决Embedding模型不匹配如果你存储记忆时用的是模型A检索时不小心换成了模型B向量空间不一致必然导致检索失败。务必保证存储和检索使用相同的模型。查询文本过于简短或模糊“今天天气”这样的查询其向量表示可能无法有效匹配到历史记忆。尝试在调用搜索工具时让AI客户端将更完整的上下文如前几轮对话作为查询传入。缺乏元数据过滤这是最常见的原因。在全局记忆库中搜索“Python”会返回所有提到Python的记忆包括你三年前学习基础语法的记录和上周解决特定bug的记录。务必利用好session_id和metadata_filter。在保存记忆时就为其打上合适的会话和标签。分数阈值过低检查score_threshold参数。如果设置过低如0.1很多低相关性的记忆也会被返回。可以尝试逐步提高阈值如0.7或0.8直到返回结果都是高相关性的。这个阈值需要根据模型和具体数据进行调整。6.3 性能问题存储或检索速度慢症状保存或回忆记忆时AI的响应有明显延迟。排查与优化Embedding API 延迟如果使用云端API网络延迟是主要因素。考虑换用本地模型或检查API调用是否有重试、超时逻辑。向量索引未建立确认向量数据库是否已为向量列创建了索引。没有索引的向量检索是线性扫描速度极慢。记忆数量过多即使有索引当记忆条数达到百万级时检索也可能变慢。此时需要考虑引入分区/分片策略或者升级到更专业的向量数据库。服务器资源不足检查运行mcp-memory的服务器的CPU和内存使用情况。向量计算和检索是计算密集型任务。6.4 隐私与安全考量记忆数据明文存储默认情况下记忆内容以明文形式存储在数据库文件中。如果记忆涉及敏感信息这是一个风险。缓解方案可以在存储前在应用层对记忆内容进行加密如使用AES检索后再解密。但这会使得服务器端的语义搜索失效因为加密后的文本无法被Embedding模型理解。一种折中方案是只对高度敏感的记忆字段加密或依赖客户端的加密和本地检索。Embedding API 数据出境使用OpenAI等海外API时记忆文本会发送到其服务器生成向量。缓解方案对于隐私要求极高的场景必须使用本地Embedding模型确保数据不出本地环境。7. 扩展思路与应用场景展望mcp-memory作为一个基础组件其潜力远不止于简单的对话记忆。结合其他MCP服务器和创意可以构建出更强大的智能应用。7.1 场景一个性化知识库助手你可以运行多个MCP服务器一个mcp-memory负责存储个人工作日志和心得一个mcp-file或类似服务器让AI能读取你的项目文档、笔记文件。当你在编程中遇到问题时AI可以同时搜索你的个人记忆“我记得上次解决过类似错误”和项目文档“在API文档里提到过这个参数”提供高度个性化的解答。7.2 场景二长期学习伙伴用于语言学习。mcp-memory可以存储你学过的单词、犯过的语法错误以及老师纠正的例句。每次练习对话时AI助手会先检索你易错的知识点在对话中有意地重复和强化。它还可以根据记忆中的单词掌握程度动态调整对话的用词难度。7.3 场景三智能体Agent的长期记忆在构建自主智能体时记忆是其实现“持续性”和“学习性”的关键。智能体可以将每次任务执行的结果、观察到的环境状态、学到的经验规则存储到mcp-memory中。当面对新任务时它先检索相似的历史经验从而更快、更好地做出决策避免重复犯错。7.4 扩展开发增强记忆能力你也可以基于mcp-memory进行二次开发增加更复杂的功能记忆总结与压缩定期将大量细碎的记忆如多次关于某个API的讨论通过大语言模型总结成一条结构化的、高信息密度的“摘要记忆”节省空间并提升检索质量。记忆关联图不仅存储记忆还存储记忆之间的关系如“记忆A是记忆B的原因”。检索时不仅可以返回相关记忆还能返回其关联记忆提供更丰富的上下文。多模态记忆扩展存储能力使其不仅能存文本还能关联图像、音频的向量表示需要多模态Embedding模型构建更丰富的记忆库。revisium/mcp-memory这类项目代表了AI应用开发基础设施的一个重要方向将通用能力标准化、服务化。它把复杂的记忆管理问题封装成了一个简单的协议接口让开发者能专注于应用逻辑本身。从我自己的使用体验来看初期可能会在配置和调优上花点时间但一旦跑通它为AI应用带来的“记忆”能力无疑是提升用户体验和智能程度的关键一跃。如果你也在构建需要上下文感知的AI应用花时间研究和集成这样一个记忆服务器绝对是值得的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2615955.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…