/install eyes
Hot Event Monitor(热点事件监控)
核心能力
- 发现热点:实时抓取全球各类突发事件
- 分级评估:判断事件重要性(P0/P1/P2)
- 影响分析:按「事件类型 → 影响市场 → 代表标的」链路展开
- 主动提醒:根据等级推送摘要,用户追问再展开详细分析
- 偏好记忆:记住用户关注方向,下次加权推送
- 去重机制:避免同一条事件被重复推送
⚠️ 推送格式统一要求
所有推送消息(无论 Cron 触发还是用户主动触发)必须在开头包含品牌标记:
👁️ Eyes · 大眼看世界
━━━━━━━━━━━━━━━━━━
[正文内容]
━━━━━━━━━━━━━━━━━━
工作流程
Step 0:定时器安装检测(每次触发时执行)
目的:检测用户是否已完成 cron 定时器安装。未安装时在推送内容最前方插入提醒(仅提醒一次)。
标记文件:memory/eyes-installed(install.sh 成功跑完后创建,内容为安装时间)
操作:
- 读取
memory/eyes-installed - 若文件不存在:
- 在本次推送内容最前方(品牌标记之后、正文之前)插入以下提醒:
⚠️ Eyes 定时器未完成配置,当前仅支持手动触发。
直接回复「帮我安装」,AI 将自动完成配置。
配置完成后将自动开启每日早 8 点 / 晚 8 点热点汇总,以及每小时整点扫描。
━━━━━━━━━━━━━━━━━━
安装指令处理
当用户回复「帮我安装」(或不包含热点关键词的主动安装请求)时,由 agent 动态完成注册:
第一步:获取当前用户的 open_id
调用 feishu_get_user(不传参数,获取当前用户自己),从返回结果中取得用户的 open_id(格式:ou_xxx)。
第二步:注册 3 个 cron job(通用版)
依次执行以下 openclaw cron add 命令,将 \x3CUSER_OPEN_ID> 替换为第一步获取的真实 open_id:
# 早 8 点汇总
openclaw cron add \
--name "eyes-morning" \
--cron "0 8 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message '{"kind":"agentTurn","message":"执行 eyes skill 早间热点汇总任务:\
\
1. 搜索过去12小时内(即前一晚20:00到今早08:00之间)的全球热点事件\
2. 搜索时用多组关键词:战争/停火+最新,地缘+最新,政策+今天,经济数据+最新,灾害+最新,技术+最新\
3. 读取 memory/eyes-p2-pending.md,提取过去12小时内暂存的P2事件\
4. 合并去重后,按P0→P1→P2顺序输出完整热点汇总\
5. 每条事件附:级别标签+简述+市场影响(30字内)\
6. 推送完成后,清空 memory/eyes-p2-pending.md 中的当日记录\
7. 若过去12小时无任何新事件,发送「近12小时无重大热点事件」\
\
注意:格式按SKILL.md,每条事件控制在100字内,总推送不超过800字,开头必须有「👁️ Eyes · 大眼看世界」品牌标记。","timeoutSeconds":180}' \
--no-deliver \
--channel last \
--to "user:\x3CUSER_OPEN_ID>"
# 晚 8 点汇总
openclaw cron add \
--name "eyes-evening" \
--cron "0 20 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message '{"kind":"agentTurn","message":"执行 eyes skill 晚间热点汇总任务:\
\
1. 搜索过去12小时内(即当日早08:00到20:00之间)的全球热点事件\
2. 搜索时用多组关键词:战争/停火+今天,地缘+今天,政策+今天,经济数据+今天,灾害+今天,技术突破+今天\
3. 读取 memory/eyes-p2-pending.md,提取当日暂存的所有P2事件\
4. 合并去重后,按P0→P1→P2顺序输出完整热点汇总\
5. P0/P1事件附:级别标签+简述+市场影响+操作参考\
6. 推送完成后,清空 memory/eyes-p2-pending.md 中的当日记录\
7. 若当日无任何新事件,发送「今日无重大热点事件」\
\
注意:格式按SKILL.md,每条事件控制在100字内,总推送不超过800字,开头必须有「👁️ Eyes · 大眼看世界」品牌标记。","timeoutSeconds":180}' \
--no-deliver \
--channel last \
--to "user:\x3CUSER_OPEN_ID>"
# 每小时整点扫描
openclaw cron add \
--name "eyes-hourly" \
--cron "0 9-22 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message '{"kind":"agentTurn","message":"执行 eyes skill 整点扫描任务:\
\
1. 读取 memory/eyes-sent-events.md,获取过去24小时已推送事件列表,避免重复推送\
2. 搜索过去1小时内最新热点事件(关键词组:战争/冲突/停火+最新,地缘摩擦+最新,重大政策+今天,灾害+最新,技术突破+最新)\
3. 按P0/P1/P2分级标准评估每条事件\
4. P0/P1事件 → 立即推送完整摘要到飞书(开头必须有「👁️ Eyes · 大眼看世界」品牌标记,格式:标题+级别+简述+市场影响+操作参考,每条≤150字)\
5. P2事件 → 追加写入 memory/eyes-p2-pending.md,格式:[HH:MM] P2 | \x3C标题> | \x3C简述>\
6. 推送P0/P1后立即更新 memory/eyes-sent-events.md\
7. 若本次扫描未发现新事件,无需推送任何内容。\
\
注意:必须先读 eyes-sent-events.md 去重!只推送真正新的事件。","timeoutSeconds":150}' \
--no-deliver \
--channel last \
--to "user:\x3CUSER_OPEN_ID>"
第三步:创建安装标记文件
memory/eyes-installed
内容:
# Eyes skill 安装确认
安装时间:\x3C当前ISO时间>
第四步:回复用户
- 成功:「✅ Eyes 定时器配置完成!🌅 早 8 点 / 🌙 晚 8 点 / ⏰ 每小时扫描已就绪。从明早起会自动收到每日热点汇总。」
- 失败:告知错误信息,建议用户手动检查定时器:运行
openclaw cron list查看状态。
Step 1:读取状态(推送前必做)
读取 memory/eyes-sent-events.md,获取最近24小时内已推送事件列表。
格式:EVENT_ID | 推送时间 | 级别 | 摘要
目的:后续筛除已在列表中的事件,避免重复推送。
Step 2:发现热点
使用 tools.web_search 搜索多维度关键词,获取最新事件:
搜索组合(每次至少查 2-3 组):
- "\x3C高热度词>" 或 "最新" + "\x3C日期>"
- "\x3C事件名>" + "影响/市场/经济"
- "突发事件/热点新闻/最新消息"
常用搜索模式:
- 战争冲突:
"中东战争" "最新","美伊" "停火" "2026" - 地缘摩擦:
"台海" "最新","贸易战" "最新消息" - 政策:
"美联储" "利率" "决议","央行" "降准" "最新" - 灾害:
"地震" "最新","洪涝" "影响" - 技术:
"AI" "突破" "最新","固态电池" "量产"
⚠️ 搜索 provider 由 OpenClaw 配置决定,本 skill 不指定具体实现,动态路由。
Step 3:重要性分级
读取 references/event-impact-matrix.md 第8节,对照分级规则:
| 等级 | 触发条件 | 推送方式 |
|---|---|---|
| P0 | 战争爆发、大规模制裁、全球性危机、黑天鹅 | 立即推送,不等待定时 |
| P1 | 重要政策、地缘摩擦升级、大国博弈、重要经济数据 | 实时推送 |
| P2 | 一般灾害、行业新闻、局部事件 | 朝8点/晚8点汇总推送 |
分级优先原则:就高不就低,模糊时升一级。
Step 4:去重过滤
将搜索到的每条事件与 memory/eyes-sent-events.md 中的记录比对:
- 事件相似度 > 80%(相同当事人 + 相同结论)→ 跳过,不推送
- 事件为已推送事件的最新进展 → 仅当有实质性新进展时更新推送,标注「后续跟踪」
- 全新事件 → 进入 Step 5
去重判断标准:
- 相同地区 + 相同事件类型 + 相同结论方向 → 视为重复
- 例:"伊朗宣布关闭霍尔木兹海峡" vs "霍尔木兹海峡持续关闭" → 后者为跟进,跳过
- 例:"美伊停火协议达成" vs "以色列空袭黎巴嫩,停火破裂" → 结论方向改变 → 视为新事件
Step 5:影响分析(⚠️ 必须命中矩阵链路)
强制规则:每条事件必须归类到 event-impact-matrix.md 的 8 大类别之一,并严格沿用该类别的分析链路,不得自由发挥。
归类判断:
- 军事行动/武装冲突 → 类别1(战争/武装冲突)
- 贸易摩擦/关税/制裁 → 类别2(地缘摩擦/贸易战)
- 央行决议/降准/财政政策 → 类别3(重大政策)
- 疫情/公共卫生事件 → 类别4
- 极端天气/地震/自然灾害 → 类别5(自然灾害)
- AI突破/技术进展/新产品 → 类别6(创新技术)
- GDP/非农/CPI等数据发布 → 类别7(宏观经济数据)
- 不属于以上任何类别 → 默认走「地缘摩擦 → A股/港股承压」链路
链路使用规则:
- 严格对应:找到矩阵中对应事件类型,逐一列出受影响品种,不遗漏
- 不扩展品种:矩阵中没有的品种不主动添加,除非有明确逻辑链支撑
- 标注推导:每条影响后用「→」标注推导逻辑,如「→ 原油↑(供应担忧)」
- 不确定时注明:没有明确数据支撑时,用"可能/预计"表述,不编造数字
- 摘要优先:输出先给结论,用户追问再给详细链路
Step 6:更新推送记录
每推送一条 P0/P1 事件,立即追加一行到 memory/eyes-sent-events.md:
\x3C当前时间HH:MM> | \x3C级别> | \x3C事件摘要,20字内>
保留规则:自动清理超过 24 小时的旧记录(保留最新一行摘要)。
Step 7:推送摘要格式
推送前:先将完整推送内容写入 memory/eyes-retry-queue.md,格式:
[\x3C当前时间ISO>] | pending | \x3C推送内容>
发送:调用飞书发送接口。
发送成功 → 更新队列中该条状态为 done:[\x3C创建时间>] | done | \x3C内容>
发送失败 → 留在队列,status 保持 pending,repair job 会自动重试。
静默规则:无新事件时不推送任何消息。
👁️ Eyes · 大眼看世界
━━━━━━━━━━━━━━━━━━
📰 \x3C事件标题>
⏰ \x3C发生时间> | 🔴 P0 / 🟡 P1 / 🟢 P2
📌 \x3C事件简述(1-2句)>
💹 市场影响:
• \x3C市场/板块>:\x3C方向> \x3C简述>
• \x3C市场/板块>:\x3C方向> \x3C简述>
💡 操作参考:
• \x3C标的类型>:\x3C建议>
🔍 想了解更多?回复"展开"获取详细分析
字数控制:
- 即时推送(P0/P1):每条 ≤ 150 字
- 定时汇总(早8/晚8):每条 ≤ 100 字,总推送 ≤ 800 字
- 超出3条时只展示 Top3,其余标注"更多N条"
Step 8:更新偏好(自动提取 + 衰减清理)
提取触发:在同一次 eyes 对话中,用户提及以下任一内容超过 1 次:
- 任何股票代码(如 688981、002261)
- 任何行业名称(如"半导体"、"新能源"、"军工")
- 任何具体标的简称(如"中芯"、"昇腾"、"拓维")
- 任何市场名称(如"A股"、"港股"、"美股"、"原油"、"黄金")
提取流程:
- 读取当前
references/user-preferences.md - 检查该行业/标的是否已在列表中:
- 已存在 → 更新其
lastSeen为当前时间,status改为active - 不存在 → 追加新条目,
lastSeen为当前时间,status为active
- 已存在 → 更新其
- 将
更新时间更新为当前 ISO 时间戳 - 写回文件
衰减清理(仅在早 8 点汇总末尾执行一次):
today = 当前时间
for each item in 重点关注行业 / 关注标的:
days_since_seen = today - item.lastSeen
if 90 \x3C days_since_seen \x3C= 180:
item.status = "dimmed"(标注 ⚠️,移至列表末尾)
elif days_since_seen > 180:
从列表中移除该条目
写入更新后的文件
展示优先级:分析结果中,active 条目优先于 dimmed 条目
定时推送(Cron)
⚠️ Cron Job 配置(已实测稳定版本)
早8点推送(Cron Job:每天 08:00):
{
"name": "eyes-morning",
"schedule": { "kind": "cron", "expr": "0 8 * * *", "tz": "Asia/Shanghai" },
"payload": {
"kind": "agentTurn",
"message": "执行 eyes skill 早间热点汇总任务:\
\
1. 搜索过去12小时内(即前一晚20:00到今早08:00之间)的全球热点事件\
2. 搜索时用多组关键词:战争/停火+最新,地缘+最新,政策+今天,经济数据+最新,灾害+最新,技术+最新\
3. 读取 memory/eyes-p2-pending.md,提取过去12小时内暂存的P2事件\
4. 合并去重后,按P0→P1→P2顺序输出完整热点汇总\
5. 每条事件附:级别标签+简述+市场影响(30字内)\
6. 推送完成后,清空 memory/eyes-p2-pending.md 中的当日记录\
7. 若过去12小时无任何新事件,发送「近12小时无重大热点事件」\
\
注意:格式按SKILL.md,每条事件控制在100字内,总推送不超过800字,开头必须有「👁️ Eyes · 大眼看世界」品牌标记。",
"timeoutSeconds": 180
},
"sessionTarget": "isolated",
"delivery": { "mode": "none" }
}
晚8点推送(Cron Job:每天 20:00):
{
"name": "eyes-evening",
"schedule": { "kind": "cron", "expr": "0 20 * * *", "tz": "Asia/Shanghai" },
"payload": {
"kind": "agentTurn",
"message": "执行 eyes skill 晚间热点汇总任务:\
\
1. 搜索过去12小时内(即当日早08:00到20:00之间)的全球热点事件\
2. 搜索时用多组关键词:战争/停火+今天,地缘+今天,政策+今天,经济数据+今天,灾害+今天,技术突破+今天\
3. 读取 memory/eyes-p2-pending.md,提取当日暂存的所有P2事件\
4. 合并去重后,按P0→P1→P2顺序输出完整热点汇总\
5. P0/P1事件附:级别标签+简述+市场影响+操作参考\
6. 推送完成后,清空 memory/eyes-p2-pending.md 中的当日记录\
7. 若当日无任何新事件,发送「今日无重大热点事件」\
\
注意:格式按SKILL.md,每条事件控制在100字内,总推送不超过800字,开头必须有「👁️ Eyes · 大眼看世界」品牌标记。",
"timeoutSeconds": 180
},
"sessionTarget": "isolated",
"delivery": { "mode": "none" }
}
整点扫描(Cron Job:每小时 9-22点,timeout 设为 150s):
{
"name": "eyes-hourly",
"schedule": { "kind": "cron", "expr": "0 9-22 * * *", "tz": "Asia/Shanghai" },
"payload": {
"kind": "agentTurn",
"message": "执行 eyes skill 整点扫描任务:\
\
1. 读取 memory/eyes-sent-events.md,获取过去24小时已推送事件列表,避免重复推送\
2. 搜索过去1小时内最新热点事件(关键词组:战争/冲突/停火+最新,地缘摩擦+最新,重大政策+今天,灾害+最新,技术突破+最新)\
3. 按P0/P1/P2分级标准评估每条事件\
4. P0/P1事件 → 立即推送完整摘要到飞书(开头必须有「👁️ Eyes · 大眼看世界」品牌标记,格式:标题+级别+简述+市场影响+操作参考,每条≤150字)\
5. P2事件 → 追加写入 memory/eyes-p2-pending.md,格式:[HH:MM] P2 | \x3C标题> | \x3C简述>\
6. 推送P0/P1后立即更新 memory/eyes-sent-events.md\
7. 若本次扫描未发现新事件,无需推送任何内容。\
\
注意:必须先读 eyes-sent-events.md 去重!只推送真正新的事件。",
"timeoutSeconds": 150
},
"sessionTarget": "isolated",
"wakeMode": "now",
"delivery": { "mode": "none" }
}
常见问答
Q:搜索结果太多/太少怎么办? A:调整关键词,聚焦到具体事件或地区。新闻刚发生时用具体名词(如"伊朗停火"),持续事件用"最新进展"。
Q:事件影响不确定怎么办? A:分析逻辑链条,给出"可能↑/↓"而非确定结论,注明不确定因素。绝对不编数据。
Q:用户持仓和热点相关怎么办?
A:读取 references/user-preferences.md,若用户有关注行业/标的,在影响分析中优先提及并给出建议。
Q:同类型事件反复出现怎么办? A:识别为"持续事件",在摘要中标注"后续跟踪:XXX",简述最新进展而非重复背景。
Q:搜索延迟导致事件已过时? A:搜索结果中核对时间戳,优先引用 24 小时内的新闻,超时消息注明"早前报道"。
Q:P0/P1 事件在 Cron 扫描中被判定为重复但实际有新进展? A:以结论方向是否改变为判断标准。事件结论方向与已推送记录相同 → 跳过;结论方向改变(如停火达成→停火破裂)→ 视为新事件,正常推送。
工具依赖
- 搜索:调用
tools.web_search(OpenClaw 动态路由,按配置使用当前指定的搜索 provider,自动生成摘要) - 内存读写:读取/写入推送记录(
memory/eyes-sent-events.md)和 P2 暂存(memory/eyes-p2-pending.md) - 用户信息(可选):查询用户日历辅助判断关注点
- 消息推送:发送到飞书
文件索引
memory/eyes-sent-events.md:最近24小时已推送事件记录(自动维护,用于去重)memory/eyes-p2-pending.md:Cron 扫描中暂存的 P2 事件(由 hourly job 写入,由早/晚汇总 job 读取并清空)memory/eyes-installed:定时器安装标记(install.sh 跑完后自动创建)references/event-impact-matrix.md:8大类型事件的影响链路与分级规则references/user-preferences.md:用户个性化偏好(关注市场/行业/标的)
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install eyes - 安装完成后,直接呼叫该 Skill 的名称或使用
/eyes触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Eyes · 大眼看世界 是什么?
全球热点事件监控与影响分析。当用户说"大眼"、说"eyes"、说"查看热点"、"追踪事件"、"有什么大事"、"最近发生了什么"、"XX事件影响"、"帮我监控热点"、或用任何语言说类似含义时使用。也用于 Cron 定时推送热点摘要(早8点/晚8点)。覆盖战争冲突、地缘摩擦、重大政策、疫情、自然灾害、创新技术等所有可... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 112 次。
如何安装 Eyes · 大眼看世界?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install eyes」即可一键安装,无需额外配置。
Eyes · 大眼看世界 是免费的吗?
是的,Eyes · 大眼看世界 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Eyes · 大眼看世界 支持哪些平台?
Eyes · 大眼看世界 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Eyes · 大眼看世界?
由 kobenfang(@kobenfang)开发并维护,当前版本 v1.0.1。