

# python3
# -*- coding: utf-8 -*-
"""
简单的推送消息脚本
将消息推送到华为负一屏
"""
import json
import time
import uuid
from datetime import datetime
import requests
# 授权码(必需)
AUTH_CODE = "按照步骤获取的授权码"
# 推送URL
PUSH_URL = "https://hiboard-claw-drcn.ai.dbankcloud.cn/distribution/message/cloud/claw/msg/upload"
def push_message(title, content, result, timeout=30):
"""
推送消息到负一屏
:param title: 消息标题
:param content: 消息内容,支持Markdown格式
:param result: 消息结果
:param timeout: 超时时间(秒),默认30秒
"""
# 构建推送数据
timestamp = int(time.time())
task_id = f"{title}_{datetime.now().strftime('%Y%m%d_%H%M%S')}"
push_data = {
"authCode": AUTH_CODE,
"msgContent": [{
"msgId": f"{task_id}",
"scheduleTaskId": f"push_{timestamp}",
"scheduleTaskName": title,
"summary": title,
"result": result,
"content": content,
"source": "SimplePusher",
"taskFinishTime": timestamp
}]
}
# 发送请求
try:
trace_id = str(uuid.uuid4())
response = requests.post(
PUSH_URL,
json={"data": push_data},
headers={
"Content-Type": "application/json; charset=utf-8",
"User-Agent": "SimplePusher/1.0",
"x-trace-id": trace_id
},
timeout=timeout
)
res = response.json()
code = res.get('code', '')
if str(code) in ['0000000000', '0', 0]:
return {
"success": True,
"message": "推送成功",
"time": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
}
else:
error_msg = f"错误代码: {code}, 描述: {res.get('desc', '未知错误')}"
if code == '0000900034':
error_msg += "\n授权码无效,请检查授权码"
return {
"success": False,
"message": "推送失败",
"error": error_msg
}
except requests.exceptions.Timeout:
return {
"success": False,
"message": "请求超时"
}
except requests.exceptions.ConnectionError:
return {
"success": False,
"message": "连接失败,请检查网络"
}
except Exception as e:
return {
"success": False,
"message": f"发送失败: {str(e)}"
}
if __name__ == "__main__":
"""
使用方法:
1. 修改上面的配置参数:
- AUTH_CODE: 从负一屏获取授权码
2. 获取授权码:
a. 手机右滑进入负一屏
b. 点击左上角头像 -> 我的页 -> 设置
c. 进入"动态管理" -> "关联账号"
d. 找到"Claw智能体" -> 获取授权码
"""
# 执行推送
data = push_message('测试推送', '这是一条测试推送消息', '成功', timeout=30)
# 输出结果
print(json.dumps(data, ensure_ascii=False, indent=2))
if data.get("success"):
print("✅ 推送成功!请查看华为负一屏")
else:
print("❌ 推送失败")
