一、准备工作
1. 确认显卡型号与系统信息
- 方法 1(设备管理器):
- 按
Win+X→ 选择 设备管理器 - 展开 显示适配器,记下显卡全称(如 NVIDIA GeForce RTX 4060、AMD Radeon RX 7900 XT、Intel UHD Graphics 770)
- 按
- 方法 2(DirectX 诊断):
- 按
Win+R→ 输入dxdiag→ 回车 - 切换到 显示 选项卡,查看显卡名称与系统版本
- 按
- 确认系统:Windows 10 64 位(主流)/32 位
2. 关闭干扰(推荐)
- 关闭所有游戏、视频、直播软件
- 临时关闭杀毒 / 防火墙(避免拦截安装)
- 备份重要文件(以防异常)
二、安装显卡驱动
下载 NVIDIA vGPU 驱动
访问 NVIDIA 官方驱动下载网站。
安装完成之后重启机器
PowerShell查看
powershell
nvidia-smi
powershell
PS C:\Users\win> nvidia-smi
Wed Mar 18 15:14:33 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 582.16 Driver Version: 582.16 CUDA Version: 13.0 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Driver-Model | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Tesla T4 TCC | 00000000:00:0B.0 Off | 0 |
| N/A 47C P8 10W / 70W | 9MiB / 15360MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
下载CUDA工具包
CUDA Toolkit 13.2 Downloads | NVIDIA Developer
验证
powershell
nvcc --version
一站式硬件信息汇总
powershell
# 硬件信息汇总脚本
Write-Host "===== 系统硬件信息汇总 =====" -ForegroundColor Cyan
# 1. CPU信息
$cpu = Get-CimInstance Win32_Processor
Write-Host "`n【CPU信息】" -ForegroundColor Yellow
Write-Host "型号:" $cpu.Name
Write-Host "核心数/线程数:" $cpu.NumberOfCores "/" $cpu.NumberOfLogicalProcessors
# 2. 内存信息
$memTotal = (Get-CimInstance Win32_PhysicalMemory | Measure-Object Capacity -Sum).Sum / 1GB
$memFree = (Get-CimInstance Win32_OperatingSystem).FreePhysicalMemory / 1MB
Write-Host "`n【内存信息】" -ForegroundColor Yellow
Write-Host "总内存:" $memTotal.ToString("0.00") "GB"
Write-Host "可用内存:" $memFree.ToString("0.00") "GB"
# 3. 显卡信息
$gpu = Get-CimInstance Win32_VideoController
Write-Host "`n【显卡信息】" -ForegroundColor Yellow
foreach ($g in $gpu) {
Write-Host "显卡名称:" $g.Name
Write-Host "驱动版本:" $g.DriverVersion
}
# 4. 磁盘信息
$disks = Get-CimInstance Win32_LogicalDisk -Filter "DriveType=3"
Write-Host "`n【磁盘信息】" -ForegroundColor Yellow
foreach ($d in $disks) {
Write-Host $d.DeviceID ":总容量" ($d.Size/1GB).ToString("0.00") "GB,可用" ($d.FreeSpace/1GB).ToString("0.00") "GB"
}
三、安装ollama
下载ollama:在 Windows 上下载 Ollama - Ollama 框架
Windows 版的安装非常简单,几乎是"傻瓜式"的,但有一个细节需要注意。
1.双击运行下载好的 ollama.exe。
2.点击 Install。软件默认会安装到 C:\Users\你的用户名\AppData\Local\Programs\Ollama。
- 注意:目前官方安装包暂不支持在 GUI 界面选择安装路径(这是很多人的槽点),但不用担心,安装并不大,占用空间的是模型文件,我们后面可以通过环境变量修改模型路径。
3.安装完成后,Ollama 会自动在后台静默运行,并在任务栏右下角出现一个小羊驼图标。
验证安装
打开 CMD (命令提示符) 或 PowerShell,输入以下命令:
powershell
ollama --version
ollama version is 0.18.1
更换模型存储位置
默认情况下,Ollama 会把下载的动辄几十 GB 的模型文件存放在 C:\Users\你的用户名.ollama\models。对于 C 盘只有 100G 的用户来说,拉两个模型 C 盘就红了。
步骤如下:
关闭 Ollama: 在任务栏右下角右键点击 Ollama 图标,选择 Quit Ollama(必须彻底退出,否则配置不生效)。
打开环境变量设置:
右键"此电脑" -> 属性 -> 高级系统设置 -> 环境变量。/打开设置 → 系统 → 关于 → 高级系统设置 → 环境变量;
新建系统变量:
在"系统变量"区域(不是用户变量),点击"新建"。在「用户变量」区域(仅对当前用户生效),点击「新建」;
变量名: OLLAMA_MODELS OLLAMA_MODELS(必须大写)
变量值: D:\AI_Models (这里填写你想存放模型的非系统盘路径)。
重启服务:
重新双击 Ollama 启动程序。
验证:以后下载的模型就会自动存入 D 盘了,再也不用担心 C 盘爆红。
ollama一键重启
powershell
# ========== 第一步:强制终止 Ollama 进程(PowerShell 原生语法) ==========
try {
Stop-Process -Name ollama -Force -ErrorAction SilentlyContinue
} catch {
Write-Host "Ollama 进程未运行,无需终止" -ForegroundColor Green
}
# ========== 第二步:后台启动 Ollama 服务 ==========
Start-Process -NoNewWindow -FilePath "ollama" -ArgumentList "serve" -RedirectStandardOutput "$env:TEMP\ollama.log" -RedirectStandardError "$env:TEMP\ollama_error.log"
# ========== 第三步:验证服务是否启动 ==========
Start-Sleep -Seconds 2 # 等待2秒加载
Write-Host "`n验证 Ollama 服务状态:" -ForegroundColor Cyan
ollama list
拉取模型
在 CMD (命令提示符) 或 PowerShell,输入以下命令:
ollama pull qwen3.5:9b
会有存在ollama模型拉取不下的问题,解决方法:
打开环境变量设置:
- 按
Win+R→ 输入sysdm.cpl→ 回车 → 切换到「高级」→ 「环境变量」。
新建系统环境变量:
- 在「系统变量」下点击「新建」:
- 变量名:
OLLAMA_HOST - 变量值:
0.0.0.0(允许本地访问)
- 变量名:
- 关键:新建镜像源变量:
- 变量名:
OLLAMA_REGISTRY - 变量值:
https://mirror.baai.ac.cn/ollama(百川智能国内镜像)
- 变量名:
- 配置强制使用gpu :变量名 :
OLLAMA_GPU_LAYER变量值 :cuda(NVIDIA)或directml(AMD/Intel),强制指定 GPU 设备(多 GPU 时): 变量名 :CUDA_VISIBLE_DEVICES变量值 :0(使用第一个 GPU) - 指定 Ollama 仅 GPU 0(通过nvidia-smi查看编号)变量名 : CUDA_VISIBLE_DEVICES 变量值:0 (变量值也可以配置为显卡的UUID nvidia-smi -L查询)
重启 Ollama 服务即可拉取
powershell
PS C:\Users\win> ollama pull qwen3.5:9b
pulling manifest
pulling dec52a44569a: 32% ▕██████████████████ ▏ 2.1 GB/6.6 GB 28 MB/s 2m40s

验证ollama
powershell
# 1. 查看 Ollama 版本
ollama --version
# 2. 查看已下载模型
ollama list
# 3. 测试 API 端口(11434)
curl http://localhost:11434/api/tags
# 4. 运行模型
ollama run qwen3.5:9b
四、安装openclaw
PowerShell 执行策略限制了 .ps1 脚本的运行,执行以下命令,输入 A 确认:
powershell
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine
自动安装
powershell
curl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd --tag beta && del install.cmd
powershell
iwr -useb https://openclaw.ai/install.ps1 | iex
手动安装
OpenClaw 依赖Git 与**Node.js**运行,先装好这两个基础环境。
安装 Git下载地址:https://git-scm.cn/install/windows
安装要点:全程默认下一步,无需修改配置。
安装 Node.js 下载地址:https://nodejs.org/
或者
下载https://github.com/coreybutler/nvm-windows/releases/download/1.2.2/nvm-setup.exe
安装过程一路 Next 即可。安装成功后建议你用 管理员权限打开 PowerShell:
-
按 Win 键 + S
-
搜索 PowerShell
-
鼠标右键 → 以管理员身份运行
powershell
# 验证 NVM 命令
nvm version
# 安装 Node.js 24.14.0
nvm install 24.14.0
# 切换版本
nvm use 24.14.0
# 验证
node -v # 输出 v24.14.0
安装要点:选择LTS 稳定版 ,默认安装,自动配置环境变量。
OpenClaw 要求 Node.js 版本必须 ≥ 22
验证环境以管理员身份打开 CMD,输入:
powershell
git --version
node -v
npm -v
出现版本号即环境正常。
安装pnpm
powershell
npm install -g pnpm
pnpm --version
pnpm setup
关闭powershell重新打开
安装
powershell
# 全局安装 OpenClaw
pnpm add -g openclaw@latest
验证安装
powershell
openclaw --version
五、初始化opencalw
bash
# 1. 启动配置向导(自动安装守护进程,无需额外参数)
openclaw onboard --install-daemon
# 2. 检查环境是否正常(排查配置/依赖问题)
openclaw doctor
# 3. 启动 OpenClaw 网关(指定端口,方便访问)
openclaw gateway --port 18789 --verbose
# 4. 启动 Openclaw
openclaw gateway start
配置向导内容解释以及选择(基于本地部署ollama)
1:
powershell
I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?
│ ○ Yes / ● No
🛡️我理解 OpenClaw 默认是个人使用场景 配置,若用于共享 / 多用户环境,必须先做安全加固。是否继续?
OpenClaw 是一个带工具调用能力的 AI 代理,默认设计为单人可信操作:
- 只有你一个人能和它交互、触发命令 / 文件操作
- 一旦变成多用户 / 共享场景(比如多人通过飞书 / 网页访问同一个实例),所有用户会共享同一套工具权限
- 恶意用户可能通过构造危险 Prompt,诱导代理执行删库、泄露密钥等不安全操作
| 选项 | 含义 | 适用场景 | 风险提示 |
|---|---|---|---|
| Yes | 确认接受默认配置,继续启动 OpenClaw | 你是唯一使用者(个人服务器 / 本地环境),不会让其他人直接访问这个代理实例 | 仅适合个人使用,多用户场景必须额外做安全加固 |
| No | 拒绝当前配置,中止启动 | 你计划将 OpenClaw 用于共享 / 多用户环境,或对安全风险不确定 | 避免在未做安全加固的情况下暴露到多用户场景 |
选择:选择Yes 键盘方向←回车确认
2:
powershell
◆ Onboarding mode
│ ● QuickStart (Configure details later via openclaw configure.)
│ ○ Manual
🚀这是 OpenClaw 首次启动时的初始化配置模式选择,用来决定你后续的配置流程。
| 选项 | 含义 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|---|
| QuickStart(快速启动) | 自动生成一套最小可用配置 ,跳过复杂的手动设置,后续可以用 openclaw configure 命令精细调整 |
✅ 个人快速体验✅ 不想一开始就纠结复杂配置✅ 先跑起来再优化 | 启动极快,一键完成基础配置,马上能用 | 配置是通用模板,需要后续手动调整细节 |
| Manual(手动配置) | 引导你一步步填写所有核心配置项(如模型接入、工具权限、消息平台等) | ✅ 生产环境部署✅ 多用户 / 共享场景✅ 需要严格控制权限和安全 | 配置精准,一次到位,适合长期稳定运行 | 步骤繁琐,需要提前准备好各类接入信息 |
-
QuickStart 后续调整:
括号里的提示
powershell(Configure details later via openclaw configure..)意思是:
快速启动后,你随时可以在终端里运行
powershellopenclaw configure命令,重新打开配置向导,修改模型、工具、平台等所有细节。
-
Manual 配置内容:
手动模式会引导你完成:
- 选择大模型(如 Ollama、OpenAI 等)
- 配置工具权限(文件操作、系统命令等)
- 对接消息平台(如飞书、Discord、Slack)
- 安全与访问控制(白名单、权限隔离)
选择:我选择的是 QuickStart
3:
powershell
◆ Config handling
│ ● Use existing values
│ ○ Update values
│ ○ Reset
这是 OpenClaw 在启动或重新配置时,对已有配置文件的处理方式选择。
| 选项 | 含义 | 适用场景 |
|---|---|---|
| Use existing values(使用现有值) | 直接加载当前已保存的配置文件,不做任何修改,直接启动或继续流程 | ✅ 配置已完成且无需调整✅ 快速重启服务✅ 确认配置无误后复用 |
| Update values(更新值) | 进入配置向导,保留已有配置项,仅允许修改你指定的部分 | ✅ 微调配置(如更换模型、修改工具权限)✅ 不想重新填写全部内容✅ 增量修改 |
| Reset(重置) | 清空所有现有配置,恢复到初始状态,重新走完整配置流程 | ✅ 配置混乱 / 出错✅ 想从零开始重新部署✅ 切换到全新使用场景 |
- 日常启动 / 无需改配置 :保持 Use existing values,最快启动服务。
- 需要微调参数 :切换到 Update values,只改你需要的部分,避免重复操作。
- 配置彻底失效 / 想重来 :选择 Reset,清空后重新配置。
我选择的是:Update values
4:
powershell
◆ Model/auth provider
│ ● OpenAI (Codex OAuth + API key)
│ ○ Anthropic
│ ○ Chutes
│ ○ vLLM
│ ○ Ollama
│ ○ MiniMax
│ ○ Moonshot AI (Kimi K2.5)
│ ○ Google
│ ○ xAI (Grok)
│ ○ Mistral AI
│ ○ Volcano Engine
│ ○ BytePlus
│ ○ OpenRouter
│ ○ Kilo Gateway
│ ○ Qwen
│ ○ Z.AI
│ ○ Qianfan
│ ○ Alibaba Cloud Model Studio
│ ○ Copilot
│ ○ Vercel AI Gateway
│ ○ OpenCode
│ ○ Xiaomi
│ ○ Synthetic
│ ○ Together AI
│ ○ Hugging Face
│ ○ Venice AI
│ ○ LiteLLM
│ ○ Cloudflare AI Gateway
│ ○ Custom Provider
│ ○ Skip for now
⚙️这是 OpenClaw 用于选择大模型接入方的配置界面,你可以根据自己的模型使用场景选择对应提供商。
| 类别 | 代表选项 | 特点与适用场景 |
|---|---|---|
| 主流商业模型 | OpenAI、Anthropic、Google、xAI(Grok)、Mistral AI | 提供高性能通用模型,需 API Key 或 OAuth 认证,适合生产环境 |
| 国内模型服务 | Moonshot AI(Kimi)、Qwen、Qianfan、Alibaba Cloud Model Studio、BytePlus、MiniMax | 国内访问更稳定,支持中文场景,需对应平台 API Key |
| 本地 / 开源部署 | Ollama、vLLM、LiteLLM、Hugging Face | 支持本地部署开源模型(如 Llama 系列、Qwen 等),无需外网 API,适合隐私敏感场景 |
| 网关 / 聚合服务 | OpenRouter、Volcano Engine、Cloudflare AI Gateway、Kilo Gateway、Vercel AI Gateway | 聚合多家模型服务,统一接口调用,方便切换模型 |
| 其他 / 自定义 | Custom Provider、Skip for now | 自定义接入未列出的模型;或暂时跳过配置,后续补充 |
-
OpenAI:默认选项,支持 GPT 系列模型,需提供 OpenAI API Key,部分场景支持 Codex OAuth 认证。
-
Ollama:适合你当前的本地部署场景,可直接对接本地运行的开源模型(如 Llama 3、Qwen 等),无需外网 API。
-
Skip for now :暂时跳过模型配置,后续可通过
openclaw configure命令重新设置。 -
本地部署 / 开源模型 :选择 Ollama 或 vLLM,适配你已有的 GPU 环境。
-
使用国内模型 :选择 Moonshot AI(Kimi) 或 Qwen,访问更稳定且中文支持更好。
-
快速体验 / 已有 OpenAI 账号 :保持 OpenAI,直接填入 API Key 即可使用。
-
暂不配置模型 :选择 Skip for now,先完成其他配置,后续再补充。
我选择的是Ollama,如果你购买了其他模型或者使用其他方式部署本地模型请根据自身情况进行修改
5:
powershell
Ollama base URL
http://127.0.0.1:11434
🤖 配置ollama的url地址
默认ollama是只支持本地127.0.0.1访问,通过压缩包部署的话可以在配置启动文件是修改,我是用的方式是docker部署,所以不只是支持127.0.0.1,可以直接更换为ollama的ip地址
6:
◆ Ollama mode
│ ● Cloud + Local (Ollama cloud models + local models)
│ ○ Local
🦙这是 OpenClaw 对接 Ollama 时,选择模型来源范围的配置项。
| 选项 | 含义 | 适用场景 |
|---|---|---|
| Cloud + Local | 同时使用 Ollama 云端模型 和 本地部署的模型,OpenClaw 可以调用两者 | ✅ 想兼顾本地隐私和云端大模型能力✅ 本地模型算力不足时, fallback 到云端 |
| Local | 仅使用本地运行的 Ollama 模型,完全不依赖云端服务 | ✅ 严格隐私 / 离线环境✅ 已在本地拉取并运行足够能力的模型(如 Llama 3、Qwen 等)✅ 避免网络依赖和云端费用 |
- Cloud + Local:需要你登录 Ollama 账号,才能访问云端模型池,适合需要更强模型能力但又想保留本地使用场景的情况。
- Local :完全依赖你在本机 / 服务器上通过
ollama run启动的模型,所有计算都在本地完成,数据不会离开你的设备,隐私性最高。
- 纯本地部署 / 隐私优先 :选择 Local,适配你当前的 GPU 服务器环境,所有计算都在本地完成。
- 需要更强模型能力 :选择 Cloud + Local,在保留本地模型的同时,可调用 Ollama 云端的更大参数模型。
因为我是纯本地部署的,所以我选择的是Local
7:
powershell
Default model
│ ● Keep current (ollama/glm-4.7-flash)
│ ○ Enter model manually
│ ○ ollama/glm-4.7-flash
│ ○ ollama/qwen3.5:9b
🤖 OpenClaw 默认模型选择详解
我部署的模型是○ ollama/qwen3.5:9b,所以选择此选项
8:
powershell
◆ Select channel (QuickStart)
│ ● Telegram (Bot API) (recommended · newcomer-friendly)
│ ○ WhatsApp (QR link)
│ ○ Discord (Bot API)
│ ○ IRC (Server + Nick)
│ ○ Google Chat (Chat API)
│ ○ Slack (Socket Mode)
│ ○ Signal (signal-cli)
│ ○ iMessage (imsg)
│ ○ LINE (Messaging API)
│ ○ Feishu/Lark (飞书)
│ ○ Nostr (NIP-04 DMs)
│ ○ Microsoft Teams (Bot Framework)
│ ○ Mattermost (plugin)
│ ○ Nextcloud Talk (self-hosted)
│ ○ Matrix (plugin)
│ ○ BlueBubbles (macOS app)
│ ○ Zalo (Bot API)
│ ○ Zalo (Personal Account)
│ ○ Synology Chat (Webhook)
│ ○ Tlon (Urbit)
│ ○ Skip for now
📡 这是 OpenClaw 用于选择对外交互的即时通讯平台的配置界面,你可以根据自己的使用场景选择对应的通道。
| 类别 | 代表选项 | 特点与适用场景 |
|---|---|---|
| 推荐新手选项 | Telegram (Bot API) | 官方推荐,配置简单,Bot API 成熟稳定,适合快速体验 |
| 国内常用平台 | Feishu/Lark (飞书) | 支持飞书 / Lark 企业协作平台,适合国内团队使用 |
| 海外主流平台 | WhatsApp、Discord、Slack、LINE | 对应海外主流通讯工具,需各自平台的 Bot/API 接入 |
| 自托管 / 开源平台 | Mattermost、Nextcloud Talk、Matrix | 适合自建服务、注重隐私的场景 |
| 其他 / 暂不配置 | Skip for now | 暂时跳过通道配置,后续通过 openclaw configure 补充 |
注意:本实验使用飞书作为交互平台,但是现在暂时不配置(等配置好飞书之后在配置),先跳过,选择Skip for now
9:
powershell
◆ Search provider
│ ● Brave Search (Structured results · country/language/time filters)
│ ○ Gemini (Google Search)
│ ○ Grok (xAI)
│ ○ Kimi (Moonshot)
│ ○ Perplexity Search
│ ○ Skip for now
🔍 这是 OpenClaw 用于配置联网搜索能力的界面,用于让 AI 代理获取实时信息、补充知识或验证内容。
| 选项 | 含义 | 特点与适用场景 |
|---|---|---|
| Brave Search (Structured results · country/language/time filters) | 默认选中,Brave 搜索引擎 | ✅ 结构化结果,支持国家 / 语言 / 时间过滤✅ 隐私友好,无追踪✅ 适合需要精准筛选搜索结果的场景 |
| Gemini (Google Search) | 基于 Google Search 的 Gemini 搜索 | ✅ 覆盖范围广,信息全面✅ 适合需要全球信息、深度检索的场景 |
| Grok (xAI) | xAI 旗下的 Grok 搜索服务 | ✅ 偏向实时、社交与趋势类信息✅ 适合获取热点话题、前沿动态 |
| Kimi (Moonshot) | Moonshot AI 提供的 Kimi 搜索能力 | ✅ 中文支持优秀,长文本处理能力强✅ 适合国内用户、中文信息检索 |
| Perplexity Search | Perplexity 提供的对话式搜索 | ✅ 以自然语言回答问题,直接生成摘要✅ 适合需要 "一问一答" 式信息获取 |
| Skip for now | 暂时跳过搜索配置 | ✅ 先完成核心部署,后续再补充搜索能力✅ 无需联网搜索的纯离线场景 |
- 默认 / 隐私优先 :保持 Brave Search,结构化结果便于 AI 整理和引用,且隐私保护更好。
- 国内 / 中文场景 :切换到 Kimi (Moonshot),中文信息获取更精准,访问更稳定。
- 全球信息 / 深度检索 :选择 Gemini (Google Search),信息覆盖最全面。
- 对话式问答 :选择 Perplexity Search,直接获取自然语言回答,减少信息整理成本。
- 离线 / 暂不需要搜索 :选择 Skip for now ,后续可通过
openclaw configure重新配置。
具体选择请根据你的实际情况,本实验不配置
10:
powershell
◆ Configure skills now? (recommended)
│ ● Yes / ○ No
⚙️ 这是 OpenClaw 配置流程中,关于是否立即配置工具 / 技能 的确认提示,标注为 recommended(推荐)。
| 选项 | 含义 | 适用场景 |
|---|---|---|
| Yes | 进入技能配置向导,开启并配置 OpenClaw 的工具能力(如文件操作、系统命令、搜索、代码执行等) | ✅ 希望 OpenClaw 具备实际执行能力(如读写文件、调用命令、联网搜索)✅ 官方推荐,能让代理从 "聊天" 升级为 "可执行任务的助手" |
| No | 跳过技能配置,仅保留基础对话能力,后续可通过 openclaw configure 补充 |
✅ 暂时只想体验基础对话功能✅ 先完成核心部署,再逐步开放工具权限 |
若不想配置的话,选择NO即可
11:
powershell
◆ Install missing skill dependencies
│ ◻ Skip for now (Continue without installing dependencies)
│ ◻ 🔐 1password
│ ◻ 📰 blogwatcher
│ ◻ 🫐 blucli
│ ◻ 📸 camsnap
│ ◻ 🧩 clawhub
│ ◻ 🛌 eightctl
│ ◻ ✨ gemini
│ ◻ 🧲 gifgrep
│ ◻ 🐙 github
│ ◻ 🎮 gog
│ ◻ 📍 goplaces
│ ◻ 📧 himalaya
│ ◻ 📦 mcporter
│ ◻ 🍌 nano-banana-pro
│ ◻ 📄 nano-pdf
│ ◻ 💎 obsidian
│ ◻ 🎤 openai-whisper
│ ◻ 💡 openhue
│ ◻ 🧿 oracle
│ ◻ 🛵 ordercli
│ ◻ 🔊 sag
│ ◻ 🌊 songsee
│ ◻ 🔊 sonoscli
│ ◻ 🧾 summarize
│ ◻ 🎬 video-frames
│ ◻ 📱 wacli
│ ◻ 🐦 xurl
🛠️ 这是 OpenClaw 用于选择安装技能所需依赖包的界面,你可以按需勾选需要的技能,避免安装无用依赖。
| 选项 | 含义 | 适用场景 |
|---|---|---|
| Skip for now | 暂时跳过所有依赖安装,仅启动基础功能,后续可通过 openclaw configure 补充 |
✅ 快速完成部署✅ 暂时不需要额外技能 |
| 单个技能选项 | 勾选后会自动安装该技能所需的依赖库 / 工具 | ✅ 你需要使用对应技能时 |
🛠️ OpenClaw 技能速查表
| 技能名称 | 核心作用 | 前置条件 | 安全风险 |
|---|---|---|---|
1password |
对接 1Password 密码管理器,查询 / 获取密码、密钥 | 安装 1Password CLI 并登录账号 | ⚠️ 极高(可泄露所有密码) |
blogwatcher |
监控博客 / 网站更新,推送新内容通知 | 配置目标站点 RSS / 网页地址 | 低(仅被动监控) |
blucli |
控制本地蓝牙设备(连接、传输文件等) | 系统安装 bluez 等蓝牙工具,硬件可用 |
⚠️ 中(可访问 / 控制周边蓝牙设备) |
camsnap |
调用系统摄像头拍摄照片 / 视频 | 系统存在可用摄像头并授权 | ⚠️ 极高(可偷拍,侵犯隐私) |
clawhub |
OpenClaw 协作同步中心,分享配置 / 技能 | 登录 Clawhub 账号 | 中(可能泄露配置到云端) |
eightctl |
控制 Eight Sleep 智能睡眠设备 | 拥有 Eight Sleep 设备并绑定账号 | 低(仅控制智能家居) |
gemini |
调用 Google Gemini 多模态模型(图文音视频处理) | 拥有 Gemini API Key | 低(仅模型调用,无系统权限) |
gifgrep |
搜索本地 / 网络 GIF / 图片 | 可访问本地图片目录或图床 API | 低(仅读取图片文件) |
github |
管理 GitHub 仓库、Issue、PR 等 | 拥有 GitHub PAT(个人访问令牌) | ⚠️ 高(PAT 权限过大可篡改代码) |
gog |
控制 GOG Galaxy 游戏客户端(安装 / 启动游戏) | 安装 GOG Galaxy 并登录 | 低(仅控制游戏客户端) |
goplaces |
地理位置服务(查路线、POI、天气) | 可访问定位 / 地图 API(如 Google Maps) | 低(仅查询位置信息) |
himalaya |
邮件客户端工具,收发 / 管理邮件 | 配置邮箱账号(IMAP/SMTP) | 中(可读取 / 发送你的邮件) |
mcporter |
迁移 / 备份各类应用数据 | 对应应用已安装并授权访问 | 中(可读取应用敏感数据) |
nano-banana-pro |
文本 / 代码增强编辑工具 | 无特殊依赖(基础文本操作) | 低(仅读写文本文件) |
nano-pdf |
读取 / 解析 PDF 内容 | 系统安装 PDF 处理库(如 poppler) |
低(仅读取 PDF 文本) |
obsidian |
对接 Obsidian 笔记软件,读写 / 同步笔记 | 安装 Obsidian 并指定 vault 路径 | 中(可读写你的笔记文件) |
openai-whisper |
语音转文字(音频 / 视频转文本) | 系统安装 FFmpeg,有可用音频输入 | 中(可读取麦克风 / 音频文件) |
openhue |
控制 Philips Hue 智能灯 | 拥有 Hue 桥接器并完成配对 | 低(仅控制智能家居照明) |
oracle |
对接 Oracle 数据库,执行查询 / 操作 | 拥有 Oracle 数据库连接凭证 | ⚠️ 高(可读写数据库敏感数据) |
ordercli |
管理订单 / 电商平台订单(查询、创建) | 电商平台 API 凭证 | 中(可查看 / 操作你的订单) |
sag |
系统管理工具(查看资源、进程、日志) | 运行用户拥有系统监控权限 | ⚠️ 中(可泄露系统敏感信息) |
songsee |
音乐识别 / 播放控制(如识别歌曲) | 可访问音频输入 / 音乐服务 API | 低(仅音频识别与播放控制) |
sonoscli |
控制 Sonos 智能音响(播放、音量) | 同一局域网内有 Sonos 设备 | 低(仅控制智能家居音响) |
summarize |
文本 / 长文档 / 网页内容摘要生成 | 可访问目标文本 / 网页 | 低(仅读取并生成摘要) |
video-frames |
提取视频帧为图片,分析视频内容 | 系统安装 FFmpeg 等视频处理库 | 中(可读取视频文件) |
wacli |
控制 WhatsApp 客户端(收发消息) | 登录 WhatsApp 账号(如 whatsapp-web.js) |
⚠️ 高(可读取 / 发送你的聊天记录) |
xurl |
抓取网页内容,提取信息 / 生成预览 | 可访问目标网页(网络连通) | 低(仅读取网页内容) |
Skip for now |
跳过所有依赖安装,仅启动基础功能 | 无 | 无(最小权限启动) |
💡 选择建议
-
个人安全优先 :只勾选你明确会用到 的技能,避免安装高风险项(如
1password、camsnap、oracle)。 -
最小权限原则 :给 API / 凭证分配最小必要权限(如 GitHub PAT 只给
repo而非admin权限)。 -
后续调整 :随时可通过
openclaw configure重新安装 / 卸载技能依赖。 -
快速部署 / 最小化安装 :先勾选 Skip for now,完成启动后再按需安装技能依赖。
⚠️ 部分技能(如执行系统命令、文件操作类)会提升 OpenClaw 的权限,建议只安装你确实需要的技能,并遵循最小权限原则。
12:
powershell
◆ Show Homebrew install command?
│ ● Yes / ○ No
📦 这是 OpenClaw 配置流程中,关于是否显示 Homebrew 安装命令的确认提示
| 选项 | 含义 | 适用场景 |
|---|---|---|
| Yes | 显示在 macOS 上安装 Homebrew 的官方命令,方便你复制执行 | ✅ 你正在使用 macOS 系统✅ 尚未安装 Homebrew✅ 需要通过 Homebrew 安装技能依赖 |
| No | 跳过显示 Homebrew 安装命令,继续后续配置 | ✅ 你使用的是 Linux/Windows 系统(Homebrew 主要为 macOS 设计)✅ 已安装 Homebrew✅ 不需要依赖 Homebrew 的技能 |
- Ubuntu/Linux 用户 :建议选择 No,跳过无关的 macOS 命令。
- macOS 用户 :选择 Yes,获取官方安装命令后手动执行。
13:
powershell
◆ Preferred node manager for skill installs
│ ● npm
│ ○ pnpm
│ ○ bun
📦 Node 包管理器选择详解
| 包管理器 | 核心特点 | 适用场景 |
|---|---|---|
| npm | Node.js 自带的默认包管理器,兼容性最广,生态最成熟 | ✅ 通用场景✅ 不想折腾、追求稳定✅ 默认推荐 |
| pnpm | 采用磁盘链接方式节省存储空间,安装速度更快,依赖管理更干净 | ✅ 磁盘空间有限✅ 多项目共享依赖✅ 追求高效 |
| bun | 新一代 JavaScript 运行时 + 包管理器,启动和安装速度极快,兼容性在完善中 | ✅ 追求极致性能✅ 实验性场景 |
- 默认 / 兼容性优先 :保持 npm,这是最稳妥的选择,几乎所有 Node 技能都能正常安装。
- 追求效率 / 磁盘优化 :切换到 pnpm,适合长期维护多项目的场景。
- 尝鲜 / 性能优先 :选择 bun,但需注意部分旧版依赖可能存在兼容性问题。
选择默认的npm即可
接下来会进入安装
powershell
◓ Installing blogwatcher....
然后会配置相关技能的API KEY
14:
powershell
◆ Enable hooks?
│ ◻ Skip for now
│ ◻ 🚀 boot-md
│ ◻ 📎 bootstrap-extra-files
│ ◻ 📝 command-logger
│ ◻ 💾 session-memory
🪝 这是 OpenClaw 配置扩展钩子的界面,Hooks 是在核心流程中插入的自定义功能,用于增强 OpenClaw 的扩展能力,以下是各选项的完整说明:
| 选项 | 中文释义 | 核心作用 | 适用场景 | 风险 / 注意事项 |
|---|---|---|---|---|
Skip for now |
暂时跳过 | 不启用任何钩子,仅保留核心功能 | ✅ 快速部署✅ 暂时不需要扩展功能 | 无,最小化启动 |
🚀 boot-md |
启动脚本增强 | 加载自定义 Markdown 格式的启动脚本 / 配置 | ✅ 自定义启动流程✅ 批量配置初始化 | 低,仅加载配置文件 |
📎 bootstrap-extra-files |
额外文件引导 | 启动时自动加载指定目录的额外配置 / 脚本文件 | ✅ 扩展自定义工具✅ 加载第三方插件 | 中,若加载恶意文件可能有风险 |
📝 command-logger |
命令日志器 | 记录 OpenClaw 执行的所有命令 / 操作日志 | ✅ 审计 / 排查问题✅ 监控操作行为 | 低,仅记录日志(注意日志文件权限) |
💾 session-memory |
会话记忆 | 持久化存储对话会话,保留上下文记忆 | ✅ 长对话场景✅ 多轮交互 | 低,仅存储对话内容(注意隐私) |
-
新手 / 快速体验 :勾选
Skip for now,先完成核心部署,后续通过openclaw configure再启用需要的钩子。 -
需要基础监控 :勾选
command-logger(记录操作日志,方便排查问题)。 -
需要会话记忆 :勾选
session-memory(让 AI 记住多轮对话上下文)。 -
自定义配置 :勾选
boot-md+bootstrap-extra-files(适合有自定义配置需求的场景)。 -
Hooks 是可选扩展,不启用任何钩子也不影响 OpenClaw 核心功能(对话、技能调用)。
-
后续可通过
openclaw configure重新进入此界面,随时启用 / 关闭钩子。 -
钩子的配置文件默认存储在
~/.openclaw/hooks/目录,可手动修改。
我的选择: Skip for now
15:
powershell
◆ How do you want to hatch your bot?
│ ● Hatch in TUI (recommended)
│ ○ Open the Web UI
│ ○ Do this later
🐣这是 OpenClaw 配置完成后,选择最终启动方式的界面,不同选项对应不同的交互形式
| 选项 | 中文释义 | 核心特点 | 适用场景 | 操作难度 |
|---|---|---|---|---|
Hatch in TUI (recommended) |
以终端交互界面启动(推荐) | ✅ 基于终端的图形化界面(TUI),无需浏览器✅ 官方推荐,功能完整且轻量✅ 直接在服务器终端操作,适配无图形界面环境 | ✅ 服务器 / 无桌面环境部署✅ 新手快速上手✅ 偏好终端操作 | 低(终端内可视化操作) |
Open the Web UI |
启动 Web 界面 | ✅ 浏览器访问的图形化界面,操作更直观✅ 支持多设备访问(需开放端口) | ✅ 有桌面环境 / 可访问浏览器✅ 希望可视化操作✅ 多设备管理 | 中(需配置端口 / 网络) |
Do this later |
稍后启动 | ✅ 仅完成配置,不启动服务✅ 后续可通过 openclaw hatch 命令手动启动 |
✅ 暂时不需要立即使用✅ 需先配置其他环境(如端口、权限) | 无(仅跳过启动) |
无论选哪种,后续都可通过以下命令手动启动:
powershell
# 启动 TUI 模式
openclaw hatch --tui
# 启动 Web UI 模式
openclaw hatch --web
- TUI 是服务器环境的最优选择:无需图形界面,直接在终端可视化操作,官方推荐且适配性最好。
- Web UI 适合有桌面 / 多设备场景:需额外配置端口和防火墙,操作更直观但步骤稍多。
- 稍后启动仅保存配置 :后续可通过
openclaw hatch命令手动选择启动模式。
因为openclaw启动web ui访问只能通过127.0.0.1访问,理论上linux服务器上适合TUI的
但是本实验选择的是Open the Web UI,下文有访问的方式
选好后按回车,OpenClaw 就会完成最终启动,你可以开始使用啦!
六、接入飞书
通过安装向导添加
openclaw onboard
向导会引导您完成:
- 创建飞书应用并获取凭证
- 配置应用凭证
- 启动网关
创建飞书应用
1. 打开飞书开放平台
访问 飞书开放平台,使用飞书账号登录。Lark(国际版)请使用 https://open.larksuite.com/app,并在配置中设置 domain: "lark"。
2. 创建应用
- 点击 创建企业自建应用
- 填写应用名称和描述
- 选择应用图标

3. 获取应用凭证
在应用的 凭证与基础信息 页面,复制:
- App ID (格式如
cli_xxx) - App Secret
❗ 重要:请妥善保管 App Secret,不要分享给他人。
4. 配置应用权限
在 权限管理 页面,点击 批量导入 按钮,粘贴以下 JSON 配置一键导入所需权限:
{
"scopes": {
"tenant": [
"aily:file:read",
"aily:file:write",
"application:application.app_message_stats.overview:readonly",
"application:application:self_manage",
"application:bot.menu:write",
"cardkit:card:write",
"contact:user.employee_id:readonly",
"corehr:file:download",
"docs:document.content:read",
"event:ip_list",
"im:chat",
"im:chat.access_event.bot_p2p_chat:read",
"im:chat.members:bot_access",
"im:message",
"im:message.group_at_msg:readonly",
"im:message.group_msg",
"im:message.p2p_msg:readonly",
"im:message:readonly",
"im:message:send_as_bot",
"im:resource",
"sheets:spreadsheet",
"wiki:wiki:readonly"
],
"user": ["aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read"]
}
}
5. 启用机器人能力
在 应用能力 > 机器人 页面:
- 开启机器人能力
- 配置机器人名称
6. 配置事件订阅
⚠️ 重要提醒:在配置事件订阅前,请务必确保已完成以下步骤:
- 运行
openclaw channels add添加了 Feishu 渠道 - 网关处于启动状态(可通过
openclaw gateway status检查状态)
在 事件订阅 页面:
- 选择 使用长连接接收事件(WebSocket 模式)
- 添加事件:
im.message.receive_v1(接收消息)
⚠️ 注意 :如果网关未启动或渠道未添加,长连接设置将保存失败。

7. 发布应用
- 在 版本管理与发布 页面创建版本
- 提交审核并发布
- 等待管理员审批(企业自建应用通常自动通过)
默认情况下,机器人会回复一个 配对码。您需要批准此代码:
openclaw pairing approve feishu <配对码>
openclaw pairing list
七、接入qq机器人
按照官方部署顺序即可
开通qq机器人
下载QQBot插件
powershell
openclaw plugins install @tencent-connect/openclaw-qqbot@latest
安装失败:
powershell
# 1. 初始化 npm(修复可能损坏的 package.json)
npm init -y
# 2. 切换国内 npm 源(解决下载慢/失败)
npm config set registry https://registry.npmmirror.com
# 3. 重新安装依赖
openclaw plugins install @tencent-connect/openclaw-qqbot@latest
# 4. 验证插件是否成功加载
openclaw plugins list
配置绑定当前QQ机器人
powershell
openclaw channels add --channel qqbot --token "AppID:AppSecret"
重启本地OpenClaw服务
powershell
openclaw gateway restart

八、gpu使用监控脚本
windows物理机可以使用这个项目进行监控
https://github.com/Diorser/LiteMonitor/releases/tag/v1.3.4

极简实时监控powershell
powershell
# 实时监控 GPU+CPU+内存 核心数据
Write-Host "===== GPU + CPU + 内存 实时监控 =====" -ForegroundColor Cyan
Write-Host "提示:按 Ctrl+C 停止监控`n" -ForegroundColor Yellow
# 关闭命令行光标闪烁(让显示更整洁)
[Console]::CursorVisible = $false
try {
while ($true) {
# ========== 1. 获取 GPU 数据 ==========
$gpuData = nvidia-smi --query-gpu=utilization.gpu,utilization.memory,temperature.gpu --format=csv,noheader,nounits 2>&1
if (-not $LASTEXITCODE) {
$gpuArray = $gpuData -split "," | ForEach-Object { $_.Trim() }
$gpuUtil = $gpuArray[0]
$memUtil = $gpuArray[1]
$gpuTemp = $gpuArray[2]
}
else {
$gpuUtil = "N/A"
$memUtil = "N/A"
$gpuTemp = "N/A"
}
# ========== 2. 获取 CPU 数据(仅使用率) ==========
$cpuUsage = (Get-Counter '\Processor(_Total)\% Processor Time' -ErrorAction SilentlyContinue).CounterSamples.CookedValue
$cpuUsage = if ($cpuUsage) { [math]::Round($cpuUsage, 1) } else { "N/A" }
# ========== 3. 获取 内存 数据 ==========
$os = Get-CimInstance Win32_OperatingSystem
$totalMemGB = [math]::Round($os.TotalVisibleMemorySize / 1MB, 1) # 总内存(GB)
$usedMemGB = [math]::Round(($os.TotalVisibleMemorySize - $os.FreePhysicalMemory) / 1MB, 1) # 已用内存(GB)
$memUsagePercent = if ($totalMemGB -ne 0) { [math]::Round(($usedMemGB / $totalMemGB) * 100, 1) } else { "N/A" } # 内存使用率
# ========== 4. 分行输出数据(不清屏,追加显示) ==========
$timestamp = Get-Date -Format 'HH:mm:ss'
Write-Host "提示:按 Ctrl+C 停止监控`n" -ForegroundColor Yellow
# 第一行:时间 + CPU信息
Write-Host "[$timestamp] CPU使用率:$cpuUsage%" -ForegroundColor Green
# 第二行:GPU信息
Write-Host " GPU使用率:$gpuUtil% | 显存使用率:$memUtil% | GPU温度:$gpuTemp℃" -ForegroundColor Green
# 第三行:内存信息
Write-Host " 总内存:$totalMemGB GB | 已用内存:$usedMemGB GB | 内存使用率:$memUsagePercent%" -ForegroundColor Green
# ========== 空行(实现滚动效果) ==========
Write-Host "`n`n"
# 每秒刷新一次(可修改为2/3秒,降低刷屏)
Start-Sleep -Seconds 1
}
}
catch [System.Management.Automation.KeyboardInterruptException] {
# 恢复光标显示
[Console]::CursorVisible = $true
Write-Host "`n✅ 监控已停止" -ForegroundColor Cyan
}
catch {
[Console]::CursorVisible = $true
Write-Host "`n❌ 监控出错:$($_.Exception.Message)" -ForegroundColor Red
}

详细实时监控(显示所有 GPU 信息)powershell
powershell
# 实时刷新完整的 nvidia-smi 信息(每秒1次)
Write-Host "===== T4 GPU 详细实时监控 =====" -ForegroundColor Cyan
Write-Host "提示:按 Ctrl+C 停止监控`n" -ForegroundColor Yellow
while ($true) {
# 清屏(可选,让输出更整洁)
Clear-Host
# 执行 nvidia-smi 并输出
nvidia-smi
# 每秒刷新
Start-Sleep -Seconds 1
}
详细监控powershell
powershell
<#
硬件实时监控脚本:CPU+内存+GPU
极简版,无复杂语法,适配PowerShell 5.1
#>
# 配置项
$refreshInterval = 1.5 # 刷新间隔(秒)
$gpuId = 0 # GPU编号(单T4默认0)
# 检查nvidia-smi是否可用
$nvidiaSmiAvailable = $true
if (-not (Get-Command "nvidia-smi" -ErrorAction SilentlyContinue)) {
Write-Host "⚠️ 未找到nvidia-smi,请安装NVIDIA驱动!" -ForegroundColor Yellow
$nvidiaSmiAvailable = $false
}
# 主监控循环
Write-Host "========== 硬件实时监控 ==========" -ForegroundColor Cyan
Write-Host "刷新间隔:$refreshInterval 秒 | 按Ctrl+C停止`n" -ForegroundColor Yellow
try {
while ($true) {
# 清屏
Clear-Host
# ========== 1. CPU信息 ==========
Write-Host "【CPU 信息】" -ForegroundColor Yellow
$cpu = Get-CimInstance Win32_Processor
$cpuUsage = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue
$cpuUsage = [math]::Round($cpuUsage, 1)
Write-Host "型号:" $cpu.Name
Write-Host "核心/线程:" $cpu.NumberOfCores "/" $cpu.NumberOfLogicalProcessors
Write-Host "使用率:" $cpuUsage "%"
Write-Host "----------------------------------"
# ========== 2. 内存信息 ==========
Write-Host "【内存 信息】" -ForegroundColor Yellow
$os = Get-CimInstance Win32_OperatingSystem
$totalMem = [math]::Round($os.TotalVisibleMemorySize / 1MB, 1)
$freeMem = [math]::Round($os.FreePhysicalMemory / 1MB, 1)
$usedMem = $totalMem - $freeMem
$memUsage = [math]::Round(($usedMem / $totalMem) * 100, 1)
Write-Host "总内存:" $totalMem "GB"
Write-Host "已用内存:" $usedMem "GB"
Write-Host "使用率:" $memUsage "%"
Write-Host "`n占用内存TOP5应用:"
Get-Process -ErrorAction SilentlyContinue |
Where-Object { $_.WorkingSet64 -gt 0 } |
Sort-Object WorkingSet64 -Descending |
Select-Object Name, @{Name="内存MB"; Expression={[math]::Round($_.WorkingSet64 / 1MB, 1)}} -First 5 |
Format-Table -AutoSize
Write-Host "----------------------------------"
# ========== 3. GPU信息 ==========
Write-Host "【GPU 信息】" -ForegroundColor Yellow
if ($nvidiaSmiAvailable) {
# 获取GPU数据
$gpuData = nvidia-smi --id=$gpuId --query-gpu=name,memory.total,memory.used,utilization.gpu,power.draw,temperature.gpu --format=csv,noheader,nounits
$gpuData = $gpuData -split "," | ForEach-Object { $_.Trim() }
# 解析数据
$gpuName = $gpuData[0]
$gpuTotalMem = [math]::Round($gpuData[1] / 1024, 1)
$gpuUsedMem = [math]::Round($gpuData[2] / 1024, 1)
$gpuUsage = $gpuData[3]
$gpuPower = $gpuData[4]
$gpuTemp = $gpuData[5]
Write-Host "型号:" $gpuName
Write-Host "总显存:" $gpuTotalMem "GB"
Write-Host "已用显存:" $gpuUsedMem "GB"
Write-Host "GPU使用率:" $gpuUsage "%"
Write-Host "功耗:" $gpuPower "W"
Write-Host "温度:" $gpuTemp "℃"
}
else {
Write-Host "未检测到NVIDIA GPU或驱动" -ForegroundColor Red
}
Write-Host "----------------------------------"
# 时间戳+提示
Write-Host "监控时间:$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')" -ForegroundColor Cyan
Write-Host "💡 按Ctrl+C停止监控" -ForegroundColor Gray
# 等待刷新
Start-Sleep -Seconds $refreshInterval
}
}
catch [System.Management.Automation.KeyboardInterruptException] {
Clear-Host
Write-Host "✅ 监控已停止" -ForegroundColor Green
}
catch {
Write-Host "❌ 监控出错:" $_.Exception.Message -ForegroundColor Red
}
# 解析数据
$gpuName = $gpuData[0]
$gpuTotalMem = [math]::Round($gpuData[1] / 1024, 1)
$gpuUsedMem = [math]::Round($gpuData[2] / 1024, 1)
$gpuUsage = $gpuData[3]
$gpuPower = $gpuData[4]
$gpuTemp = $gpuData[5]
Write-Host "型号:" $gpuName
Write-Host "总显存:" $gpuTotalMem "GB"
Write-Host "已用显存:" $gpuUsedMem "GB"
Write-Host "GPU使用率:" $gpuUsage "%"
Write-Host "功耗:" $gpuPower "W"
Write-Host "温度:" $gpuTemp "℃"
}
else {
Write-Host "未检测到NVIDIA GPU或驱动" -ForegroundColor Red
}
Write-Host "----------------------------------"
# 时间戳+提示
Write-Host "监控时间:$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')" -ForegroundColor Cyan
Write-Host "💡 按Ctrl+C停止监控" -ForegroundColor Gray
# 等待刷新
Start-Sleep -Seconds $refreshInterval
}
}
catch [System.Management.Automation.KeyboardInterruptException] {
Clear-Host
Write-Host "✅ 监控已停止" -ForegroundColor Green
}
catch {
Write-Host "❌ 监控出错:" $_.Exception.Message -ForegroundColor Red
}
