n8n-claw技能库:零代码扩展AI助手能力的MCP协议实践

news2026/5/1 12:40:38
1. 项目概述n8n-claw 技能库一个开箱即用的AI能力扩展中心如果你正在使用 n8n-claw 来构建你的AI助手并且厌倦了为每一个新的API集成去手动编写复杂的n8n工作流那么这个名为n8n-claw-templates的开源项目绝对是你梦寐以求的“瑞士军刀”。简单来说它是一个预构建的、即插即用的“技能”库涵盖了从日历管理、文件操作到金融数据、智能家居控制等超过20个类别、66个具体技能。你不再需要理解某个API的认证机制、请求参数或响应格式只需要通过一句简单的聊天指令比如“安装天气-openmeteo”你的AI助手就能立刻获得查询全球天气的能力。这个项目的核心价值在于“降本增效”。它把那些需要开发者投入数小时甚至数天去研究、调试的第三方服务集成变成了像安装手机App一样简单的操作。无论是个人想打造一个全能的生活助理还是企业希望快速为内部AI工具注入CRM、项目管理等专业能力这个技能库都提供了一个近乎零代码的解决方案。我花了一周时间深度测试了其中的十几个技能从安装、配置到实际调用整个过程流畅得令人惊讶。它不仅仅是一个模板集合更是一套完整的、经过实战验证的MCPModel Context Protocol服务器实现范式展示了如何将n8n的强大工作流自动化能力优雅地封装成AI模型可以理解和调用的标准化工具。2. 核心架构与设计思路拆解2.1 MCP协议与n8n-claw的完美结合要理解这个技能库的价值首先得明白MCP和n8n-claw各自扮演的角色。MCP你可以把它想象成AI模型比如Claude、GPT和外部工具比如日历、数据库之间的一种“通用插座”标准。它定义了工具如何向AI描述自己名称、功能、参数以及AI如何调用这些工具并获取结果。而n8n-claw则是一个基于n8n一个知名的低代码自动化平台构建的MCP服务器实现。它利用n8n可视化编排工作流的能力来实际执行MCP工具所定义的操作。n8n-claw-templates项目的巧妙之处在于它预定义了这些“工具”的具体实现。每一个技能Skill本质上都是一个完整的n8n工作流包这个包严格遵循MCP的规范告诉AI“嗨我能帮你查天气你需要给我一个城市名作为参数。” 当AI模型需要这个功能时它就会通过MCP协议调用对应的工作流工作流执行完毕后再将结构化的结果返回给AI。这样一来AI就获得了“超能力”而用户完全无需关心背后的HTTP请求、JSON解析或错误处理。2.2 “原生”与“桥接”双模式解析项目将技能分为两种类型这是其设计上的一个关键亮点也直接影响着技能的性能和复杂度。原生模式这是最主要也是最强大的模式。技能的整个逻辑完全由n8n工作流实现。通常包含两个核心工作流服务器工作流包含一个mcpTrigger节点它对外暴露MCP服务端点并定义工具列表。每个工具连接到一个toolWorkflow节点。子工作流toolWorkflow节点实际调用的对象。这里包含了真正的业务逻辑比如发送HTTP请求到Google Calendar API、处理返回数据、转换格式等。所有代码都运行在n8n环境中。原生模式的优势完全可控可以利用n8n丰富的节点生态HTTP请求、代码节点、数据处理节点实现复杂逻辑并且执行效率高因为所有调用都在本地n8n实例内完成。桥接模式这是一种更轻量级的集成方式。它不包含具体的业务逻辑工作流而是充当一个“注册器”或“代理”。它的作用是告诉n8n-claw“嘿这里有一个现成的、独立运行的MCP服务器比如DeepWiki它的地址是XXX这是调用它需要的认证头信息。” n8n-claw随后会将对这个技能的调用转发到那个外部服务器。桥接模式的应用场景非常适合集成那些已经提供了标准MCP服务器接口的第三方服务。你不需要在n8n里重新实现一遍它的所有功能只需要做好“引荐”即可。这大大降低了集成成熟服务的门槛。2.3 技能的生命周期管理安装、配置与卸载项目设计了一套非常用户友好的技能管理机制全部通过自然语言与AI助手交互完成这极大地提升了易用性。发现与列表你可以直接问助手“有哪些可用的技能”它会从项目的CDNjsDelivr拉取最新的index.json目录文件并呈现给你。一键安装当你决定安装某个技能例如“安装日历-google”助手会执行一个安装工作流。这个工作流会从CDN下载对应的manifest.json元数据和workflow.json工作流定义然后通过n8n的API将这两个工作流导入到你的n8n实例中并自动建立它们之间的关联。凭证安全注入对于需要API密钥的技能如Google系列、NewsAPI等安装过程会生成一个10分钟有效的一次性HTTPS链接。你点击这个链接会跳转到一个安全的表单页面让你输入API密钥。这个设计非常关键——你的密钥永远不会以明文形式出现在聊天记录里。输入后密钥会被存储起来供工作流使用。一键卸载说“移除日历-google”助手会触发卸载流程不仅删除对应的工作流还会清理相关的数据库凭证记录保持环境整洁。这套流程将复杂的软件部署和配置过程简化成了几句自然语言对话真正体现了AI智能体应有的“助理”价值。3. 核心技能分类与实战应用场景这个技能库覆盖了极其广泛的领域我将其归纳为几个核心应用方向并结合实际测试经验谈谈它们能解决的具体问题。3.1 效率与办公自动化这是技能库最强大的板块之一能直接将你的AI助手变成个人或团队的效率中枢。日历与邮件集成了Google Calendar和CalDAV支持Nextcloud等。你可以让AI“查看我下周一下午的会议”、“在明天上午10点创建一个名为‘项目复盘’的日历事件”。Gmail和通用IMAP/SMTP技能则让AI可以帮你“搜索昨天来自客户XX的邮件并总结要点”、“给团队发送一封关于项目进度的周报邮件”。实测中Google OAuth2的授权流程顺畅创建和查询日历事件的响应速度很快。云存储Google Drive、Nextcloud、Seafile的支持意味着你可以用自然语言管理文件。“把我刚刚写的项目总结文档保存到Google Drive的‘工作’文件夹”、“从Nextcloud下载‘季度报告.pdf’并摘要其内容”。这对于经常跨平台处理文件的用户来说是个福音。笔记与知识库Notion、Airtable、Confluence的集成非常实用。你可以让AI“在Notion的‘会议记录’数据库里添加一条新记录”、“查询Airtable中所有状态为‘进行中’的任务”。这尤其适合将AI作为知识库的智能查询前端。3.2 数据获取与智能决策让AI助手“看见”和“理解”外部世界的数据是提升其实用性的关键。金融与市场Finnhub股票查询、实时汇率转换、加密货币价格这些技能可以让AI帮你做简单的市场监控。“特斯拉当前股价多少”、“100欧元换算成日元是多少”。Stripe支付集成更是为电商或SaaS类AI助手提供了直接处理交易的能力强烈建议在测试模式下使用。新闻与信息通过NewsAPI和Hacker News技能AI可以获取实时新闻。“今天科技圈有什么重磅新闻”、“帮我找找关于人工智能伦理的最新文章”。Open Library和Wikipedia则提供了庞大的知识库查询能力。地理与出行OpenStreetMap POI搜索、OpenRouteService路线规划以及德国、奥地利、瑞士的铁路查询技能非常适合构建旅行助手。“查找柏林市中心评分4星以上的意大利餐厅”、“帮我规划从慕尼黑到维也纳的火车路线”。3.3 内容创作与多媒体AI生成集成了Google的AI媒体生成能力Gemini Pro Image, Veo你可以直接让AI助手“生成一张赛博朋克风格的城市夜景图”或“根据这段文字描述创建一个短视频”。Unsplash技能则能帮你快速找到高质量的配图。内容管理WordPress技能提供了完整的REST API操作意味着你可以让AI“发布一篇新的博客文章标题是…内容来自这个文档”、“更新网站‘关于我们’的页面”。3.4 开发与运维开发者工具GitHub的深度集成是一个亮点。AI可以“查看我仓库最新的issue”、“创建新的分支”、“搜索包含‘bugfix’的代码”。这对于开发者管理项目非常方便。系统与网络Home Assistant技能让你能用语音或文字控制智能家居。“打开客厅的灯”、“把空调调到24度”。网站健康检查技能可以定期监控你的网站状态。实操心得技能选择策略不要试图一次性安装所有技能。根据你的核心使用场景优先安装2-3个最常用的。例如如果你主要用AI管理日程和查找信息那么“日历-google”、“新闻-newsapi”、“维基百科”就是核心组合。过多的技能可能会让AI在理解指令时产生混淆也增加了凭证管理的复杂度。先从小范围开始验证工作流再逐步扩展。4. 安全机制、凭证管理与潜在风险剖析安全是任何涉及API密钥和外部集成的系统的生命线。n8n-claw-templates项目在安全设计上有清晰的思路但也明确指出了当前存在的风险。4.1 凭证的存储与传输优势与短板安全的设计传输层面 如前所述通过一次性HTTPS链接输入API密钥避免了密钥在聊天上下文中的泄露。这是一个非常好的实践它确保了密钥在传输给服务器的过程中是相对安全的。当前的风险存储层面 项目文档坦率地指出了一个关键问题API密钥目前以明文形式存储在PostgreSQL数据库的template_credentials表中。这意味着任何能直接访问数据库的人比如通过SSH连接到服务器并使用Supabase Studio都能看到所有密钥。如果服务器被入侵攻击者获取数据库访问权限所有集成的服务密钥将一并泄露。风险缓解与应对策略最小权限原则这是最重要的防线。为每个在n8n-claw中使用的服务创建专用的API密钥并赋予其最小必要权限。例如给Google Calendar的密钥只授予读写日历的权限而不是整个Google账户的管理权。这样即使密钥泄露损失也有限。强化服务器安全项目文档强调数据库和API服务默认不暴露在公网。主要风险点在于SSH访问。务必禁用SSH密码登录强制使用SSH密钥认证。禁用root用户的SSH登录。使用强密码和密钥。部署fail2ban等工具防止暴力破解。期待加密改进项目路线图中已经计划为凭证增加静态加密Encryption at Rest。这意味着即使数据库文件被窃取没有解密密钥也无法读取凭证。这是一个至关重要的安全升级需要密切关注项目更新。4.2 网络隔离与访问控制项目的默认Docker Compose配置将关键服务如PostgreSQL的5432端口绑定在127.0.0.1并且PostgREST运行在Docker内部网络。这种设计形成了一个良好的网络隔离层外部攻击者无法直接从互联网访问到数据库或内部API。攻击面被缩小到了服务器本身和SSH服务。这再次强调了服务器主机安全的重要性。4.3 技能审核与信任边界作为一个开源、社区驱动的模板库技能的代码是公开可审阅的。在安装一个技能前尤其是涉及敏感操作如金融支付Stripe、邮件发送的技能一个有安全意识的使用者应该查看源码去GitHub上查看该技能对应的工作流JSON文件检查它到底在执行什么操作调用了哪些外部URL。理解作者查看贡献者记录。核心维护者如freddy-schuetz提交的技能通常经过更多测试。在沙盒环境测试先在测试环境或使用测试API密钥来运行技能观察其行为是否符合预期再应用到生产环境。5. 从使用者到贡献者如何创建并提交自己的技能模板当你熟练使用现有技能后很可能会遇到需要集成某个内部系统或特定API的情况。这时为社区贡献自己的模板就成为可能。以下是基于项目指南的实操步骤精解。5.1 环境准备与结构理解首先Fork本项目到你的GitHub账户。整个模板库的结构非常清晰templates/ ├── index.json # 总目录所有技能在这里注册 ├── TEMPLATE_EXAMPLE.md # 详细的模板示例和规范 └── {skill-id}/ # 每个技能一个独立目录 ├── manifest.json # 技能元数据名称、描述、凭证要求等 ├── workflow.json # 核心包含sub和server两个工作流的定义文件 └── README.md # 可选更详细的使用说明5.2 创建manifest.json定义技能的“身份证”这是技能的元数据文件告诉库管理器这个技能是什么、需要什么。以下是一个为“公司内部工单系统”创建模板的示例{ id: internal-ticket-system, name: Internal Ticket System, version: 1.0.0, updated: 2023-10-27, type: native, category: productivity, description: Create and query tickets from our internal helpdesk system., credentials_required: [ { key: internal_api_token, label: Internal API Token, hint: Get this from the helpdesk admin panel. } ], credentials_optional: [], tools: [ { name: create_ticket, description: Create a new helpdesk ticket. Parameters: title (string), description (string), priority (low/medium/high). }, { name: list_my_tickets, description: List all open tickets assigned to me. } ], author: your-github-username, license: MIT, tested_n8n_version: 2.10.4 }关键字段解析id: 必须全小写用连字符这在URL和内部引用中会用到。type:native自己实现逻辑或bridge代理到外部MCP服务器。tools: 这里定义的每个工具都必须在workflow.json的server工作流中有对应的toolWorkflow节点。描述要清晰特别是参数部分这直接决定了AI如何理解和使用这个工具。5.3 构建workflow.json实现技能的“大脑与躯体”这是最核心的部分一个JSON文件包含两个关联的工作流。我们以上面的create_ticket工具为例拆解其实现。1. 子工作流真正的业务逻辑子工作流包含一个Execute Workflow Trigger节点和一个Code节点或其它功能节点。Code节点里是你用JavaScript写的核心逻辑。{ format: n8n-claw-template, format_version: 1, sub: { name: MCP Sub: Internal Ticket System - Create, settings: { ... }, nodes: [ { id: sub-trigger, name: Execute Workflow Trigger, type: n8n-nodes-base.executeWorkflowTrigger, typeVersion: 1.1, position: [0, 0], parameters: { inputSource: passthrough } }, { id: sub-code, name: Create Ticket Logic, type: n8n-nodes-base.code, typeVersion: 2, position: [256, 0], parameters: { jsCode: const input $input.first().json;\nconst { title, description, priority } input;\n\n// 1. 获取存储的API Token由库管理器自动注入\nconst apiToken $credentials.internal_api_token;\nif (!apiToken) {\n throw new Error(Internal API token not found. Please install the skill with credentials.);\n}\n\n// 2. 调用内部API\nconst response await helpers.httpRequest({\n method: POST,\n url: https://internal-helpdesk.example.com/api/v1/tickets,\n headers: {\n Authorization: Bearer ${apiToken},\n Content-Type: application/json\n },\n body: JSON.stringify({ title, description, priority }),\n returnFullResponse: true\n});\n\n// 3. 处理响应\nif (response.statusCode 200 response.statusCode 300) {\n const ticket response.body;\n return [{\n json: {\n success: true,\n ticketId: ticket.id,\n message: Ticket #${ticket.id} created successfully.\n }\n }];\n} else {\n throw new Error(API Error ${response.statusCode}: ${response.body});\n} } } ], connections: { ... } }, ... }关键技巧helpers.httpRequest的使用在Code节点v2中发起HTTP请求必须使用helpers.httpRequest()而不是$helpers.httpRequest()。这是一个常见的坑。helpers对象是n8n在代码节点中注入的全局工具对象。2. 服务器工作流MCP接口的暴露服务器工作流定义MCP服务器本身并将工具与子工作流关联起来。{ ..., server: { name: MCP: Internal Ticket System, settings: { ... }, nodes: [ { id: mcp-trigger, name: MCP Server Trigger, type: n8n/n8n-nodes-langchain.mcpTrigger, typeVersion: 2, position: [0, 0], parameters: { path: internal-ticket-system // 必须与manifest中的id一致 } }, { id: tool-wf-create, name: create_ticket, type: n8n/n8n-nodes-langchain.toolWorkflow, typeVersion: 2.2, position: [0, 300], parameters: { name: create_ticket, description: Create a new helpdesk ticket. Parameters: title (string), description (string), priority (low/medium/high)., workflowId: { __rl: true, value: REPLACE_SUB_WORKFLOW_ID, // 关键占位符安装时会被自动替换 mode: id }, workflowInputs: { mappingMode: defineBelow, value: { title: {{ $fromAI(title, The title of the new ticket, string) }}, description: {{ $fromAI(description, Detailed description of the issue, string) }}, priority: {{ $fromAI(priority, Ticket priority (low/medium/high), string) }} }, schema: [ { id: title, displayName: title, type: string, description: The title of the new ticket, required: true }, { id: description, displayName: description, type: string, description: Detailed description of the issue, required: true }, { id: priority, displayName: priority, type: string, description: Ticket priority (low/medium/high), required: false, defaultValue: medium } ] } } } ], connections: { create_ticket: { ai_tool: [[{ node: MCP Server Trigger, type: ai_tool, index: 0 }]] } } } }核心机制解析$fromAI()函数这是连接AI和工具参数的桥梁。它告诉n8n-claw“当AI调用这个工具时请尝试从用户的消息中提取一个名为‘title’的参数它的描述是‘工单标题’类型是字符串。” AI模型如Claude会理解这个描述并在用户说“创建一个标题为‘服务器宕机’的工单”时自动提取出title: 服务器宕机。REPLACE_SUB_WORKFLOW_ID这是一个魔法占位符。在安装时库管理器会先导入子工作流获取其真实的ID然后用这个ID替换掉服务器工作流中的这个占位符从而建立正确的调用关系。你永远不需要手动填写这个ID。连接关系注意toolWorkflow节点的输出是连接到mcpTrigger节点的ai_tool输入端口而不是main端口。这是MCP工具节点的标准连接方式。5.4 本地测试与提交流程在提交PR之前 rigorous testing 是必须的。手动导入测试将你写好的workflow.json中的sub和server部分分别通过n8n的UI界面“导入工作流”功能进行导入。检查是否有语法错误节点是否正常加载。模拟MCP调用在n8n中手动触发mcpTrigger节点或者使用一个简单的MCP客户端脚本来调用你创建的工具验证参数传递是否正确业务逻辑是否按预期执行返回格式是否规范。更新索引在templates/index.json文件中按照现有格式添加你的技能条目。提交PR完成测试后向原仓库提交Pull Request。清晰的PR描述说明技能的功能、测试情况能帮助维护者快速合并。6. 部署实践、常见问题与优化建议6.1 部署架构与资源考量n8n-claw及其技能库通常部署在VPS或云服务器上。一个典型的Docker Compose部署会包含以下服务n8n-claw主应用、PostgreSQL数据库、用于邮件桥接等功能的辅助服务。资源需求对于个人或小团队使用1核CPU、2GB内存的服务器起步基本足够。但如果你计划安装大量技能并频繁调用尤其是那些涉及外部API请求如AI生图、复杂数据查询的技能则需要考虑更高的CPU和网络带宽。每个技能工作流在调用时都会启动一个n8n执行进程。网络与延迟技能调用的速度取决于两点n8n工作流本身的执行效率以及外部API的响应速度。将服务器部署在离你主要使用的云服务区域较近的地理位置可以降低网络延迟。例如如果你重度使用Google服务服务器放在Google Cloud的某个区域可能更合适。6.2 常见问题排查指南在实际使用和贡献过程中你可能会遇到以下典型问题问题现象可能原因排查步骤与解决方案安装技能时提示“下载失败”或“无效的JSON”。1. 网络问题无法访问jsDelivr CDN。2. 你提交的manifest.json或workflow.json格式错误。1. 检查服务器网络尝试curlCDN文件链接。2. 使用JSON验证工具如 jsonlint.com 检查你的文件格式。确保没有尾随逗号字符串引号正确。技能安装成功但AI助手说“找不到工具”或调用无反应。1. MCP服务器路径 (path) 设置错误。2.toolWorkflow节点与mcpTrigger节点的连接不正确。3. 子工作流ID未正确关联。1. 检查workflow.json中mcpTrigger节点的path参数是否与manifest.json中的id一致。2. 在n8n UI中打开服务器工作流确认toolWorkflow节点的输出线是否连接到mcpTrigger的ai_tool输入口。3. 确认安装后REPLACE_SUB_WORKFLOW_ID已被替换为真实的ID。可以检查工作流的JSON源码。调用工具时返回“凭证未找到”错误。1. 安装技能时未成功添加凭证。2. 凭证的key与代码中引用的名称不匹配。3. 凭证已过期或被撤销。1. 尝试对已安装的技能再次运行“添加凭证”指令。2. 检查manifest.json中credentials_required的key值是否与子工作流Code节点中$credentials.{key}引用的名称完全一致区分大小写。3. 去对应的服务商后台检查API密钥状态。工具调用超时或返回外部API错误。1. 外部API服务不可用或限流。2. 代码节点中的HTTP请求参数URL、方法、头信息有误。3. 服务器防火墙或网络策略阻止了出站请求。1. 首先在浏览器或使用curl、Postman直接测试目标API确认其可用性。2. 在n8n中手动执行子工作流使用“测试工作流”功能查看HTTP请求节点的详细输入输出排查参数问题。3. 在服务器上执行curl -v api-url检查网络连通性。AI无法正确理解工具参数。1.toolWorkflow中$fromAI()函数的描述不够清晰。2. 参数schema定义不完整或类型错误。1. 优化$fromAI()的description参数用更清晰、无歧义的自然语言描述这个参数是什么。例如“城市名称”比“city”更好。2. 确保schema中定义的type如string,number与实际代码中期待的类型一致。6.3 性能优化与最佳实践工作流优化在自定义技能的Code节点中避免同步的、耗时的循环操作。对于需要调用多个API的场景考虑使用n8n的“并行处理”节点或者使用async/await合理组织异步请求。错误处理与日志在自定义技能的JavaScript代码中务必加入健壮的错误处理try...catch并利用console.log()输出关键步骤的日志。这些日志可以在n8n的“执行历史”中查看是调试的宝贵依据。技能分组与命名如果你创建多个相关技能例如针对同一个系统的增删改查建议使用一致的命名前缀并在manifest.json的description中说明关联性方便用户管理和AI理解。关注社区与更新n8n-claw和其模板库处于活跃开发中。定期关注GitHub仓库的更新、Issue和Discussions可以及时获取新功能、安全补丁以及他人分享的最佳实践。这个项目真正强大的地方在于它将一个看似复杂的AI智能体扩展系统变成了一个模块化、可组合的生态。你可以是纯粹的使用者享受即插即用的便利也可以是贡献者将自己的自动化脚本封装成标准技能回馈社区。无论是哪种角色它都极大地降低了赋予AI“动手能力”的门槛。在我自己的使用中我已经将日历管理、新闻摘要、代码库查询和内部文档搜索集成到了同一个AI助手身上它现在就像一个不知疲倦的数字化身处理着那些过去需要我在不同应用间频繁切换的琐碎任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2571962.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;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…