news 2026/9/7 12:49:23

Win11鼠标指针失效?用Python自制修复工具,一键备份应用打包exe

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Win11鼠标指针失效?用Python自制修复工具,一键备份应用打包exe

Win11 更新后鼠标指针失效,相信不少朋友都遇到过。默认图标看着还行,一旦换成第三方光标,系统更新一次就给你“打回原形”;有时候自定义光标后鼠标直接看不见,或者卡成白色方块。网上教程要么教手动改注册表,要么只有零散讨论,今天我就把整个修复和自制小工具的思路完整整理一遍。

文章从 Win11 鼠标指针 bug 的成因讲起,接着给出一个用 Python 实现的“备份 + 修复 + 应用 + 重启资源管理器”全家桶小工具,最后用 PyInstaller 打包成 exe。整个过程都有代码可复制,适合想动手修复系统的开发者,也适合想学习 Python 桌面小工具 + exe 打包的同学。

1. 背景:Win11 鼠标指针 bug 到底是什么

1.1 问题的典型表现

在 Windows 11 上,自定义鼠标指针后经常会遇到下面几种情况:

  • 通过“设置 - 个性化 - 主题 - 鼠标光标”手动选择了一组光标,当时生效了,但重启电脑后又变回默认风格。
  • 系统更新完成后,自定义光标全部失效,连之前导入的第三方指针方案也不见了。
  • 使用某些 .ani 动态光标时,鼠标指针在部分软件内闪烁、变白,或者直接消失。
  • 换了新鼠标或连接了远程桌面后,光标指针变成小块、锯齿明显,甚至出现“残影”。

这些问题在较新的 Win11 版本上仍然会出现,并不是个例。网上搜索“Win11 鼠标指针 bug”“自定义光标无效”“光标重启还原”,能看到大量同类反馈。

1.2 为什么会发生

Windows 的光标设置表面上在“个性化”界面里修改,实际底层数据保存在注册表中:

HKEY_CURRENT_USER\Control Panel\Cursors

这个注册表项里保存了箭头、帮助、后台运行、忙、十字、文本选择、手型等各个状态对应的光标文件路径。系统重启时,会读取这份配置并加载到 explorer.exe 进程里。

Bug 通常出在这几个环节:

  • 注册表里记录的光标文件路径已经失效。比如文件被删、被换文件夹、盘符变化,系统找不到文件就自动回退到默认光标。
  • Win11 系统更新后重置了主题相关注册表项,第三方光标方案被覆盖。
  • 使用了过旧的 .cur / .ani 文件,格式兼容性不好,资源管理器加载失败。
  • 图标缓存和缩略图缓存损坏,导致光标库没有重新加载,表现为光标不刷新。

1.3 为什么需要一个小工具

手动修复其实也能做,但步骤很零散:要打开注册表编辑器、要重新指定每个光标路径、要重启资源管理器,还要先备份注册表防止改错。一旦中间一步出错,可能越改越乱。

所以更稳妥的做法是写一个小工具,把下面几件事合并成一个按钮:

  1. 备份当前光标配置。
  2. 检查注册表里的光标路径是否存在。
  3. 一键应用指定文件夹中的自定义光标。
  4. 自动重启 explorer.exe 让配置立即生效。
  5. 打包成 exe,以后双击就能用,不用装 Python 环境。

这样既能解决 Win11 鼠标指针 bug,也能作为学习 Python 注册表操作、GUI 开发、exe 打包的入门案例。

2. 环境准备与版本说明

2.1 系统环境

本文示例以 Windows 11 为例,代码主要使用 Windows 内置的winreg模块和系统命令,不同 Win11 小版本之间基本通用。

需要注意,如果你的系统是 Win10 或更早的版本,注册表路径没有本质变化,但“设置 - 个性化”里的入口位置会不同。代码逻辑可以直接复用。

2.2 开发语言与打包工具

  • Python 3.9 或更高版本。
  • 不需要额外安装第三方库,本文只使用标准库:tkinterwinregsubprocessostimeshutil
  • 打包工具使用 PyInstaller。

版本需要根据你的项目实际情况调整,本文示例以常见环境为例,重点演示配置思路。

2.3 项目目录

建议先创建如下结构:

cursor_fix_tool/ ├── cursor_tool.py └── build_notes.md

cursor_tool.py是完整源码,build_notes.md用来记录打包命令和常见问题。

3. 自定义鼠标光标的核心知识点

3.1 光标文件格式 .cur 与 .ani

Windows 光标文件主要有两种格式:

  • .cur:静态光标,本质是一张带热点的图标图像。
  • .ani:动态光标,包含多帧画面,可以实现动画效果。

第三方光标主题一般会同时提供这两种格式。当我们说“自定义鼠标光标”时,实际上是给鼠标的每一种状态指定一个对应的光标文件。

常见状态和注册表值名对应关系如下:

鼠标状态注册表值名常见文件(示例)
正常选择Arrowaero_arrow.cur
帮助选择Helpaero_help.cur
后台运行AppStartingaero_working.ani
Waitaero_busy.ani
精度选择Crosshairaero_cross.cur
文本选择IBeamaero_ibeam.cur
手写NWPenaero_pen.cur
不可用Noaero_unavail.cur
对角线调整 1SizeNWSEaero_ew.cur
对角线调整 2SizeNESWaero_ns.cur
水平调整SizeWEaero_ew.cur
垂直调整SizeNSaero_ns.cur
移动SizeAllaero_move.cur
链接选择Handaero_link.cur

不同主题的文件命名不一定相同,但注册表值名是固定的。

3.2 Windows 鼠标指针方案的存储位置

打开注册表编辑器,定位到:

HKEY_CURRENT_USER\Control Panel\Cursors

你会看到右侧有很多值,包括(默认)ArrowHelpAppStartingWaitCrosshairIBeamNoSizeNSSizeWESizeNWSESizeNESWSizeAllUpArrowHand等。

(默认)值记录的是当前指针方案的名称。其他值记录的是各个状态对应的光标文件完整路径,通常以%SystemRoot%\cursors\开头,也可能是自定义路径。

系统加载顺序是:

注册表读取 -> 文件路径校验 -> explorer.exe 加载 -> 显示到界面

只要其中一个环节出问题,光标就会出现异常。

3.3 手动修改的局限

在“设置”界面里修改光标时,系统只允许你从已存在的光标文件中选择,并且修改后不会告诉你哪些路径已经失效。手动改注册表虽然灵活,但风险更高:

  • 拼错路径后系统无法加载,只能回退默认。
  • 没有备份,改坏后想恢复全靠记忆。
  • 修改后不重启资源管理器,光标不刷新。

这也是小工具的价值所在:把校验、备份、应用、刷新集成到一起。

4. 小工具的功能设计

4.1 功能清单

这个小工具包含下面几个模块:

  1. 备份模块:导出当前Cursors注册表项到文件。
  2. 检查修复模块:遍历注册表中的光标路径,找出失效并修复。
  3. 应用模块:从文件夹读取一组光标文件,自动写入注册表。
  4. 刷新模块:重启资源管理器,让配置立即生效。
  5. 日志模块:在界面中实时显示操作结果。

4.2 关键模块拆解

核心难点在于注册表的读写。Python 标准库winreg提供了完整的操作能力:

  • OpenKey:打开注册表项。
  • EnumValue:枚举项下的所有值。
  • QueryInfoKey:获取子项数量和值数量。
  • SetValueEx:写入或修改值。
  • CloseKey:关闭句柄。

再结合subprocess调用系统命令,就能完成备份和重启资源管理器的操作。

5. 完整实战:开发并打包 exe 小工具

下面进入核心部分,我们一步步写代码。

5.1 注册表备份模块

修改注册表前,必须备份。这里直接调用 Windows 自带的reg export命令,把当前光标配置导出成.reg文件。

import os import time import subprocess BACKUP_DIR = os.path.join(os.environ["USERPROFILE"], ".cursor_fix_backups") CURSOR_REG_KEY = r"Control Panel\Cursors" def backup_cursor_settings(): """ 导出当前鼠标指针注册表配置。 返回备份文件路径,失败返回 None。 """ os.makedirs(BACKUP_DIR, exist_ok=True) timestamp = time.strftime("%Y%m%d_%H%M%S") backup_file = os.path.join(BACKUP_DIR, f"cursor_backup_{timestamp}.reg") cmd = [ "reg", "export", f"HKEY_CURRENT_USER\\{CURSOR_REG_KEY}", backup_file, "/y" ] result = subprocess.run(cmd, capture_output=True, text=True) if result.returncode == 0 and os.path.exists(backup_file): return backup_file return None
  • 备份文件保存在用户目录下的.cursor_fix_backups文件夹,不影响系统。
  • 文件名带时间戳,方便保留多个版本的历史备份。
  • 使用subprocess.run而不是os.system,可以捕获错误输出,更适合 GUI 中显示日志。
  • 如果系统提示“操作成功完成”,说明导出成功。

5.2 检查并修复失效的光标路径

这部分是修复 Win11 鼠标指针 bug 的核心逻辑:读取注册表 -> 展开环境变量 -> 判断文件是否存在 -> 不存在则重置为系统默认光标。

import winreg def fix_invalid_cursor_paths(): """ 检查注册表中的鼠标指针路径是否有效。 如果文件不存在,将该状态重置为系统默认光标。 返回修复列表 [(值名, 旧值, 新值)]。 """ missing_items = [] try: key = winreg.OpenKey( winreg.HKEY_CURRENT_USER, CURSOR_REG_KEY, 0, winreg.KEY_READ ) count = winreg.QueryInfoKey(key)[1] for i in range(count): try: name, value, value_type = winreg.EnumValue(key, i) except OSError: continue # 默认值、空值、非字符串值直接跳过 if name == "" or not isinstance(value, str) or value == "": continue expanded = os.path.expandvars(value) if not os.path.exists(expanded): missing_items.append((name, value, value_type)) winreg.CloseKey(key) except FileNotFoundError: return None fixed = [] if missing_items: try: key = winreg.OpenKey( winreg.HKEY_CURRENT_USER, CURSOR_REG_KEY, 0, winreg.KEY_WRITE ) for name, old_value, value_type in missing_items: default_value = r"%SystemRoot%\cursors\aero_arrow.cur" winreg.SetValueEx(key, name, 0, value_type, default_value) fixed.append((name, old_value, default_value)) winreg.CloseKey(key) except PermissionError: return "permission_error" return fixed

这段代码要注意几点:

  • 先把所有失效项收集到missing_items,最后一起修改,避免一边枚举一边写入导致索引错乱。
  • os.path.expandvars会把%SystemRoot%%USERPROFILE%这样的环境变量展开成真实路径。
  • 如果用户自定义路径带中文、空格,os.path.exists也能正常判断。
  • 重置为aero_arrow.cur只是保底方案。修复后用户可以重新在系统设置里选择自己喜欢的主题。

5.3 应用文件夹中的自定义光标

假设你下载了一组光标文件,文件名规范,例如Arrow.curWait.aniHand.cur。这个函数会扫描文件夹,自动匹配文件名并写入注册表。

CURSOR_MAP = { "arrow": "Arrow", "help": "Help", "appstarting": "AppStarting", "wait": "Wait", "crosshair": "Crosshair", "ibeam": "IBeam", "nwpen": "NWPen", "no": "No", "sizenwse": "SizeNWSE", "sizenesw": "SizeNESW", "sizewe": "SizeWE", "sizens": "SizeNS", "sizeall": "SizeAll", "uparrow": "UpArrow", "hand": "Hand", "person": "Person", "pin": "Pin", "workinginbackground": "WorkingInBackground", } def apply_cursor_folder(folder_path): """ 扫描文件夹中的 .cur / .ani 文件, 按照文件名映射到注册表对应状态。 返回成功写入的数量。 """ if not os.path.isdir(folder_path): return 0 applied = 0 for file_name in os.listdir(folder_path): stem, ext = os.path.splitext(file_name) ext = ext.lower() if ext not in (".cur", ".ani"): continue reg_value = CURSOR_MAP.get(stem.lower()) if reg_value is None: continue full_path = os.path.join(folder_path, file_name) try: key = winreg.OpenKey( winreg.HKEY_CURRENT_USER, CURSOR_REG_KEY, 0, winreg.KEY_WRITE ) winreg.SetValueEx( key, reg_value, 0, winreg.REG_EXPAND_SZ, full_path ) winreg.CloseKey(key) applied += 1 except PermissionError: return -1 except OSError: continue return applied

这里使用REG_EXPAND_SZ类型,因为路径里可能包含环境变量。如果你传入的是绝对路径,也可以使用REG_SZ,但统一用REG_EXPAND_SZ兼容性更好。

一个小建议:下载第三方光标时,先检查文件命名是否和上面的映射表一致。如果不一致,可以手动改成Arrow.curWait.ani这样的名字。

5.4 重启资源管理器模块

注册表修改完成后,需要重启explorer.exe才会生效。直接结束资源管理器会影响任务栏和窗口管理,但几秒后会自动重新启动,是安全操作。

import time import subprocess def restart_explorer(): """ 重启 Windows 资源管理器。 """ subprocess.run(["taskkill", "/f", "/im", "explorer.exe"], capture_output=True) time.sleep(1.5) subprocess.Popen(["explorer.exe"])

注意:

  • taskkill会强制结束所有explorer.exe进程,请先保存其他窗口中的重要内容。
  • 重启后桌面图标位置可能会暂时重新排列,这是正常现象。
  • 如果你的机器上同时运行着多个 explorer 实例,这个方法也能全部重启。

5.5 图形界面主程序

为了让工具更好用,我用tkinter写一个简单的窗口界面。

import tkinter as tk from tkinter import ttk, messagebox, filedialog class CursorFixToolApp: def __init__(self, root): self.root = root self.root.title("Win11 鼠标指针修复小工具") self.root.geometry("560x460") self.root.resizable(False, False) self.create_widgets() def create_widgets(self): tip = tk.Label( self.root, text="修复 Win11 鼠标指针 bug,支持备份、修复、应用自定义光标", anchor="w", padx=12, pady=8 ) tip.pack(fill="x") btn_frame = tk.Frame(self.root) btn_frame.pack(pady=8) tk.Button( btn_frame, text="1. 备份当前设置", width=20, command=self.do_backup ).grid(row=0, column=0, padx=5, pady=5) tk.Button( btn_frame, text="2. 检查并修复失效路径", width=20, command=self.do_fix ).grid(row=0, column=1, padx=5, pady=5) tk.Button( btn_frame, text="3. 应用文件夹中的光标", width=20, command=self.do_apply ).grid(row=1, column=0, padx=5, pady=5) tk.Button( btn_frame, text="4. 重启资源管理器", width=20, command=self.do_restart ).grid(row=1, column=1, padx=5, pady=5) self.log_text = tk.Text(self.root, height=18, state="disabled") self.log_text.pack(fill="both", expand=True, padx=12, pady=8) def log(self, message): self.log_text.configure(state="normal") self.log_text.insert("end", message + "\n") self.log_text.see("end") self.log_text.configure(state="disabled") def do_backup(self): result = backup_cursor_settings() if result: self.log(f"[备份成功] 文件位置:{result}") else: self.log("[备份失败] 请确认系统 reg 命令可用") def do_fix(self): fixed = fix_invalid_cursor_paths() if fixed is None: self.log("[检查完成] 未找到光标注册表项") elif fixed == "permission_error": self.log("[修复失败] 权限不足,请以管理员身份运行") elif len(fixed) == 0: self.log("[检查完成] 所有光标路径均有效") else: for name, old, new in fixed: self.log(f"[修复] {name}: {old} -> {new}") def do_apply(self): folder = filedialog.askdirectory(title="选择自定义光标文件夹") if not folder: return applied = apply_cursor_folder(folder) if applied == -1: self.log("[应用失败] 权限不足,请以管理员身份运行") elif applied == 0: self.log("[应用失败] 文件夹中没有匹配到可用光标文件") else: self.log(f"[应用成功] 已写入 {applied} 个光标设置,请重启资源管理器") def do_restart(self): if messagebox.askyesno("确认", "即将重启资源管理器,未保存的文件请先保存。是否继续?"): restart_explorer() self.log("[重启完成] 资源管理器已重启,光标设置已刷新") if __name__ == "__main__": root = tk.Tk() app = CursorFixToolApp(root) root.mainloop()

5.6 用 PyInstaller 打包成 exe

代码写完,在本地直接运行python cursor_tool.py就能打开窗口。接下来把它打包成 exe。

先安装 PyInstaller:

pip install pyinstaller

然后进入源码目录执行打包命令:

pyinstaller -F -w -i cursor.ico cursor_tool.py

参数说明:

  • -F:打包成单文件 exe,方便分发。
  • -w:不显示控制台窗口,因为工具是 GUI 程序。
  • -i cursor.ico:指定 exe 图标,可选,但推荐加上。
  • cursor_tool.py:入口文件。

打包完成后,exe 位于dist目录下:

cursor_fix_tool/ ├── build/ ├── dist/ │ └── cursor_tool.exe ├── cursor_tool.py └── cursor_tool.spec

build/是中间目录,cursor_tool.spec是 PyInstaller 的配置文件,后续要调整打包参数时可以直接改 spec 文件,再执行pyinstaller cursor_tool.spec

5.7 运行验证

双击cursor_tool.exe,会看到图形界面。建议按顺序执行:

  1. 点击“备份当前设置”,确认备份文件生成。
  2. 点击“检查并修复失效路径”,观察日志输出。
  3. 准备一个包含规范命名光标文件的文件夹,点击“应用文件夹中的光标”。
  4. 点击“重启资源管理器”,等待桌面刷新。

如果工具在较新的 Win11 版本上运行时提示权限不足,可以右键 exe,选择“以管理员身份运行”。虽然HKEY_CURRENT_USER通常不需要管理员权限,但部分系统策略会限制外部程序的写入。

6. 常见问题与排查思路

这一节整理常见的异常现象和解决方案,方便读者直接对照排查。

问题现象常见原因解决思路
设置自定义光标后重启电脑,光标恢复默认光标文件路径失效或系统更新覆盖设置先备份,再检查路径是否有效,必要时重新应用
自定义光标在部分软件内闪烁或不可见使用了损坏的 .ani 文件或分辨率异常的光标换用官方标准光标测试,确认不是文件本身问题
点击“检查修复”后所有路径都显示有效,但光标仍然异常图标缓存损坏或资源管理器未刷新重启资源管理器,或使用系统“疑难解答”重置图标缓存
打包后的 exe 运行被杀毒软件拦截无数字签名,行为特征被误判添加版本信息,尝试代码签名,或将 exe 加白名单
PyInstaller 打包后的 exe 体积过大默认包含完整 Python 运行时和 tkinter使用虚拟环境精简依赖,考虑使用 UPX 压缩
工具提示权限不足系统 UAC 策略限制写入操作右键“以管理员身份运行”
双击 exe 没有反应缺少 Visual C++ 运行库或杀毒软件拦截安装系统运行库,关闭实时保护后重试
把光标文件放在中文路径下,修复后仍然失效某些程序不支持非 ASCII 路径尽量把光标文件放在纯英文路径中

如果你遇到“系统在此应用程序中检测到基于堆栈的缓冲区溢出”这类报错,大概率不是光标工具本身的问题,而是系统中某个驱动或软件与 Win11 版本不兼容。可以先更新显卡驱动、主板芯片组驱动,再测试光标是否恢复正常。

还有一个容易被忽略的坑:Win11 右键菜单和资源管理器的渲染方式与 Win10 不同,部分第三方光标主题只针对旧版资源管理器做了适配。如果应用后右键菜单上的光标异常,可以临时切回系统默认光标做对比测试。

7. 最佳实践与工程建议

这个小工具虽然功能简单,但涉及注册表操作和系统进程管理,实际使用时有几点建议:

7.1 始终保留备份

注册表是 Windows 的核心配置之一。无论修复还是自定义,都建议先点“备份当前设置”。备份文件是.reg格式,双击即可导入还原,非常方便。

7.2 只改 HKCU,不碰 HKLM

鼠标指针属于用户级设置,默认存储在HKEY_CURRENT_USER。不要为了“让所有用户生效”而修改HKEY_LOCAL_MACHINE下的对应项,那样风险更高,而且可能触发系统权限问题。

7.3 做好异常处理和日志

在生产环境或日常工作机中使用小工具时,日志是排错的第一手段。本文的 GUI 示例已经把日志输出到了文本框,后续可以扩展为同时写日志文件:

def log(self, message): self.log_text.configure(state="normal") self.log_text.insert("end", message + "\n") self.log_text.see("end") self.log_text.configure(state="disabled") with open("cursor_tool.log", "a", encoding="utf-8") as f: f.write(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] {message}\n")

这样即使程序闪退,也能从日志中定位问题。

7.4 打包后再测试,别只跑源码

PyInstaller 打包后的运行环境和源码直接运行略有不同。比如路径解析、资源文件打包、杀毒软件校验等。建议打包后在至少一台“没有安装 Python 的干净 Windows 11”机器上测试一次,确保 exe 能独立运行。

7.5 注意第三光标文件的来源安全

网上有很多第三方光标主题,下载时要确认来源可靠,避免携带恶意脚本或捆绑软件。使用前最好用杀毒软件扫描一次,并只把需要的.cur/.ani文件复制到本地文件夹中应用。

7.6 不要频繁重启资源管理器

重启 explorer.exe 会重置任务栏和桌面布局,虽然影响不大,但频繁操作会影响体验。建议在修改完所有光标设置后再统一重启一次,而不是改一个值就重启一次。

8. 总结与下一步

这篇教程围绕 Win11 鼠标指针 bug 展开,从系统层面的注册表原理讲起,实现了“备份、检查修复、应用自定义光标、重启资源管理器”四个核心功能,并用 PyInstaller 打包成了 exe。如果你只是普通用户,可以直接运行打包好的工具,点几个按钮就能完成修复;如果你是开发者,可以进一步扩展功能,比如增加.reg文件导入导出、光标主题预览、多方案切换等。

下一步可以继续学习这几个方向:

  • Python 的winreg模块更多用法,比如操作其他注册表项。
  • tkinter界面优化,制作更漂亮的光标预览面板。
  • PyInstaller 高级配置,比如添加版本资源、自定义图标、多文件打包。
  • 看看你是否需要把 Python 小工具自动加入 Windows 开机启动,这样每次系统更新后可以自动恢复光标主题。

Win11 鼠标指针 bug 虽然烦人,但只要理解了配置存储位置和加载流程,解决思路就很清晰。希望本文的中途踩坑记录和完整代码能帮你省下一些时间,也欢迎动手改造成适合自己使用习惯的版本。如果思路对你有帮助,可以收藏备用,下次系统更新后说不定就能用上。

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

多云资源统一纳管平台选型指南:从失控根源到落地闭环

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/7 12:47:42

BusyBox原理与嵌入式Linux根文件系统构建实战

干嵌入式Linux这一行的,谁还没跟BusyBox打过交道呢?路由器、机顶盒、工业控制板、智能家居网关,包括你手里那台不起眼的开发板,十有八九的根文件系统里都藏着这个几MB的小东西。很多人叫它“瑞士军刀”,我觉得还不够准…

作者头像 李华
网站建设 2026/9/7 12:46:17

Python嵌入式开发实战:从MicroPython到ESP32节点跑通

聊到 Python 和嵌入式,我最常被问到的问题就是:“我能不能把 Python 直接烧进单片机里跑?”每次我都要反问一句:你先告诉我,你说的嵌入式,是 8 位单片机裸机,还是跑 Linux 的板卡?如…

作者头像 李华
网站建设 2026/9/7 12:45:34

40个生产级行业数据模型落地指南:从表结构到数据质量

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/7 12:43:46

生产级行业数据模型落地评估:从建模到生产环境的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/7 12:40:59

Hermes Agent Windows 本地部署全指南:从环境检查到模型接入与排错

在实际使用 AI Agent 时,很多人第一步遇到的往往不是提示词写不好,而是工具装不起来、模型连不上、Agent 跑不起来。Hermes Agent 是一个支持本地部署的 AI 智能体运行工具,围绕它的安装、配置和对接问题,社区里已经积累了大量讨论…

作者头像 李华