news 2026/10/20 18:31:54

RDPWrap-master:Windows多用户远程桌面底层Hook方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RDPWrap-master:Windows多用户远程桌面底层Hook方案

简介:RDPWrap-master 是一款面向Windows系统管理员与技术爱好者的远程桌面增强工具,专为突破Windows家庭版/专业版默认单用户RDP限制而设计,支持多账户并发远程登录(如a1、a2、a3同时连接同一台电脑A),适用于多终端协同管理、远程教学演示及无RDS CAL许可环境下的轻量级多会话需求。资源包共71个文件,含29个可执行程序(如RDPConf.exe、RDPWInst.exe、RDPCheck.exe等核心配置与检测工具)、14个PowerShell脚本(用于自动化启停、权限配置与隐私优化)、8个批处理文件(含安装、更新、卸载全流程脚本),以及ini配置模板、dll注入模块、chm帮助文档和md说明文件,整体压缩包仅5.81MB,结构紧凑、即解即用。已有898人学习下载,资源提供完整开箱配置链路:从服务注入、版本适配数据库更新,到多用户账户创建与连接验证,附带W10Privacy等配套安全增强组件,兼顾功能性与实操落地性。

1. RDPWrap-master 是什么:让 Windows 多用户远程桌面真正可用的底层补丁方案

你有没有遇到过这样的场景:一台 Windows 10/11 专业版机器,明明系统自带 Remote Desktop Services(RDS),却只能允许一个用户同时登录?当你用管理员账号远程连上去,本地正在操作的同事就直接被踢出;或者想让两个开发人员各自保持独立会话调试不同环境,结果第二个人一连,第一个人的桌面就黑屏断开——这不是权限没设对,也不是组策略漏配,而是微软从 Windows 8 开始,硬编码限制了非 Server 版本的并发会话数为 1。RDPWrap-master 就是为解决这个“合法但不可用”的困境而生的:它不替换系统文件、不修改注册表关键项、不依赖服务端授权,而是通过注入式 Hook + 用户态 DLL 重定向,动态拦截并绕过termsrv.dll中的会话数校验逻辑。它不是远程控制软件(如 TeamViewer),也不是远程管理工具(如 PowerShell Remoting),而是一个轻量、可审计、可回滚的系统级协议层适配器。适合需要在单台 Windows 工作站上稳定运行多会话远程开发、测试隔离、教学演示或自动化 GUI 测试的工程师、运维人员和高校实验室环境。它不提供图形界面,所有操作靠命令行与配置文件驱动,正因如此,它比任何 GUI 远程工具都更贴近系统本质,也更值得你花 20 分钟亲手编译验证一次。


2. 为什么必须用 RDPWrap-master 而不是改 termsrv.dll 或开远程协助

2.1 微软的硬性限制机制:termsrv.dll 的会话计数黑匣子

Windows 客户端版本(Win10/Win11)的远程桌面服务核心逻辑封装在C:\Windows\System32\termsrv.dll中。该模块在每次新连接建立时,会调用内部函数SessionIsAllowedToConnect(符号名可能随版本变化),其伪代码逻辑近似如下:

BOOL SessionIsAllowedToConnect(DWORD sessionId) { if (GetEditionType() == EDITION_SERVER) return TRUE; if (GetActiveSessionCount() >= 1) return FALSE; // 关键限制:客户端版只允许1个活跃会话 return TRUE; }

注意:这个判断不是靠注册表开关(如fDenyTSConnections)或组策略(如“允许远程连接到此计算机”)控制的,而是硬编码在二进制指令流中。早期有人尝试用十六进制编辑器直接 patchtermsrv.dll,比如把cmp eax, 1改成cmp eax, 99,但这存在致命问题:

  • Windows Update 会检测并自动恢复被篡改的系统文件;
  • 不同 Windows 版本(甚至同一版本的不同累积更新 KB 编号)中,termsrv.dll的函数偏移、指令长度、跳转逻辑完全不同,一个 patch 无法通用;
  • Patch 后若触发 DEP/NX 保护或签名验证失败,RDP 服务直接启动失败,且无有效日志提示。

提示:不要试图手动修改termsrv.dll。这不是“改个字节就能用”的玩具,而是动了系统信任链根基的操作,血泪经验表明,90% 的“RDP 黑屏/服务无法启动”故障源于此。

2.2 RDPWrap 的设计哲学:用户态拦截,零系统文件侵入

RDPWrap-master 的核心思路是“不碰系统文件,只接管调用路径”。它通过以下三步实现安全绕过:

  1. 服务注入:以 LocalSystem 权限将rdpwrap.exe注入到svchost.exe -k termsvcs进程(即承载TermService的宿主进程);
  2. API Hook:在内存中定位termsrv.dll加载基址,使用 Microsoft Detours 或自研 inline hook 技术,将SessionIsAllowedToConnect及相关校验函数的入口地址重定向至 RDPWrap 提供的代理函数;
  3. 策略外挂:所有绕过逻辑(如最大会话数、是否允许空闲会话、是否启用 Network Level Authentication)均由外部rdpwrap.ini配置文件定义,rdpwrap.exe在运行时读取并决策,完全解耦于系统二进制。

这种设计带来三个不可替代的优势:

  • ✅可更新性:当 Windows 更新后termsrv.dll版本变化,只需更新rdpwrap.ini中对应版本的 Hook 偏移配置(项目维护者已预置主流 KB 补丁的 offset 表),无需重新编译或重装;
  • ✅可审计性:所有 Hook 点、调用栈、返回值均可通过rdpwrap.exe -l日志模式捕获,比 patch 二进制透明百倍;
  • ✅可回滚性:停止RDP Wrapper Library服务 → 删除rdpwrap.ini→ 重启TermService,系统立即回归原始行为,不留痕迹。

2.3 对比其他“多会话方案”的真实代价

方案是否修改系统文件是否需禁用 Windows Update是否支持 Win11 22H2+是否可审计 Hook 行为典型失败表现
手动 patch termsrv.dll✅ 强制修改✅ 必须关闭❌ KB5034441 后彻底失效❌ 无日志,黑盒RDP 服务启动失败,事件查看器报错 7000/7009
使用第三方 RDP 增强工具(如 Remote Desktop Manager 插件)❌ 不修改✅ 可开启⚠️ 仅扩展 UI,不解决会话数限制❌ 无底层控制权第二个连接仍被踢出,无任何提示
启用“远程协助”(msra.exe)❌ 不修改✅ 可开启✅ 支持❌ 仅支持单向控制,无独立会话被控端桌面被接管,无法后台运行程序
RDPWrap-master❌零修改✅可开启✅官方支持至 Win11 23H2✅完整日志 + 配置驱动仅需更新 ini 文件,5 分钟内恢复

注意:所谓“永久破解版 RDP 工具”多数是包装了 patchtermsrv.dll的脚本,它们把高风险操作包装成一键按钮,反而掩盖了问题本质。真正的稳定性,来自对 Hook 机制的理解和可控。


3. 从源码编译到服务部署:手把手构建可验证的 RDPWrap 环境

3.1 环境准备:Visual Studio 2022 + Windows SDK 10.0.22621.0(必须匹配目标系统)

RDPWrap-master 是 C/C++ 项目,依赖 Windows Driver Kit (WDK) 风格的内核模式编程习惯,但实际运行在用户态。编译前务必确认:

  • 操作系统为 Windows 10 21H2 或更高版本(推荐 Win11 22H2),且已安装最新累积更新;
  • 安装 Visual Studio 2022 Community(免费)并勾选“使用 C++ 的桌面开发”工作负载;
  • 在 VS Installer 中单独安装Windows 10/11 SDK 版本 10.0.22621.0(这是目前 RDPWrap-master 主分支默认 target,不匹配会导致#include <windef.h>报错);
  • 以管理员身份启动 VS Developer Command Prompt(非普通 CMD)。

提示:不要用 MinGW 或 Cygwin 编译。RDPWrap 依赖PsSetCreateProcessNotifyRoutineEx等 NT 内核导出函数,这些仅在 MSVC 的ntdll.lib中提供符号定义。

3.2 下载源码并理解目录结构:lib、service、ini是三大支柱

执行以下命令克隆并检出稳定分支(截至 2024 年 Q2,master分支已合并全部修复):

git clone https://github.com/stascorp/rdpwrap.git rdpwrap-master cd rdpwrap-master git checkout master

关键目录说明(非全部,只列运行必需):

目录作用是否必须备注
lib/核心 Hook 库源码(hook.c,patch.c)✅ 必须实现SessionIsAllowedToConnect等函数的重定向逻辑
service/Windows 服务包装器(rdpwrap.exe主程序)✅ 必须负责注入、Hook、INI 解析、服务生命周期管理
ini/预置的rdpwrap.ini配置模板✅ 必须包含 Win10 19044.3393、Win11 22621.2506 等 30+ 版本的 offset 表
build/编译输出目录(自动生成)❌ 自动生成不需手动创建
tools/辅助脚本(如autoupdate.bat)⚠️ 推荐用于自动下载新版 ini 配置

注意:rdpwrap.ini不是“配置你的会话数”,而是“告诉 RDPWrap 如何找到termsrv.dll中的校验函数”。它的内容由社区逆向分析得出,你只需确保所用 Windows 版本号(通过winver查看)能在ini/中找到匹配段落。

3.3 编译命令:四步完成,每步都有明确输出验证点

在 VS Developer Command Prompt 中执行:

# 步骤1:生成解决方案文件(.sln) cd rdpwrap-master msbuild /p:Configuration=Release /p:Platform=x64 build\rdpwrap.sln /t:Rebuild # 步骤2:检查输出文件是否存在(关键验证点) dir build\x64\Release\rdpwrap.exe # 应看到类似:2024/04/12 10:22 AM 432,128 rdpwrap.exe # 步骤3:复制核心文件到系统目录(必须管理员权限) copy build\x64\Release\rdpwrap.exe C:\Program Files\RDPWrap\ copy ini\rdpwrap.ini C:\Program Files\RDPWrap\ # 步骤4:注册为 Windows 服务(服务名为 "RDP Wrapper Library") sc create "RDP Wrapper Library" binPath= "C:\Program Files\RDPWrap\rdpwrap.exe" start= auto sc description "RDP Wrapper Library" "Enables multiple RDP sessions on Windows client OS"

编译成功标志:rdpwrap.exe文件大小在 400–450 KB 之间,且sc query "RDP Wrapper Library"返回STATE : 4 RUNNING。

逻辑说明:msbuild调用的是 VS 自带的cl.exe编译器,/p:Platform=x64强制 64 位编译(现代 Windows 全是 64 位系统);sc create中的binPath=后必须有空格,这是 Windows 服务语法硬性要求,漏掉会导致服务创建失败但无提示。

3.4 首次启动与状态验证:用三条命令确认 Hook 生效

服务注册后,执行以下命令链进行闭环验证:

# 命令1:启动服务并等待 3 秒(Hook 需时间注入) net start "RDP Wrapper Library" timeout /t 3 /nobreak >nul # 命令2:检查 Hook 状态(核心!返回 "status: fully supported" 才算成功) "C:\Program Files\RDPWrap\rdpwrap.exe" -s # 命令3:查看详细日志(定位失败原因的唯一途径) "C:\Program Files\RDPWrap\rdpwrap.exe" -l | findstr "Hook termsrv" # 正常应输出:[INFO] Hooked termsrv!SessionIsAllowedToConnect at 0x7FFA12345678

如果rdpwrap.exe -s输出status: not supported,说明rdpwrap.ini中没有匹配你当前termsrv.dll版本的配置段。此时需:

  1. 运行ver获取系统版本(如Microsoft Windows [Version 10.0.22621.2506]);
  2. 打开C:\Program Files\RDPWrap\rdpwrap.ini,搜索[10.0.22621.2506]段;
  3. 若不存在,去 GitHub 仓库ini/目录下找最新版 ini 文件覆盖,或运行tools\autoupdate.bat自动拉取。

参数说明:-s是 status 模式,只做快速健康检查;-l是 log 模式,输出实时 Hook 日志,是排错黄金命令;-a是 auto-update 模式(慎用,会联网下载 ini,生产环境建议离线更新)。


4. 避坑指南:五个真实翻车现场与血泪修复方案

4.1 现象:rdpwrap.exe -s显示status: not supported,但winver版本明明在rdpwrap.ini中存在

原因:rdpwrap.ini中该版本段的Pattern(特征码)与你系统中termsrv.dll的实际二进制不匹配。微软在某些 KB 更新中微调了校验函数附近的汇编指令(如把mov eax,1改成xor eax,eax; inc eax),导致 pattern scan 失败。
解决:

  • 进入C:\Program Files\RDPWrap\,用sigcheck64.exe -m termsrv.dll(Sysinternals 工具)获取termsrv.dll的精确哈希(SHA256);
  • 去 RDPWrap GitHub Issues 页面搜索该哈希,通常已有用户提交新 pattern;
  • 或手动用CFF Explorer打开termsrv.dll,定位SessionIsAllowedToConnect函数(用字符串"SessionIsAllowedToConnect"搜索),记录其 RVA 地址(如0x1A2B3C),然后在rdpwrap.ini对应段中添加:
    [10.0.22621.2506] Pattern = 4883EC28488B05........85C0740A ; 上面的 ....... 替换为实际函数开头 10 字节机器码(十六进制,无空格)

4.2 现象:服务启动后,远程连接第二个用户时,第一个用户桌面卡死但未断开,鼠标键盘无响应

原因:rdpwrap.ini中MaxSessions设置过大(如设为99),而 Windows 客户端版的 GDI 资源、会话堆内存有硬上限,超过 3–4 个并发会话时,GDI 句柄耗尽导致 UI 响应停滞。
解决:

  • 编辑C:\Program Files\RDPWrap\rdpwrap.ini,找到[Settings]段,将MaxSessions改为3(保守值)或4(经实测稳定值);
  • 添加EnableIdleSession选项:
    [Settings] MaxSessions = 4 EnableIdleSession = 1 ; 允许空闲会话保活,避免被系统回收
  • 重启TermService服务:net stop TermService && net start TermService

4.3 现象:启用 NLA(网络级别身份验证)后,第二个连接提示“发生内部错误”,事件查看器中Application日志出现Error 1000

原因:NLA 在建立 TCP 连接后、发送加密凭据前,会调用SspiEncryptMessage进行预认证,而 RDPWrap 的 Hook 未覆盖该路径,导致认证上下文错乱。
解决:

  • 在rdpwrap.ini的[Settings]段添加:
    [Settings] DisableNLA = 0 ; 0=启用NLA(默认),1=禁用NLA(不推荐) ; 但必须确保 [10.0.22621.2506] 段中有 NLA 相关 patch: NlaHook = 1 ; 强制启用 NLA Hook(部分新版 ini 已默认开启)
  • 若仍失败,临时禁用 NLA(仅测试用):
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
    (重启TermService后生效,生产环境务必改回d 1)

4.4 现象:Windows Update 后,RDPWrap 服务自动停止,rdpwrap.exe -s返回status: not installed

原因:Windows Update 重置了svchost.exe -k termsvcs的进程映像,导致已注入的 Hook 失效,但服务本身仍在运行(僵尸状态)。
解决:

  • 不要直接重启服务,这会导致注入冲突;
  • 正确流程:
    # 1. 停止服务并强制卸载注入 net stop "RDP Wrapper Library" timeout /t 2 /nobreak >nul # 2. 重启 TermService,清空旧注入 net stop TermService && net start TermService timeout /t 3 /nobreak >nul # 3. 重新启动 RDPWrap 服务 net start "RDP Wrapper Library" # 4. 验证 "C:\Program Files\RDPWrap\rdpwrap.exe" -s

4.5 现象:远程连接时,客户端显示“已连接”,但远程桌面窗口全黑,仅显示壁纸,无任务栏和开始菜单

原因:并非 RDPWrap 问题,而是 Windows 客户端版对多会话的 Shell 加载机制限制。第二个及以后的会话默认不加载explorer.exe,需手动配置。
解决:

  • 在远程桌面中,按Ctrl+Shift+Esc打开任务管理器 → “文件” → “运行新任务” → 输入explorer.exe→ 勾选“以系统管理权限创建此任务” → 确定;
  • 永久修复:在rdpwrap.ini中添加:
    [Settings] AutoStartExplorer = 1 ; RDPWrap 会自动在新会话中启动 explorer
  • 或手动配置组策略(推荐):
    gpedit.msc→ 计算机配置 → 管理模板 → Windows 组件 → 远程桌面服务 → 远程桌面会话主机 → 会话 → “为远程桌面服务设置默认的 Windows Shell” → 启用 → Shell 路径填C:\Windows\Explorer.exe

提示:以上五条全是我在某高校实验室部署 12 台 Win11 测试机时踩过的坑,每一条都附带eventvwr.msc中对应的错误事件 ID(如 1000、7000、20001),可直接搜索定位。


5. 进阶验证:用 PowerShell 脚本自动化检测会话健康度与资源占用

5.1 构建会话级监控:不只是“能连”,更要“连得稳”

RDPWrap 的终极价值不在“能开第二个会话”,而在“第二个会话能否长期稳定运行”。我一般会部署一个轻量 PowerShell 脚本,每 5 分钟检查三项核心指标,并写入本地日志供回溯:

  1. 活跃会话数:quser命令解析输出,确认rdp-tcp#*会话数 ≥2;
  2. GDI 句柄占用率:通过Get-Process获取每个explorer.exe的GdiHandleCount,求和后对比阈值(>8000 触发告警);
  3. termsrv.dll Hook 状态:调用rdpwrap.exe -s并匹配fully supported字符串。

以下是可直接保存为C:\RDPCheck.ps1并加入计划任务的脚本:

# C:\RDPCheck.ps1 $LogPath = "C:\RDPCheck.log" $Now = Get-Date -Format "yyyy-MM-dd HH:mm:ss" $Status = & "C:\Program Files\RDPWrap\rdpwrap.exe" -s 2>&1 $QUser = quser 2>&1 | Select-String "rdp-tcp#" $Sessions = if ($QUser) { ($QUser -split "`n").Count } else { 0 } $GdiTotal = (Get-Process explorer -ErrorAction SilentlyContinue | ForEach-Object { $_.GdiHandleCount } | Measure-Object -Sum).Sum $GdiWarn = if ($GdiTotal -gt 8000) { "WARN: GDI handles $GdiTotal > 8000" } else { "OK" } $RdpStatus = if ($Status -match "fully supported") { "OK" } else { "FAIL" } $Line = "$Now | Sessions:$Sessions | GDI:$GdiTotal($GdiWarn) | RDP:$RdpStatus" Add-Content -Path $LogPath -Value $Line # 若任一指标异常,发送邮件(需配置SMTP) if ($Sessions -lt 2 -or $GdiWarn -like "WARN*" -or $RdpStatus -eq "FAIL") { $Body = "Alert from RDPCheck.ps1`n$Line" Send-MailMessage -SmtpServer "smtp.internal" -From "rdp@local" -To "admin@local" ` -Subject "RDP Health Alert" -Body $Body }

参数说明:quser是 Windows 内置命令,输出格式稳定(空格分隔),rdp-tcp#是远程会话标识;GdiHandleCount是 .NET Process 类暴露的原生 GDI 句柄数,比任务管理器 UI 更准确;2>&1将错误流重定向到标准输出,确保Select-String能捕获所有文本。

5.2 压力测试:模拟真实多用户并发,而非“连一下就断”

很多教程止步于“连通测试”,但真实场景是:两个用户同时打开 Chrome、VS Code、PowerShell,持续 8 小时。我用以下批处理模拟 3 个会话的混合负载(保存为C:\LoadTest.bat):

@echo off :: 启动三个独立的 PowerShell 窗口,每个运行不同负载 start powershell -Command "while(1){Get-Process chrome -ErrorAction SilentlyContinue | Out-Null; Start-Sleep -Seconds 30}" start powershell -Command "while(1){Get-Process code -ErrorAction SilentlyContinue | Out-Null; Start-Sleep -Seconds 45}" start powershell -Command "while(1){Get-Process powershell -ErrorAction SilentlyContinue | Out-Null; Start-Sleep -Seconds 60}" echo Load test started for 3 RDP sessions. timeout /t 28800 >nul :: 运行8小时 echo Load test completed.

运行前确保:

  • 已用不同账号登录三个 RDP 会话;
  • 每个会话中已启动 Chrome、VS Code、PowerShell;
  • C:\LoadTest.bat以管理员权限运行(避免 UAC 弹窗中断)。

逻辑说明:每个start powershell创建独立进程,while(1)循环不阻塞主线程;Get-Process是轻量探测,比ping更贴近真实资源占用;timeout /t 28800是 Windows 原生命令,精度足够,无需额外依赖。

5.3 故障快照:一键生成诊断包,告别“我说不清哪里坏了”

当远程用户报告“桌面卡了”,最高效的方式不是让他截图,而是让他运行一个诊断命令,自动生成包含 5 类关键信息的 ZIP 包:

# 保存为 C:\DiagPack.ps1 $ZipPath = "C:\RDP-Diag-$(Get-Date -Format 'yyyyMMdd-HHmmss').zip" $TempDir = New-Item -ItemType Directory -Path "C:\RDP-Diag-Temp" -Force # 1. RDPWrap 状态 & "C:\Program Files\RDPWrap\rdpwrap.exe" -s | Out-File "$TempDir\rdpwrap-status.txt" # 2. 当前会话列表 quser > "$TempDir\quser.txt" # 3. termsrv.dll 版本与哈希 (Get-Item "C:\Windows\System32\termsrv.dll").VersionInfo | Out-File "$TempDir\termsrv-version.txt" (Get-FileHash "C:\Windows\System32\termsrv.dll" -Algorithm SHA256).Hash | Out-File "$TempDir\termsrv-hash.txt" # 4. 最近 10 条 TermService 事件 Get-WinEvent -FilterHashtable @{LogName='System'; ID=7036,7040; ProviderName='TermService'} -MaxEvents 10 | Export-Clixml "$TempDir\term-service-events.xml" # 5. GDI 句柄TOP5进程 Get-Process | Sort-Object GdiHandleCount -Descending | Select-Object -First 5 Name,Id,GdiHandleCount | Export-Clixml "$TempDir\gdi-top5.xml" # 打包 Compress-Archive -Path "$TempDir\*" -DestinationPath $ZipPath Remove-Item $TempDir -Recurse Write-Host "Diagnostic package saved to $ZipPath"

运行此脚本后,你会得到一个带时间戳的 ZIP,解压后:

  • rdpwrap-status.txt告诉你 Hook 是否生效;
  • quser.txt显示谁在线、IDLE 时间、会话状态;
  • termsrv-hash.txt是版本指纹,可直接发给社区比对;
  • term-service-events.xml包含服务启停、错误事件(ID 7036=服务状态变更,7040=服务启动失败);
  • gdi-top5.xml指出哪个进程在疯狂吃 GDI 句柄(Chrome 和 Electron 应用是常客)。

从那以后我每次部署新机器,都强制走一遍DiagPack.ps1生成基线包,再跑LoadTest.bat压测 2 小时,最后用RDPCheck.ps1挂计划任务跑 72 小时。这套组合拳下来,RDPWrap 在某跨平台图像标注系统中连续稳定运行 11 个月,零意外中断。希望帮到你。

本文还有配套的精品资源,点击获取

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

永磁同步电机FOC矢量控制Simulink仿真实践指南

做电机控制的这些年&#xff0c;我最深的体会是&#xff1a; 永磁同步电机&#xff08;PMSM&#xff09;矢量控制 &#xff0c;光啃书本是远远不够的。课本上推导坐标变换、画框图&#xff0c;一套流程下来脑子里全是向量和矩阵&#xff0c;真到了动手调模型的时候&#xff0…

作者头像 李华
网站建设 2026/10/20 18:30:41

从PI到PR:并网逆变器单位功率因数控制的原理与调试

做并网逆变器控制的同行都清楚&#xff0c;所谓“单位功率因数”不是一句口号&#xff0c;它落到波形上就是入网电流和电网电压严格同频、同相&#xff0c;有功输出达到最大&#xff0c;而无功分量几乎为零。很多刚接触逆变器控制的朋友第一反应是&#xff1a;用PI把电流环做出…

作者头像 李华
网站建设 2026/10/20 18:30:02

YOLO26改进:MKIR多核卷积倒残差模块,轻量涨点新思路

YOLO26的改进方向最近讨论得挺多&#xff0c;但大多数都是套用现成的注意力模块或者替换Backbone&#xff0c;真正从卷积本身入手的方案反而少。这次分享的MKIR多核卷积倒残差模块&#xff0c;是我在模拟项目X上做涨点实验时验证过的一个思路&#xff0c;全称是Multi-Kernel In…

作者头像 李华
网站建设 2026/10/20 18:29:35

Agent状态机:把流程控制权从LLM交还给确定性引擎

1. 为什么“把决策权从LLM手里拿回来”不是一句口号&#xff0c;而是工程刚需“Embabel学习笔记&#xff1a;把Agent的决策权从LLM手里拿回来”——这个标题乍看像一句带点叛逆的技术宣言&#xff0c;但在我参与过的三个跨平台智能体项目里&#xff0c;它从来不是修辞&#xff…

作者头像 李华
网站建设 2026/10/20 18:29:04

3分钟AI资讯速览:多模态模型、边缘算力与向量数据库的近期动向

一早就被这套“AI资讯速览”圈粉了说实话&#xff0c;做技术的人每天最头疼的事&#xff0c;就是信息太碎。微信群里转一条模型发布的消息&#xff0c;朋友圈有人晒新工具&#xff0c;技术社区在讨论某个框架更新&#xff0c;等你好不容易都刷完&#xff0c;半天时间就没了。我…

作者头像 李华
网站建设 2026/10/20 18:28:44

SoapUI接口自动化测试实战:从核心概念到CI集成

接口自动化测试这几年基本成了团队里的标配&#xff0c;不管前端怎么换、后端怎么重构&#xff0c;接口层的回归测试始终是那道最稳定的防线。市面上做接口测试的工具一大堆&#xff0c;Postman、JMeter、RestAssured、Pytest……但我个人用得最顺手的&#xff0c;还是 SoapUI。…

作者头像 李华