SuperAPI AI 工具集

openclaw-windows-node

办公与效率

查看项目

更新于 10-16 02:00

技能介绍

用途

openclaw-windows-node 是 OpenClaw AI 助手的 Windows 配套套件技能,用于构建和扩展 Windows 端组件。它提供三部分:WinUI 3 系统托盘应用(Molty)、共享网关客户端库,以及 CLI 工具。

主要能力

  • 系统托盘应用:WinUI 3 应用,带浮动菜单,可显示网关状态、会话、通道、用量、节点,以及 Command Center 诊断和自动更新。
  • Node 模式能力:启用后可将 Windows 暴露为可控节点,支持 system.notify、system.run、canvas.present、screen.snapshot、camera.snap、stt.transcribe、tts.speak、location.get、device.info 等方法。
  • 网关客户端:共享 C# 库,用于 WebSocket 连接、配对、发布/订阅与 RPC。
  • CLI 验证器:命令行工具,用于测试网关连通性与 chat.send。
  • 自动更新:集成 GitHub Releases,支持通道选择(stable/alpha/dev)。
  • 深链接:通过 openclaw:// URL 方案与命名管道 IPC 实现外部激活。

环境要求与安装

前置条件:Windows 10 20H2+ 或 Windows 11;.NET 10.0 SDK(winget install Microsoft.DotNet.SDK.10);WinUI 构建需要 Windows 10 SDK(通过 Visual Studio 或独立安装);WebView2 运行时(现代 Windows 已预装)。

构建命令:

  • 检查前置条件:.\build.ps1 -CheckOnly
  • 构建全部项目:.\build.ps1
  • 构建指定项目:.\build.ps1 -Project WinUI
  • ARM64 构建:dotnet build src/OpenClaw.Tray.WinUI/OpenClaw.Tray.WinUI.csproj -r win-arm64
  • 构建 MSIX 包(用于摄像头/麦克风授权提示):dotnet build src/OpenClaw.Tray.WinUI -r win-x64 -p:PackageMsix=true

运行托盘应用:

  • 构建并启动:.\run-app-local.ps1
  • 不重新构建直接运行:.\run-app-local.ps1 -NoBuild
  • 隔离运行(使用独立设置文件测试):.\run-app-local.ps1 -Isolated
  • 测试 alpha 更新:.\run-app-local.ps1 -Configuration Release -Isolated -UpdateChannel alpha

运行 CLI:

  • 查看帮助:dotnet run --project src/OpenClaw.Cli -- --help
  • 使用托盘设置发送消息:dotnet run --project src/OpenClaw.Cli -- --message "test message"
  • 循环发送并探测:dotnet run --project src/OpenClaw.Cli -- --repeat 5 --delay-ms 1000 --probe-read --verbose
  • 覆盖网关 URL/令牌:dotnet run --project src/OpenClaw.Cli -- --url ws://127.0.0.1:18789 --token "$env:OPENCLAW_TOKEN" --message "test"

项目结构

openclaw-windows-node/ ├── src/ │ ├── OpenClaw.Tray.WinUI/ # 系统托盘应用(WinUI 3) │ │ ├── Services/ # 网关、通知、更新、节点服务 │ │ ├── ViewModels/ # MVVM 视图模型 │ │ ├── Views/ # XAML 页面与窗口 │ │ ├── Capabilities/ # 节点能力实现 │ │ └── Models/ # 数据模型 │ ├── OpenClaw.Shared/ # 网关客户端库 │ │ ├── GatewayClient.cs # WebSocket 客户端 │ │ ├── Models/ # 网关 API 的 DTO │ │ └── Extensions/ # 辅助方法 │ └── OpenClaw.Cli/ # CLI 验证器 └── docs/ # 文档

关键组件

GatewayClient(共享库):核心 WebSocket 客户端,用于 OpenClaw 网关集成。示例代码演示创建客户端、订阅事件、连接、订阅主题、发送 RPC 请求(如 chat.send)、取消订阅与断开连接。

节点注册与能力:NodeService 在 Node 模式启用时注册节点,声明 capabilities 列表(system.notify、system.run、canvas.present、screen.snapshot、camera.snap、stt.transcribe、tts.speak、location.get、device.info),并通过 node.register、node.response 与网关通信。

能力实现示例(资料中给出的代码片段):

  • SystemNotifyCapability:使用 ToastContentBuilder 显示本地 Toast 通知。
  • ScreenSnapshotCapability:通过 Graphics.CopyFromScreen 截屏并转为 base64,支持 display 与 format 参数。
  • CameraSnapCapability:使用 MediaCapture 拍照并以 base64 返回,支持 deviceId 与 format 参数。
  • SttTranscribeCapability:使用 SpeechRecognizer 进行连续识别,支持 durationSec 与 language 参数,要求设置中启用 STT。
  • TtsSpeakCapability:使用 SpeechSynthesizer 或 ElevenLabs(通过 ELEVENLABS_API_KEY 环境变量)进行语音合成并播放,支持 text、voice、provider 参数。
  • CanvasPresentCapability:通过 WebView2 在画布窗口展示 url 或 html,支持 width、height 参数。

通知服务:处理 Windows Toast 通知并支持智能分类(示例代码展示了 ShowNotificationAsync 调用,资料在此处被截断)。

适用场景

适合在 Windows 上运行 OpenClaw 配套客户端、需要将 Windows 作为受控节点接入 OpenClaw、需要托盘状态显示、快速发送、内嵌聊天、通知、截屏、摄像头、语音输入输出与画布展示等能力的用户。

限制

资料未提供该技能的分类信息、收费方式与价格。部分示例代码(如通知服务)在资料中未完整给出。所有构建与运行命令需在 Windows 环境执行,Node 能力受 Windows 授权提示与设置开关限制(例如 STT 需在设置中启用)。其他未在资料中说明的细节暂未提供。