AI编码助手安全技能集成:vt、gakido等工具实战指南

news2026/5/6 12:21:39
1. 项目概述为AI编码助手注入安全测试“超能力”如果你是一名安全研究员、渗透测试工程师或者正在学习网络安全那么你肯定对“Happy Hacking Space”这个开源安全工具集不陌生。他们推出的工具比如一键部署漏洞靶场的vt、能模拟真实浏览器指纹的gakido都是我们日常工作中提升效率的利器。但今天要聊的不是这些工具本身而是一个能让你和你的AI编码助手比如 Claude Code、Cursor配合得更“丝滑”的项目——HappyHackingSpace/skills。简单来说这个项目把 Happy Hacking Space 的一系列安全工具打包成了一个个独立的“技能包”。你可以把这些技能“安装”到你的AI编码助手里。之后当你对AI说“帮我用vt搭一个DVWA靶场”或者“用gakido绕过这个网站的Cloudflare防护去抓取下数据”时AI不再是干巴巴地回复你“我不会”而是能自动调用对应的工具理解其参数和用法并生成正确的命令或代码来帮你完成任务。这相当于给你的AI助手装上了安全测试的“外挂”让它从一个普通的代码生成器变成了一个懂安全、懂工具、能实操的“安全副驾驶”。这个项目的核心价值在于标准化和自动化。它基于开放的 Agent Skill 格式将每个工具的安装、配置、常用命令、使用场景和注意事项都封装在一个结构化的SKILL.md文件中。AI通过读取这个文件就能获得执行特定安全任务所需的全部上下文知识。对于安全从业者而言这意味着你可以将重复性的工具使用说明“固化”下来让AI去记忆和执行从而把精力更集中在策略思考和漏洞分析上。2. 核心设计思路技能如何让AI“理解”工具2.1 技能的本质结构化指令集一个“技能”在技术上是什么它远不止一份简单的使用手册。在HappyHackingSpace/skills项目中每个技能都是一个自包含的文件夹其核心是一个SKILL.md文件。这个文件采用“YAML Frontmatter Markdown 内容”的结构这是现代静态站点生成器和文档工具如 Jekyll, Hugo的常见做法非常适合机器解析。YAML Frontmatter部分提供了机器可读的元数据例如--- name: vt description: Spin up intentionally vulnerable environments from the terminal. ---这就像是技能的“身份证”AI如Codex可以通过扫描这些元数据快速建立技能索引知道“vt”这个技能是用来“从终端启动故意存在漏洞的环境”的。Markdown 内容部分则是给AI以及人类看的详细操作指南。这里才是精髓所在。它不仅仅是罗列命令而是以“指导AI如何思考”的口吻来编写。例如在vt技能的SKILL.md中你可能会看到这样的内容“当用户要求部署一个DVWADamn Vulnerable Web Application靶场时你应该首先检查本地Docker环境是否就绪。然后使用vt deploy dvwa命令。这个命令会在后台拉取DVWA的Docker镜像并启动容器。启动后你需要告知用户访问的IP和端口通常是http://localhost:8080。同时提醒用户默认的登录凭证是admin/password。”这种写法将工具的使用流程、上下文判断检查环境、具体命令、输出解释以及安全提示默认密码融合在了一起构成了一个完整的“任务执行剧本”。2.2 跨平台兼容性一套技能多端运行一个非常巧妙的设计是这个项目同时兼容了市面上主流的几款AI编码助手。虽然各家对“技能”的称呼和实现机制不同但项目通过提供多种适配文件实现了“一次编写多处运行”。对于 Claude Code项目提供了.claude-plugin/marketplace.json可以将整个技能仓库注册为一个插件市场。用户通过简单的/plugin install命令即可安装技能。对于 OpenAI Codex它遵循开放的 Agent Skills 标准会从固定的目录如$HOME/.agents/skills或项目根目录的.agents/skills发现技能。因此只需要将技能文件夹复制或链接到这些目录即可。对于 Google Gemini CLI项目根目录提供了gemini-extension.json文件通过gemini extensions install命令即可安装。对于 Cursor项目包含了.cursor-plugin/plugin.json清单文件可以通过仓库URL直接安装为插件。这种设计极大地降低了用户的使用门槛。无论你的主力AI工具是哪一款都能找到对应的集成方式无需为每个平台重写一套指令。注意虽然技能的核心逻辑是通用的但不同AI模型的理解和响应方式可能有细微差别。在编写或自定义技能时最好在你目标使用的AI助手上进行测试以确保指令被准确理解和执行。2.3 后备方案AGENTS.md 的聚合作用项目还包含一个agents/AGENTS.md文件这是一个“后备方案”。它将所有技能的SKILL.md内容聚合到了一个巨大的Markdown文件中。如果你的AI助手环境比较特殊不支持上述任何一种标准的技能发现机制你可以简单地将这个AGENTS.md文件的内容提供给AI作为上下文或者让AI在会话中参考这个文件。这确保了技能的可用性下限体现了项目设计的鲁棒性。3. 五大核心技能深度解析与实战应用HappyHackingSpace/skills目前提供了五个核心技能每个都对应一个强大的开源安全工具。下面我们来逐一拆解它们的用途、原理和实战中的“甜点”。3.1vt一键式漏洞靶场部署引擎它是做什么的vt的全称是 “Vulnerable Targets”它的目标是将安全学习和演练环境的搭建过程简化到极致。无论是经典的 DVWA、OWASP Juice Shop还是更复杂的多层网络靶场vt旨在通过一条命令完成从拉取镜像到服务就绪的全过程。底层原理与实操要点vt本质上是一个高度封装的 Docker Compose 或 Kubernetes 资源管理工具。它预定义了数十种常见漏洞靶场的部署模板通常是一个docker-compose.yml文件。当你执行vt deploy dvwa时它背后执行的操作可能是检查本地 Docker 守护进程是否运行。从 Docker Hub 或私有仓库拉取对应的镜像如vulnerables/web-dvwa。根据模板生成容器运行配置映射端口如将容器内的80端口映射到主机的8080。启动容器并可能运行一些初始化脚本如初始化数据库。返回访问地址和默认凭证。实战应用场景与技巧快速搭建练习环境这是最直接的用途。新学一个SQL注入漏洞立刻vt deploy dvwa一分钟内就能开始实操。自动化渗透测试实验平台你可以将vt集成到自己的自动化脚本中。例如写一个脚本每晚自动部署一个干净的靶场运行你的自动化漏洞扫描器并生成报告用于持续测试扫描规则的有效性。教学与演示作为讲师无需再花费课堂时间在环境配置上。提前告知学生安装好Docker和vt上课时一条命令即可让所有学生获得完全一致的操作环境。实操心得vt默认可能使用最新的镜像标签。对于需要稳定版本的教学或实验建议在自定义技能时指定具体的Docker镜像标签避免因镜像更新导致的环境行为变化。例如可以将命令模板从vt deploy dvwa细化为vt deploy dvwa --tag latest或指定一个历史版本。3.2gakido高保真浏览器模拟与反爬对抗利器它是做什么的在现代Web安全测试和爬虫开发中绕过WAFWeb应用防火墙和反爬虫系统如Cloudflare、Distil是家常便饭。gakido是一个Python HTTP客户端库它的核心目标是让程序发起的HTTP请求看起来和真实浏览器Chrome, Firefox, Edge发起的请求一模一样从而规避基于客户端指纹的检测。底层原理深度解析gakido的“魔法”主要来自以下几个层面的精细模拟TLS指纹模拟浏览器在建立HTTPS连接时其TLS握手过程中会携带一个独特的“指纹”如支持的加密套件列表、扩展顺序。很多高级防护系统会检查这个指纹。gakido可以精确地模拟Chrome、Safari等浏览器的TLS指纹。HTTP/2 与 HTTP/3 支持现代浏览器普遍支持HTTP/2甚至HTTP/3 (QUIC)。gakido支持这些新协议使得请求的流量特征更贴近真实浏览器。请求头与行为模拟它不只是设置一个User-Agent。它会生成完整的、符合特定浏览器版本的请求头集合包括Accept,Accept-Encoding,Accept-Language,Sec-CH-UA用户代理客户端提示等甚至模拟浏览器的连接复用和缓存行为。JA3指纹这是一个综合TLS客户端信息的哈希值是识别客户端类型的重要指标。gakido可以生成与目标浏览器匹配的JA3指纹。实战应用场景与技巧安全扫描器前置在运行漏洞扫描器如Burp Suite的Active Scan, Nuclei之前先用gakido编写一个简单的脚本访问目标获取一个有效的、带合法Cookie的会话再将这个会话传递给扫描器可以大幅降低扫描请求被拦截的概率。数据采集与爬虫需要从受Cloudflare等保护的网站采集公开数据时gakido是比简单requests库可靠得多的选择。漏洞验证PoC编写当你发现一个需要复杂会话状态或特定客户端环境才能触发的漏洞时用gakido来编写漏洞验证脚本成功率更高。注意事项虽然gakido能力强大但它并非“隐身斗篷”。高安全级别的系统可能采用更复杂的行为分析如鼠标移动轨迹、JavaScript执行环境检测。gakido主要对抗的是网络层和基础应用层的指纹检测。在实际使用中应合理设置请求频率避免触发基于速率的封禁。3.3sindoqAI时代的代码安全沙箱它是做什么的sindoq是一个“AI沙箱”它的核心诉求是安全地执行不可信的代码。这个场景在AI时代尤为突出当你让AI生成一段代码来解决某个问题比如解析一个复杂文件、处理一段加密数据你很可能不敢直接在自己的开发机上运行这段未知的代码。sindoq提供了从轻量级到高隔离级别的多种运行时让你可以放心地执行AI生成的或来自不可信来源的代码片段。底层原理与隔离层级sindoq像一个“运行时容器”的调度器支持多种后端Docker/Podman最常用的容器化隔离提供了文件系统、网络、进程命名空间的隔离。gVisor谷歌开源的容器沙箱它在用户空间实现了一个内核提供了比普通Docker更强的隔离性性能损耗比虚拟机小。FirecrackerAWS开源的微型虚拟机管理程序为每个沙箱任务启动一个极轻量级的VM提供硬件级别的强隔离常用于无服务器Serverless环境。Wasmer一个WebAssembly运行时。你可以将代码编译成WASM格式在沙箱中执行。WASM本身具有内存安全、沙箱化的特性隔离性非常好。Kubernetes在K8s集群中创建一个临时的Pod来运行代码适合云原生环境。实战应用场景安全执行AI生成代码这是首要场景。在AI编码助手中集成sindoq技能后你可以这样给AI下指令“用sindoq沙箱运行一下你刚写的这段Python代码看看解析这个畸形PDF文件的结果是什么但别动我本地的文件。”在线代码评测系统如果你在构建一个编程练习或竞赛平台sindoq可以作为后端代码执行引擎确保用户提交的代码不会破坏服务器。恶意软件动态分析在受控的、高度隔离的沙箱如Firecracker VM中运行可疑的脚本或可执行文件观察其行为同时保证主机绝对安全。实操心得选择哪种后端取决于你对安全性、性能和便利性的权衡。对于日常执行简单的、AI生成的一次性脚本Docker后端通常是最佳平衡点。如果需要执行来源极度可疑的代码则应选择gVisor或Firecracker。sindoq技能应该指导AI根据代码的“可疑程度”自动选择或建议合适的后端。3.4dit基于机器学习的Web元素智能分类器它是做什么的dit是一个命令行工具它使用机器学习模型来分析给定的HTML内容或URL自动识别页面的类型例如是登录页、搜索页、商品详情页还是联系表单页并进一步分类页面中的表单和表单字段例如识别出某个输入框是“用户名”、“密码”、“邮箱”还是“搜索框”。底层原理浅析dit的背后很可能是一个预训练的机器学习模型可能是基于BERT等Transformer架构或传统的特征工程模型。它通过分析HTML的DOM结构、标签属性如input的type、name、id、周围的文本上下文等信息来预测元素的语义类别。这属于自然语言处理NLP和Web信息抽取的交叉领域。实战应用场景自动化安全测试在渗透测试中可以先用dit快速扫描一个Web应用的所有页面自动识别出所有的登录表单、密码修改表单、支付表单等关键攻击面从而优先对这些高风险页面进行深入测试。Web爬虫与数据提取当你需要从大量结构各异但功能相似的网站如不同电商网站的商品页提取结构化数据时dit可以帮助你定位关键信息区域如价格、标题、描述让爬虫的编写更智能、更通用。无障碍测试与审计自动检测表单字段是否缺少合适的label或aria-*属性并结合dit的字段类型预测辅助评估网站的无障碍兼容性。注意事项机器学习模型并非100%准确。dit的分类结果应被视为一种“高置信度的猜测”在用于自动化决策如自动填写表单进行爆破时需要谨慎最好加入人工审核或二次验证的环节。在技能指令中应该提醒AI向用户报告分类的置信度并建议对关键操作进行确认。3.5funurl功能强大的URL处理瑞士军刀它是做什么的funurl是一个专注于URL统一资源定位符处理的命令行工具。它提供了对URL进行解析、构建、编码、解码、修改、过滤和去重等一系列操作功能非常集中和强大。底层原理与功能亮点它封装了URL标准RFC 3986的复杂解析逻辑并提供友好的命令行接口。核心功能包括深度解析将URL拆分为协议、主机、端口、路径、查询字符串、片段等各个组件并支持进一步解析查询参数。智能修改轻松地添加、删除、修改查询参数修改路径更换主机名等。编码/解码对URL各部分进行正确的百分比编码Percent-Encoding和解码处理特殊字符。规范化与比较对URL进行规范化处理如默认端口去除、路径简化并基于规范化形式进行去重和比较。实战应用场景渗透测试中的URL处理从Burp Suite导出的海量URL中快速提取出所有唯一的域名、路径修改某个请求参数的值以进行模糊测试对一批URL进行编码以避免WAF检测。日志分析与威胁狩猎在服务器访问日志中使用funurl提取出异常的查询参数或路径模式辅助发现攻击行为。爬虫开发管理和净化种子URL列表处理相对路径到绝对路径的转换。实操技巧funurl的技能可以极大地简化AI在处理URL相关任务时的思考过程。例如当用户要求“从这堆URL里找出所有包含id参数且值长度大于10的链接”时AI可以组合使用funurl的解析和过滤功能生成简洁高效的Shell命令管道如cat urls.txt | funurl parse | funurl query --key id --length-gt 10而不是尝试编写复杂的正则表达式或Python脚本。4. 技能集成与自定义实战指南4.1 在不同AI助手中的安装与激活Claude Code (推荐流程)这是最便捷的方式因为项目直接提供了插件市场支持。添加市场在Claude Code聊天框中输入/plugin marketplace add happyhackingspace/skills。这相当于告诉Claude Code“我知道一个叫happyhackingspace/skills的插件商店。”安装技能然后输入/plugin install vthappyhackingspace/skills。Claude Code会从该市场拉取vt技能并安装。安装后该技能对当前会话或根据设置对全局生效。使用直接对Claude说“用vt技能帮我部署一个OWASP Juice Shop靶场。” Claude会自动加载vt技能的指令来回应你。OpenAI Codex (本地化部署)Codex依赖于本地的技能目录。克隆仓库git clone https://github.com/happyhackingspace/skills.git创建技能目录在你的用户主目录或项目根目录创建标准路径mkdir -p ~/.agents/skills链接或复制技能你可以选择将需要的技能链接过去节省空间ln -s /path/to/skills/skills/vt ~/.agents/skills/vt。或者直接复制文件夹。使用在Codex中你可以说“使用vt技能”或者Codex在分析你的任务时如果发现与某个已安装技能描述匹配可能会自动建议使用它。Cursor (作为插件安装)Cursor的插件系统允许从Git仓库直接安装。打开Cursor进入插件管理界面。选择“从URL安装”或类似选项。输入本仓库的URLhttps://github.com/happyhackingspace/skills安装完成后在编写代码或与AI对话时相关的技能指令就会可用。4.2 自定义技能打造你的专属AI工作流项目的强大之处在于它是开源的你可以为自己常用的内部工具或特定工作流创建自定义技能。创建步骤详解复制模板在项目的skills/目录下找一个与你想要创建的工具最相似的现有技能文件夹例如如果要创建一个网络扫描技能可以参考vt的结构将其复制一份并重命名如my-scanner。修改 SKILL.md这是核心步骤。打开新文件夹里的SKILL.md文件。更新Frontmatter修改name和description确保描述清晰准确这决定了AI何时会触发这个技能。重写指导内容用清晰、逐步的指令替换原有的内容。假设你的工具叫myscan用于内部端口扫描你的指导内容应该像这样# MyScanner 技能指南 当用户需要快速扫描目标主机的开放端口时使用此技能。 ## 如何使用 1. 确保 myscan 工具已安装在系统PATH中。你可以通过运行 which myscan 来检查。 2. 基本扫描命令是 myscan target_ip。例如myscan 192.168.1.1。 3. 要扫描特定端口范围使用 -p 参数myscan 192.168.1.1 -p 80,443,8000-9000。 4. 扫描结果默认输出为文本。如需JSON格式以便后续处理添加 -o json 参数。 ## 示例 * 用户说“扫描一下10.0.0.5的常见端口。” - 你应该执行myscan 10.0.0.5 -p 21,22,80,443,3389 * 用户说“给我一个10.0.0.0/24网段存活主机的JSON列表。” - 你应该执行for ip in {1..254}; do myscan 10.0.0.$ip -p 80 -o json | grep -v \No open ports\; done ## 注意 * 仅对你有权测试的目标使用此工具。 * 默认扫描速度可能触发网络监控告警在生产环境使用 -T polite 参数降低速度。添加辅助脚本可选如果技能需要一些复杂的预处理或后处理可以在技能文件夹内添加Shell、Python等脚本并在SKILL.md中指导AI调用它们。注册到市场针对Claude Code编辑.claude-plugin/marketplace.json文件为你的新技能添加一个条目包含名称、路径和面向人类用户的描述。生成与验证在项目根目录运行./scripts/publish.sh。这个脚本会重新生成agents/AGENTS.md聚合文件并验证元数据的一致性。测试在你的AI助手中重新加载技能对于Claude Code可能是重新安装插件对于Codex是确保文件在技能目录然后尝试用自然语言触发你的新技能。4.3 技能使用的核心交互模式一旦技能安装成功你与AI的交互模式就发生了根本变化显式调用最直接的方式。你可以开门见山地说“使用gakido技能帮我写一个Python脚本模拟Chrome 120访问https://example.com/login并获取登录页面的HTML。” AI会立刻切换到“gakido专家”模式。隐式触发当你描述的任务与某个技能的描述高度匹配时AI可能会主动建议使用该技能。例如你说“我想安全地运行这段从论坛下载的Python脚本看看它输出什么。” AI可能会回复“这涉及到运行不可信代码。我可以用sindoq技能在Docker沙箱中安全地执行它你需要我这样做吗”组合使用你可以要求AI组合多个技能完成复杂工作流。例如“先用vt技能给我搭一个DVWA靶场然后用funurl技能处理靶场的访问URL提取出主机和端口最后用gakido技能写一个脚本去自动测试登录接口的SQL注入。” AI会按顺序加载和应用不同的技能指令。5. 常见问题与排错实录在实际使用和教学过程中我总结了一些常见的问题和解决方法。5.1 技能安装失败或无法识别问题现象在Claude Code中执行/plugin install后提示失败或者在Codex中AI表示“找不到相关技能”。排查步骤检查网络确保能正常访问GitHub。对于Claude Code插件市场可能需要稳定的网络连接。检查技能名称确保安装命令中的技能名称与marketplace.json或skills/目录下的文件夹名称完全一致。名称是大小写敏感的。检查AI助手兼容性确认你使用的AI助手版本支持技能/插件功能。例如某些早期版本的Cursor可能不支持插件。查看日志如果AI助手有调试或日志功能查看是否有关于技能加载的错误信息。常见错误是SKILL.md的YAML Frontmatter格式不正确。手动验证对于Codex可以手动检查技能文件是否位于正确的目录~/.agents/skills/或./.agents/skills/并且SKILL.md文件可读。5.2 AI错误理解或应用技能问题现象AI虽然调用了技能但生成的命令是错误的或者应用的场景完全不对。排查与解决审查 SKILL.md 内容技能的指导质量直接决定AI的表现。打开对应的SKILL.md检查指令是否清晰、无歧义。避免使用模糊的代词多用具体的示例。提供更精确的上下文你的初始指令可能不够明确。尝试在请求中提供更多细节。例如不说“用vt搭个靶场”而说“用vt技能在本地Docker上部署一个OWASP Juice Shop的最新版本靶场并把管理端口映射到本地的3000端口”。分步引导如果任务复杂可以拆解。先让AI“使用vt技能列出所有可用的靶场”然后你再选择其中一个让它部署。技能冲突如果安装了多个功能相似的技能AI可能会混淆。在指令中明确指出技能名称如“使用happyhackingspace/skills 中的 vt 技能”。5.3 技能执行依赖的工具未安装问题现象AI生成了正确的gakido或vt命令但在本地执行时失败提示“command not found”或连接Docker失败。解决方案在技能中前置检查这是最佳实践。在你自定义的技能SKILL.md开头就应该指导AI先检查环境。例如“在使用本技能前请先检查用户环境中是否安装了Docker。可以建议用户运行docker --version来验证。如果未安装提供官方安装链接或简要的安装命令如curl -fsSL https://get.docker.com | sh对于Linux。”明确告知AI你可以在提问时直接说明环境情况。“我的系统已经安装了Docker请使用vt技能。”这样AI可以跳过环境检查步骤。使用容器化的技能更高级的用法是将技能工具本身也容器化。例如指导AI运行docker run --rm happyhackingspace/vt deploy dvwa这样连本地安装vt都省了但需要网络拉取镜像。5.4 性能与资源问题问题现象使用vt部署靶场或sindoq运行沙箱时系统资源CPU、内存占用过高或执行缓慢。优化建议资源限制在vt或sindoq的命令中可以添加资源限制参数。例如对于Docker可以添加--cpus 1 --memory 512m来限制容器资源。这需要你在自定义技能时将这些最佳实践写入指导中。选择轻量级后端对于sindoq如果只是运行简单脚本优先选择Docker而非完整的Firecracker VM后者启动更慢、资源开销更大。清理资源技能指令中应包含清理步骤。例如在vt技能中不仅要教AI如何部署还要教如何停止和删除容器vt down或docker-compose down避免残留容器占用资源。5.5 安全与合规警示核心原则这些技能赋予了AI操作强大工具的能力但“能力越大责任越大”。仅用于授权测试vt部署的靶场、gakido的绕过技术绝对只能用于你自己拥有或已获得明确书面授权进行测试的环境、学习和研究。未经授权对任何系统进行扫描、探测或攻击都是非法的。沙箱隔离sindoq的存在意义就是运行不可信代码。永远不要因为AI生成了代码就盲目地在生产环境或存有敏感数据的主机上直接运行。务必在沙箱中先行验证。技能权限考虑AI助手的权限。如果你的AI助手能以高权限执行系统命令那么一个被恶意篡改或编写不当的技能可能会带来风险。只从可信来源如官方仓库安装技能并定期审查自定义技能的内容。这个项目代表了一个非常实用的方向如何将人类专家的领域知识安全工具的使用经验结构化和程序化然后无缝地赋能给AI形成“人机协同”的高效工作模式。从我自己的使用体验来看它最大的好处是降低了上下文切换的成本。我不再需要一边开着终端敲命令一边在文档里查参数另一边还在和AI讨论问题。现在我可以在同一个对话窗口里用自然语言指挥AI调用正确的工具完成具体任务而我则专注于更高层的战术和策略思考。开始尝试为你最常用的内部工具创建一个技能吧你会发现教会AI使用你的工具最终解放的是你自己。

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