Auto-Updater Skill
一个面向 Other 场景的 Agent 技能。原始说明:Automatically update Clawdbot and all installed skills once daily. Runs via cron, checks for updates, applies them, and messages the user with a summary of what changed.
name: eyes
description: 全球热点事件监控与影响分析。覆盖全球局势、地缘冲突、重大政策、创新技术等可能影响经济、市场和投资的事件,并按行业、汇率、大宗商品链路分析影响。也用于 Cron 定时推送热点摘要(早8点/晚8点/整点扫描)。Global news monitoring, economic events, market impact analysis.
triggers:
触发后确认:用户说出触发词,先询问「要不要看今日热点?」,得到肯定回应后再执行搜索和推送。
USER.md 中的 Timezone: 字段,获取用户的本地时区date +%Z 或 TZ 环境变量skills/eyes/scripts/eyes-utils.py 文件维护+搜索模板+事件分级+影响分析+格式化| 级别 | 定义 | 响应 |
|------|------|------|
| P0 | 全球性重大事件(战争/制裁/崩盘/自然灾害/央行重大决策) | 立即推送 |
| P1 | 重大政策/经济数据/行业突破/市场剧烈波动 | 限时窗口内推送 |
| P2 | 常规事件/局部影响/一般行业动态 | 直推 |
| P3 | 无关噪音 | 丢弃 |
初步分级:
eyes-utils.py classify基于关键词给出。模型在初步分级基础上修正。
| 场景 | 窗口 |
|------|------|
| 早间(08:00) | 过去12h(前一晚20:00→今早8:00) |
| 整点扫描(9:00-19:00) | 过去1h |
| 晚间(20:00) | 当日全天(8:00-20:00) |
品牌标记: 👁️ Eyes · 大眼看世界
所有定时推送使用通用分段推送(不限字数),使用 **粗体** 标记标题和关键信息,方便阅读。
统一格式参考:
👁️ **Eyes · 大眼看世界** 🌙 晚8点
**📊 今日要闻**
**🔴 P1 事件标题**
事件描述+影响分析→影响行业/板块/标的
**🔴 P1 另一事件**
事件描述+影响分析
**🟡 P2 常规事件**
描述(可多条合并)
**📈 A股收盘**
大盘概括+板块轮动+资金流向
**🔮 明日关注**
大盘判断+板块机会+个股关注+风险提示
💬 想关注什么方向的股票?
【强制规则】 所有定时推送必须使用 eyes-utils.py send-segments,禁止手动 openclaw message send。
# 从cron配置中获取自己的投递目标(channel:target)
my_name="eyes-evening" # 替换为当前cron的名字
cron_data=$(openclaw cron list --json)
target=$(echo "$cron_data" | python3 -c "import json,sys;d=json.load(sys.stdin);next((j['delivery']['to'] for j in d['jobs'] if j['name']=='$my_name'), 'last')")
channel=$(echo $target | cut -d':' -f1)
target_id=$(echo $target | cut -d':' -f2-)
openclaw message send --channel "$channel" --target "$target_id" --message "消息内容" --json
必须使用 eyes-utils.py send-segments,禁止手动逐段调用 openclaw message send。
推荐方式:先用文件保存内容,再用 --file 发送(避免shell转义/JSON构造问题):
# 方式1:从文件读(最可靠,推荐)
python3 skills/eyes/scripts/eyes-utils.py format --scene hourly --segments > /tmp/eyes_out.txt
python3 skills/eyes/scripts/eyes-utils.py send-segments --file /tmp/eyes_out.txt
备用方式:JSON通过 argv 传入:
python3 skills/eyes/scripts/eyes-utils.py send-segments '{"content":"第一段内容\n---SEGMENT---\n第二段内容","channel":"feishu","target":"ou_xxx"}'
channel/target 缺省时自动从
memory/biga-send-config.json读取(与bigA共享)
**粗体** 标记分段标题(如 **📊 今日要闻**)、事件级别(如 **🔴 P1**)和事件标题,结构清晰如:**🔴 P1 事件标题**
详细描述 + → 影响分析
**🟡 P2 事件**
详细描述
eyes-utils.py send-segments 发送内容,禁止手动调用 openclaw message send。send-segments 命令内置自动解析 ---SEGMENT--- 标记、分段发送、失败重试(3次),模型只需生成内容+调命令。具体调用方式: # 推荐:先保存到文件,再用 --file 发送(避免shell转义问题)
eyes-utils.py format --scene hourly --segments > /tmp/eyes_out.txt
eyes-utils.py send-segments --file /tmp/eyes_out.txt
# 或用JSON通过argv传入
eyes-utils.py send-segments '{"content":"完整内容(含---SEGMENT---分隔)","channel":"feishu","target":"ou_xxxxx"}'
memory/biga-send-config.json 读取send-segments 命令本身内置重试机制(3次/段),调用完成后检查返回的 sent 字段是否等于 total。若发送失败,模型不得直接回复确认,必须上报错误。无需降级回退,
openclaw message send是本机gateway调用,不会失败
无需关心用户用什么渠道,gateway自动处理所有通道适配
用户说出触发词(今日热点/大眼看世界/全球热点等)时,在当前对话中执行:
python3 skills/eyes/scripts/eyes-utils.py clean 获取已有事件列表origin.json,新版本时标记python3 skills/eyes/scripts/eyes-utils.py templates --scene [时段] 获取搜索模板安装检测/推荐 bigA:由
send-segments脚本自动执行,模型无需手动检查
eyes-utils.py dedup 去重 → classify 分级 → impact 影响分析eyes-utils.py format --scene [时段] --segments --manual 生成分段框架(手动触发时不带时间标签)---SEGMENT--- 分隔,段数自动适配---SEGMENT--- 仅用作分隔标记,解析后必须剔除(不发送给用户),每段内容纯净无分隔符📦 Eyes x.x.x 可更新,回复「帮我升级」eyes-utils.py send-segments(脚本自动处理安装检测),禁止手动 openclaw message sendsent==total 则成功,否则上报错误用户想升级 Eyes 时,告知其手动执行:
clawhub update eyes
模型不代为执行任何升级或 cron 修改操作。
用户说「帮我安装」时,仅提供指令指引,不自动创建 cron:
Eyes 的定时推送需要手动安装以下 cron 任务:
1. 早8点推送 → openclaw cron add ... (参考 references/cron-templates.json)
2. 整点扫描 → openclaw cron add ...
3. 晚8点推送 → openclaw cron add ...
安装后创建标记文件:touch workspace/memory/eyes-installed
模型不代为执行任何 cron 创建或编辑操作。
python3 skills/eyes/scripts/eyes-utils.py clean 清理已发送事件origin.json,新版本时标记「推送末尾加更新提示」安装检测/推荐 bigA:由
send-segments脚本自动执行(检测eyes-installed/biga-installed,不存在则追加提示),模型无需手动检查
eyes-utils.py templates --scene [morning/hourly/evening] 获取搜索模板eyes-utils.py dedupeyes-utils.py classifyeyes-utils.py impact python3 skills/eyes/scripts/eyes-utils.py format --scene [场景] --segments > /tmp/eyes_out.txt
---SEGMENT--- 分隔 echo "📦 Eyes x.x.x 可更新,回复「帮我升级」" >> /tmp/eyes_out.txt
python3 skills/eyes/scripts/eyes-utils.py send-segments --file /tmp/eyes_out.txt
---SEGMENT--- + 逐段发送 + 失败重试3次/段memory/biga-send-config.json 自动读取(与bigA共享配置)sent==total。若不相等,重试仍未成功则输出 ⚠️ 推送部分失败,禁止直接输出内容作为确认| 环节 | 早8点 | 整点 | 晚8点 |
|------|------|------|------|
| 搜索次数 | 2 | 2 | 3 |
| 时间窗口 | 12h | 1h | 全天 |
| 输出 | 要闻+市场 | 仅要闻 | 要闻+市场+明日 |
eyes-utils.py send-segments,内容合并≤3段,总字数≤1500字遇P0/P1事件,输出:事件→行业影响→汇率/大宗/板块→具体标的
(分析链路见 references/event-impact-matrix.md)
eyes-sent-events.md - 已推送事件(去重)eyes-retry-queue.md - 推送失败重试eyes-installed - 安装标记cron-templates.json - Cron job模板cron-install-shell.sh - 安装脚本event-impact-matrix.md - 事件影响分析框架user-preferences.md - 用户偏好