名称: sec-filing-watcher
描述: 监控 SEC EDGAR 的新文件提交,并通过 Clawdbot 获取 Telegram/Slack 摘要。适用于设置 SEC 文件提醒、添加/删除监控的股票代码、配置文件类型、启动/停止监控器或排查文件通知问题。
监控 SEC EDGAR,获取监控列表中的股票代码的新文件提交。当出现新文件时,通知 Clawdbot 获取、总结并发送至 Telegram。
cp assets/watchlist.example.json watchlist.json
# 使用你的股票代码编辑 watchlist.json
设置以下环境变量(例如在 shell 配置文件或 OpenClaw 技能配置中):
| 变量 | 必填 | 描述 |
|---|---|---|
OPENCLAW_HOOKS_TOKEN |
是 | 你的 OpenClaw hooks token |
SEC_WATCHER_RECIPIENT |
是 | 接收通知的聊天/用户 ID |
SEC_WATCHER_CHANNEL |
否 | 用于发送通知的通道插件(默认:telegram) |
SEC_WATCHER_USER_AGENT |
否 | SEC API 的 User-Agent 字符串(SEC 要求包含联系信息) |
node scripts/watcher.js
首次运行会记录现有文件(不发送通知)。第二次运行将检查新文件。
macOS:
cp assets/com.sec-watcher.plist ~/Library/LaunchAgents/
# 编辑 plist 文件,设置正确的路径
launchctl load ~/Library/LaunchAgents/com.sec-watcher.plist
Linux:
crontab -e
# 添加:*/15 * * * * /usr/bin/node /path/to/scripts/watcher.js >> /path/to/watcher.log 2>&1
在 watchlist.json 中添加或删除股票代码:
{
"tickers": ["AAPL", "MSFT", "TSLA"],
"formTypes": ["10-K", "10-Q", "8-K", "4"]
}
新添加的股票代码会自动记录现有文件(不会重复通知)。
常见 SEC 文件类型请参阅 references/form-types.md。
检查状态:
launchctl list | grep sec-watcher
查看日志:
cat ~/clawd/sec-filing-watcher/watcher.log
停止监控:
launchctl unload ~/Library/LaunchAgents/com.sec-watcher.plist
启动监控:
launchctl load ~/Library/LaunchAgents/com.sec-watcher.plist
手动运行:
node scripts/watcher.js
| 文件 | 用途 |
|---|---|
scripts/watcher.js |
主监控脚本 |
watchlist.json |
你的股票代码和文件类型列表 |
state.json |
记录已处理文件(自动创建) |
watcher.log |
输出日志(如已配置) |
无通知:
- 检查 state.json 是否存在(首次运行记录,第二次运行通知)
- 验证 watcher.js 配置中的 webhook URL 和 token
- 检查 Clawdbot 是否运行:clawdbot status
SEC 屏蔽请求:
- 脚本使用正确的 User-Agent 请求头
- 如被屏蔽,请等待 10 分钟(SEC 频率限制冷却时间)
重复通知:
- 检查 state.json 是否损坏
- 删除 state.json 以重新记录(会再次记录所有现有文件)