auto-sync: 2026-04-10 21:15:02
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
检查OpenClaw网关API状态的脚本
|
||||
"""
|
||||
|
||||
import requests
|
||||
import websocket
|
||||
import json
|
||||
import sys
|
||||
|
||||
def check_http_api():
|
||||
"""检查HTTP API状态"""
|
||||
try:
|
||||
url = "http://127.0.0.1:18789/__openclaw__/api/v1/health"
|
||||
response = requests.get(url, timeout=5)
|
||||
print(f"HTTP API状态: {response.status_code}")
|
||||
print(f"响应内容: {response.text}")
|
||||
except Exception as e:
|
||||
print(f"HTTP API检查失败: {e}")
|
||||
|
||||
def check_websocket_with_auth():
|
||||
"""使用身份验证检查WebSocket连接"""
|
||||
try:
|
||||
# 从配置文件中获取认证令牌
|
||||
config_path = "/Users/chufeng/.openclaw/openclaw.json"
|
||||
with open(config_path, "r") as f:
|
||||
config = json.load(f)
|
||||
token = config["gateway"]["auth"]["token"]
|
||||
print(f"获取到认证令牌: {token}")
|
||||
|
||||
# 使用身份验证连接WebSocket
|
||||
ws_url = f"ws://127.0.0.1:18789/__openclaw__/ws?token={token}"
|
||||
print(f"连接到WebSocket: {ws_url}")
|
||||
|
||||
ws = websocket.create_connection(ws_url, timeout=5)
|
||||
print("WebSocket连接成功")
|
||||
|
||||
# 发送节点列表请求
|
||||
request_data = {
|
||||
"id": "1",
|
||||
"method": "node.list",
|
||||
"params": {}
|
||||
}
|
||||
ws.send(json.dumps(request_data))
|
||||
print("已发送节点列表请求")
|
||||
|
||||
# 接收响应
|
||||
response = ws.recv()
|
||||
print(f"WebSocket响应: {response}")
|
||||
|
||||
ws.close()
|
||||
except Exception as e:
|
||||
print(f"WebSocket检查失败: {e}")
|
||||
print(f"错误类型: {type(e).__name__}")
|
||||
|
||||
def check_nodes_through_cli():
|
||||
"""通过CLI命令检查节点列表"""
|
||||
print("\n=== 通过OpenClaw CLI检查节点列表 ===")
|
||||
try:
|
||||
import subprocess
|
||||
result = subprocess.run(
|
||||
["openclaw", "nodes", "list"],
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=30
|
||||
)
|
||||
print(f"命令执行状态: {result.returncode}")
|
||||
print(f"标准输出: {result.stdout}")
|
||||
print(f"标准错误: {result.stderr}")
|
||||
except Exception as e:
|
||||
print(f"命令执行失败: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("开始检查OpenClaw网关状态...")
|
||||
print("=" * 50)
|
||||
|
||||
check_http_api()
|
||||
print("\n" + "=" * 50)
|
||||
check_websocket_with_auth()
|
||||
print("\n" + "=" * 50)
|
||||
check_nodes_through_cli()
|
||||
print("\n" + "=" * 50)
|
||||
print("检查完成")
|
||||
Reference in New Issue
Block a user