利用AI自动生成Git提交信息:commitgpt工具详解与实践指南

news2026/5/6 13:20:43
1. 项目概述与核心价值最近在代码提交信息Commit Message的规范化和自动化生成上我又踩了个不大不小的坑。一个匆忙的提交写了个“fix bug”就推了上去结果一周后回溯问题对着几十个类似的提交记录完全想不起来这个“bug”具体是什么、为什么修、怎么修的。这种场景但凡写过几天代码的朋友估计都深有体会。混乱、模糊的提交信息就像是给项目历史埋下了一颗颗“地雷”不仅让团队协作效率大打折扣也让代码的追溯和项目理解变得异常困难。正是在这种背景下我注意到了RomanHotsiy/commitgpt这个项目。简单来说它是一个利用大型语言模型比如 OpenAI 的 GPT 系列来帮你自动生成高质量、规范化 Git 提交信息的命令行工具。你不再需要绞尽脑汁去想“这个改动到底该怎么描述”只需要运行一条命令它就能分析你的代码变更git diff理解上下文然后生成符合Conventional Commits规范一种被 Angular、Vue 等众多知名项目采用的提交规范的提交信息。它的核心价值非常直接将开发者从撰写提交信息的繁琐劳动中解放出来同时强制性地提升项目提交历史的可读性、规范性和自动化程度。想象一下每次提交都能自动生成类似feat(auth): add OAuth2 support for Google and GitHub或fix(parser): handle edge case with empty input string这样清晰、结构化的信息整个项目的 Git 日志瞬间就从杂乱无章的记事本变成了条理清晰的开发文档。这对于个人开发者提升工程习惯对于团队统一提交规范、集成自动化工作流如基于提交类型的自动版本号生成和变更日志更新都有着立竿见影的效果。2. 核心原理与工作流程拆解commitgpt 虽然用起来简单但其背后的工作流程和设计思路却融合了现代开发工具链的几个关键理念。理解这些不仅能帮你更好地使用它也能让你明白这类 AI 辅助工具是如何与开发者工作流深度集成的。2.1 核心交互流程从代码变更到规范提交commitgpt 的核心工作流程可以概括为一个高效的“观察-分析-生成-确认”循环。当你执行commitgpt命令时它会触发以下一系列操作捕获变更工具首先会调用git diff --staged或git diff取决于你是否已经将变更暂存命令获取当前工作区与上一次提交之间的所有代码差异。这是它进行分析的“原材料”。构建提示词获取到 diff 信息后commitgpt 不会直接将其扔给 AI 模型。相反它会精心构建一个结构化的提示词Prompt。这个提示词通常包含几个关键部分指令明确要求模型扮演一个经验丰富的开发者并按照 Conventional Commits 规范生成提交信息。规范模板提供 Conventional Commits 的格式说明和示例例如type(scope): description并列出常见的类型feat, fix, docs, style, refactor, perf, test, chore 等及其含义。代码差异将上一步获取的git diff输出作为核心上下文输入。生成要求要求输出只包含最终的提交信息不要有任何额外的解释或标记。调用 AI 模型将构建好的提示词发送给配置好的 AI 模型 API默认是 OpenAI 的 GPT 模型。这一步是整个工具的灵魂模型需要理解代码变更的语义、识别变更的类型是新增功能、修复缺陷还是重构代码、推断合适的模块范围scope并用精炼的语言描述出来。输出与确认模型返回生成的提交信息后commitgpt 会将其输出到终端。通常它会提供一个交互式选项让你确认是否使用这个生成的描述或者进行手动编辑最后才执行git commit -m “生成的描述”。这个流程的关键在于提示词工程。一个设计良好的提示词是引导 AI 模型产出高质量、标准化结果的前提。commitgpt 内置的提示词经过了优化能较好地平衡规范遵守与描述准确性。2.2 技术栈与依赖解析commitgpt 本身是一个用 Go 语言编写的命令行工具这保证了它具有良好的跨平台性能和简单的分发方式单个二进制文件。它的技术栈选择体现了“工具链”思维Go 语言编译为静态二进制无需运行时环境下载即用。非常适合作为需要广泛分发的开发者工具。OpenAI API / 其他 LLM 提供商这是其核心能力来源。默认集成 OpenAI GPT但也通过配置支持其他兼容 OpenAI API 格式的模型服务比如 Azure OpenAI 或一些本地部署的模型网关这提供了灵活性。Git 命令行通过执行 Git 命令来获取仓库状态和差异信息是工具与版本控制系统交互的基础。Conventional Commits 规范这不是一个技术依赖而是一个规范依赖。工具的所有输出都旨在符合该规范这使得它的产出能无缝接入后续基于此规范的自动化流程中。注意使用 commitgpt 会产生对 AI API 的调用因此会产生相应的费用如果使用 OpenAI 等商业服务。对于代码差异很小的提交生成成本极低但对于涉及大量文件变更的提交需要留意 diff 内容的大小因为这会直接影响提示词的令牌Token数量从而影响成本和 API 调用时间。2.3 与类似工具的差异化定位市面上也有其他辅助生成提交信息的工具比如git-cz基于交互式命令行选择或一些编辑器插件。commitgpt 的差异化优势在于语义理解而非模板选择git-cz等工具需要你手动选择类型、输入描述。commitgpt 直接分析代码自动判断类型和范围并生成完整的描述句子智能化程度更高。深度集成 AI它不仅仅是一个简单的包装器其提示词设计和流程优化都是围绕“让 AI 理解代码变更并规范表述”这一核心目标进行的。轻量且专注作为一个独立的 CLI 工具它不绑定任何特定的编辑器或 IDE可以在任何终端环境中使用更容易集成到各种自定义脚本和 CI/CD 流程中。3. 从零开始安装、配置与初体验了解了原理接下来我们动手把它用起来。整个过程非常 straightforward但其中有些配置细节和初始设置决定了你后续使用的顺畅程度。3.1 安装与初始设置commitgpt 的安装方式多样你可以选择最适合自己系统的方式。安装方式选择使用包管理器推荐这是最便捷的方式。macOS (Homebrew):brew install commitgptLinux/macOS (脚本安装):curl -sSL https://raw.githubusercontent.com/RomanHotsiy/commitgpt/main/install.sh | bash手动下载二进制文件从项目的 GitHub Releases 页面下载对应操作系统Windows、macOS、Linux的预编译二进制文件放入系统的PATH环境变量指向的目录中如/usr/local/bin或C:\Windows\System32。通过 Go 安装如果你有 Go 环境可以运行go install github.com/RomanHotsiy/commitgptlatest。安装完成后在终端输入commitgpt --version验证是否安装成功。核心配置API 密钥与模型安装只是第一步要让 commitgpt 工作你必须配置 AI 模型的访问权限。这主要通过环境变量来完成。获取 API 密钥你需要一个 OpenAI API 密钥。前往 OpenAI 平台注册并创建 API Key。设置环境变量Unix-like 系统 (macOS/Linux)将以下命令添加到你的 shell 配置文件如~/.bashrc,~/.zshrc中然后执行source ~/.zshrc或对应的文件使其生效。export OPENAI_API_KEY你的-api-key-hereWindows (PowerShell)在终端中执行$env:OPENAI_API_KEY你的-api-key-here临时或通过系统属性设置永久环境变量。可选配置模型和其他参数commitgpt 支持配置模型、温度等参数。你可以通过环境变量或命令行参数设置。环境变量方式export COMMITGPT_MODELgpt-4 # 默认为 gpt-3.5-turbo export COMMITGPT_TEMPERATURE0.1 # 控制创造性越低越确定命令行参数方式每次运行时可指定如commitgpt --model gpt-4。实操心得模型选择与成本权衡对于生成提交信息这种任务gpt-3.5-turbo在绝大多数情况下已经足够准确且响应迅速成本也更低。gpt-4可能在理解非常复杂或模糊的代码变更时更有优势但每次调用的成本和耗时都更高。我建议从gpt-3.5-turbo开始只有在它频繁给出不理想结果时再考虑升级。另外将温度temperature设置为较低的值如 0.1 或 0.2有助于生成更稳定、更符合规范的描述减少“天马行空”的发挥。3.2 基础使用与命令详解配置好后就可以在你的 Git 仓库中开始使用了。最基本的使用场景是生成并提交暂存区的变更。基础工作流将你的代码变更添加到 Git 暂存区git add .或git add 具体文件。运行 commitgptcommitgpt工具会显示它分析后生成的提交信息并通常会询问你是否确认使用Use this message? (y/n)。输入y确认它会自动执行git commit -m “生成的描述”。输入n则会取消你可以手动提交。常用命令参数commitgpt 提供了一些参数来适应不同场景--generate或-g仅生成提交信息并输出到终端但不执行git commit。这允许你先预览或者将信息用于其他地方。commitgpt --generate--message或-m在生成的信息前添加一个自定义的前缀。这在你想强调某个特定上下文时有用但通常不推荐因为会破坏规范格式。--diff允许你直接传入一个 diff 字符串进行分析而不是从当前 Git 仓库获取。这在某些特殊脚本化场景下有用。--help查看完整的帮助信息。一个完整的实操示例假设我修复了一个用户认证模块中当用户名为空时导致的崩溃问题。# 1. 修复代码后查看差异 git diff # 输出显示我修改了 auth/login.py 文件增加了一个空值检查。 # 2. 将变更暂存 git add auth/login.py # 3. 运行 commitgpt commitgpt # 工具调用 API 后可能会输出 # “fix(auth): prevent crash when username is empty in login handler” # Use this message? (y/n) y # [main 1a2b3c4] fix(auth): prevent crash when username is empty in login handler # 1 file changed, 5 insertions(), 2 deletions(-)看一次规范的提交就完成了。信息清晰指明了类型fix、范围auth和具体的修复内容。4. 高级用法与集成实践当你熟悉了基础操作后commitgpt 的真正威力在于将其深度集成到你的日常开发工作流和团队规范中。这不仅能提升个人效率更能让团队协作质量上一个台阶。4.1 配置项深度解析与优化除了基础的 API 密钥commitgpt 支持通过配置文件~/.commitgpt.yaml或项目目录下的.commitgpt.yaml进行更精细的控制。这比环境变量更易于管理和版本化。一个典型的配置文件如下# ~/.commitgpt.yaml openai: api_key: “你的-api-key” # 也可仍用环境变量此处为空 model: “gpt-3.5-turbo” temperature: 0.1 max_tokens: 200 # 限制生成信息的最大长度 # 自定义提示词模板高级功能 prompt: | 你是一个资深的软件开发工程师。请根据提供的 git diff 内容严格遵守 Conventional Commits 规范生成一个简洁、准确的提交信息。 规范格式type(scope): description 常见的类型有feat新功能、fix修复bug、docs文档、style代码格式、refactor重构、perf性能优化、test测试、chore构建过程或辅助工具的变动。 只输出最终的提交信息不要有任何其他解释。 Git Diff: {{.Diff}}关键配置项解读model和temperature如前所述平衡效果与成本。max_tokens限制生成文本的长度。对于提交信息150-200 个令牌通常足够设置上限可以防止意外生成过长的无用文本节省成本。prompt这是高级定制的核心。你可以修改提示词来影响 AI 的“思考”方式。例如强调某些项目特定的术语或模块命名。要求生成的描述必须用英文或中文。加入对特定代码风格或架构的考量。注意修改提示词需要一定的提示词工程经验不当的修改可能导致输出质量下降。建议先基于默认提示词微调。4.2 集成到 Git Hooks 实现自动化最丝滑的使用方式是将 commitgpt 设置为 Git 的prepare-commit-msghook。这样每次你执行git commit时即使不带-m参数它都会自动触发生成提交信息并填充到编辑器里你只需审核和微调即可。设置步骤在你的 Git 仓库根目录进入.git/hooks文件夹。创建或修改文件prepare-commit-msg无后缀。写入以下内容#!/bin/sh # 自动生成提交信息如果已有信息如通过 -m 参数传入则跳过 if [ -z “$2” ] || [ “$2” “message” ]; then exec commitgpt --generate “$1” fi给该文件添加可执行权限chmod x .git/hooks/prepare-commit-msg效果现在当你输入git commit时你的默认编辑器如 Vim、VSCode会打开并且内容区已经预填了由 commitgpt 生成的提交信息。你可以直接保存退出或者在此基础上进行编辑。这比每次手动运行commitgpt命令更加无缝。注意事项Git Hooks 默认不会随仓库克隆而分发。为了让团队共享这个配置你需要将 hook 脚本放在项目目录的某个位置如scripts/git-hooks/并引导团队成员手动链接或者使用像husky对于 Node.js 项目这样的工具来管理客户端 Git Hooks。4.3 团队规范与 CI/CD 流水线集成对于团队而言commitgpt 可以成为强制执行提交规范的“守门员”。统一团队配置在项目根目录放置一个.commitgpt.yaml配置文件并提交到版本库。这样所有团队成员都能使用相同的模型和提示词配置确保生成风格的一致性。CI 提交信息校验你可以在持续集成CI流水线中增加一个步骤使用commitlint这样的工具来检查提交信息是否符合 Conventional Commits 规范。由于 commitgpt 生成的信息天然符合规范这能极大降低 CI 检查的失败率。即使有成员手动提交严格的 CI 检查也能迫使其遵守规范。自动化变更日志CHANGELOG生成规范的提交信息是自动化生成变更日志的基础。你可以使用standard-version、semantic-release等工具根据feat、fix等类型自动提升版本号并生成美观的变更日志。commitgpt 确保了提交信息是这些下游工具可解析的从而打通了从代码提交到版本发布的全自动化链路。一个简单的 GitHub Actions 工作流示例用于校验提交信息name: Lint Commit Messages on: [push, pull_request] jobs: commitlint: runs-on: ubuntu-latest steps: - uses: actions/checkoutv3 with: fetch-depth: 0 - uses: wagoid/commitlint-github-actionv55. 常见问题、局限性与应对策略没有任何工具是完美的commitgpt 在实际使用中也会遇到一些挑战和边界情况。提前了解这些能帮助你更理性地使用它并在它“失灵”时知道如何应对。5.1 生成质量不稳定的情况与调优AI 生成的内容具有概率性虽然 commitgpt 通过提示词进行了约束但仍可能遇到以下情况类型判断错误比如将一次大的重构refactor误判为新增功能feat或者将文档更新docs误判为普通修改chore。范围Scope不准确或过于宽泛可能生成fix(app): ...而不是更精确的fix(auth): ...。描述过于笼统或偏离重点生成 “update code” 这样的无用描述或者抓住了次要的代码格式改动而忽略了核心逻辑变更。应对策略审查与编辑永远不要盲目接受 AI 生成的结果。把它看作一个强大的“初稿撰写助手”。生成后务必快速浏览修正不准确的类型、范围并优化描述语言。这是保证提交历史质量的关键一步。优化暂存区内容AI 只分析你git add的内容。如果你一次暂存了多个不相关的变更比如同时改了功能 A 和修复了功能 B 的 bugdiff 会变得复杂AI 可能难以归纳。养成“原子提交”的习惯——每次提交只做一件明确的事情并只暂存相关的文件。这样 diff 更清晰AI 生成的结果也最准确。调整提示词如果发现某一类错误频繁出现可以尝试微调配置文件中的prompt。例如如果你的项目模块划分明确可以在提示词中强调“请根据代码变更所在的文件路径准确推断模块范围scope例如authuserpayment等。”使用更强大的模型对于核心、复杂的变更可以在命令行临时指定--model gpt-4来获得可能更准确的分析。5.2 处理大型 Diff 与成本控制当你进行大规模重构或一次性提交大量文件时git diff的输出会非常长。这会导致两个问题API 调用成本激增AI 模型按输入和输出的令牌数收费超长的 diff 意味着高昂的单次调用成本。超出模型上下文长度限制diff 可能超过模型的最大令牌限制导致请求失败。应对策略强制拆分提交这是最佳实践。大规模变更应该被拆分成一系列逻辑独立的小提交。这不仅利于 AI 分析也更符合 Git 的最佳实践便于代码审查和问题回溯。使用git add -p进行交互式暂存可以精细地选择每个提交要包含的代码块。使用--generate预览在提交前先运行commitgpt --generate查看生成效果和预估的令牌使用量某些 CLI 工具或 API 包装器会显示如果 diff 太大导致生成效果差或成本高则回头拆分变更。本地模型替代方案如果成本或隐私是主要顾虑可以探索将 commitgpt 配置为使用本地部署的、支持 OpenAI API 格式的开源模型如通过ollama或LocalAI部署的模型。虽然小模型的能力可能不如 GPT-4但对于格式固定的提交信息生成任务经过微调的较小模型也可能表现不错。5.3 网络依赖与离线场景commitgpt 的核心能力依赖于外部 AI API这意味着必须有网络连接。在无网络环境如飞机上、某些封闭开发环境下无法使用。应对策略备用工作流团队应约定当无法使用 commitgpt 时必须手动遵循 Conventional Commits 规范书写提交信息。可以将规范文档作为项目CONTRIBUTING.md的一部分。本地缓存或回退对于高级用户可以考虑设计一个回退机制例如当检测到网络失败时自动切换到一个基于简单规则如分析文件路径的本地生成器虽然不够智能但至少能提供一个符合格式的模板。5.4 安全与隐私考量将代码 diff 发送到第三方 AI 服务如 OpenAI涉及代码隐私问题。对于开源项目这通常不是问题。但对于处理敏感源代码、商业机密或受管制信息的私有仓库这就是一个重要的风险点。应对策略评估与政策制定团队或公司需要制定明确政策规定是否允许以及允许在何种情况下使用此类工具。使用本地模型如前所述使用在内部环境部署的开源模型是解决隐私问题的最彻底方案。需要权衡的是模型效果和部署维护成本。审查与脱敏在无法使用本地模型且政策允许使用云 API 的情况下可以考虑在 CI 环节加入安全扫描确保不会意外提交密钥等敏感信息到 diff 中。但对于业务逻辑代码风险依然存在。常见问题速查表问题现象可能原因解决方案运行commitgpt报错OPENAI_API_KEY not set未正确设置环境变量检查并正确设置OPENAI_API_KEY环境变量生成的信息总是chore: update之类Diff 内容过于琐碎或无关提示词温度过高确保暂存的是有意义的变更降低temperature配置值生成过程超时或失败网络问题Diff 过大超出模型上下文检查网络拆分大型提交后再尝试类型判断总是不对项目代码结构特殊AI 难以理解尝试在项目级.commitgpt.yaml中定制提示词明确类型定义想用中文描述默认提示词可能倾向于英文在提示词中明确加入“请用中文描述”的指令commitgpt 这类工具的出现标志着 AI 正在从“玩具”变为真正能提升开发者生产力的“副驾驶”。它解决的不是高深的算法问题而是日常开发中那个微小却持续消耗心力的痛点——书写规范的提交信息。通过自动化这个环节它间接推动了更好的开发习惯和更健康的项目历史。从我个人的使用体验来看它最大的价值不是百分百的准确率而是提供了一个高质量的起点和一种强制的规范框架。即使你需要修改它生成的描述这个修改过程本身也是对本次代码变更的一次有益复盘。对于团队它更是统一提交文化的催化剂。当然它目前仍是一个需要网络、有一定成本、且结果需人工复核的工具远非完美。但在追求工程效率与规范的道路上它无疑是一个值得尝试并集成到工具箱中的利器。

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