OpenClaw 中 electron-connector 技能的配置说明与双向通信原理。
配置说明
新增的 electron-connector 技能配置:
- baseUrl:Electron 应用的 HTTP 服务器地址,假设运行在本地 3000 端口
- apiKey:用于认证的 API 密钥,根据需要设置
- endpoints:定义了三个关键端点:
invoke:用于 OpenClaw 主动调用 Electron 应用中的功能status:用于检查 Electron 应用的状态events:用于接收来自 Electron 应用的事件通知
- timeout:请求超时时间(毫秒)
- retryAttempts:失败时的重试次数
双向通信工作原理
- OpenClaw 调用 Electron 应用:OpenClaw 通过 electron-connector 技能的
/api/invoke端点发送请求,请求包含要调用的功能名称和参数,Electron 应用执行相应功能并返回结果。 - Electron 应用通知 OpenClaw:Electron 应用可以通过 OpenClaw 的 API 发送事件,或者通过 WebSocket 连接保持实时通信。
- 状态同步:OpenClaw 可以定期通过
/api/status端点检查 Electron 应用的状态,确保两者保持同步。
使用方式
Electron 应用侧
- 启动一个 HTTP 服务器(例如使用 Express)
- 实现
/api/invoke、/api/status和/api/events端点 - 处理来自 OpenClaw 的请求并执行相应功能
OpenClaw 侧
使用 electron-connector 技能来调用 Electron 应用的功能,例如:
openclaw skills invoke electron-connector --method "openFile" --params '{"path": "C:\\example.txt"}'
安全考虑
- 确保只在本地网络中暴露这些端点
- 使用适当的认证机制
- 验证所有输入参数,防止注入攻击
- 限制可调用的功能,避免安全风险
此配置为 Electron 应用和 OpenClaw 服务之间的双向通信提供了基础架构,使 OpenClaw 能够主动调用 Electron 应用中的功能,同时保持两者之间的状态同步。