从论文、模型发布到资本市场、政策监管与开源生态, 统一抓取、去重、分析、订阅、推送,并通过 MCP + CLI 对外提供可编排接口。
📣 多渠道订阅推送
🏷️ 重要标签
中文 | English | हिन्दी | Español | العربية | Français | Português | বাংলা | 日本語 | 한국어
AI 信息分散在不同来源,且更新速度极快。单靠手动跟踪,通常会遇到:
- 信号分散:论文、厂商公告、财报、政策、开源趋势互相割裂。
- 时效噪声:旧新闻反复出现,难以筛出真正增量。
- 去重困难:跨源转载导致重复抓取、重复推送。
- 自动化不足:很难把“信息获取”直接接入 Agent 工作流。
OpenHawk 的目标是把这些环节做成一套可持续运行、可扩展、可被智能体直接调用的情报基础设施。
- AI 研究者:持续跟踪论文与方法演化。
- 产品/工程团队:跟踪模型发布、开源工具链与开发者信号。
- 投研与商业分析团队:跟踪 AI 相关财报、资本市场与产业报告。
- 政策与合规团队:跟踪多地区监管与安全事件。
- Agent Builder:需要可编排的 MCP/CLI 工具接口。
| 页面 | 主要用途 | 典型来源 |
|---|---|---|
| AI论文雷达 | 学术追踪与论文深度分析 | arXiv 等学术 RSS |
| AI 前沿雷达 | 模型/产品/技术进展 | 厂商官网、技术博客、官方新闻 |
| AI 财经信息 | 资本市场与公司动态 | 财报、电话会、市场资讯、投融资 |
| AI 产业报告 | 产业研究洞察 | 全球机构报告、白皮书 |
| AI 政策与安全 | 监管与风险事件 | 政策机构、监管公告、安全事件源 |
| AI 开源生态与开发者信号 | 开源工具与社区信号 | GitHub Trending、开源项目动态 |
这 6 个页面互不隶属。每个页面都有独立参数、独立订阅、独立推送配置。
- 多源抓取 + 区域化组织(按国家/地区与来源类型组织渠道)。
- 历史持久化与去重(避免重复抓取、重复推送)。
- 默认新鲜度控制(如 90 天窗口)减少陈旧信息噪声。
- 统一翻译管线(任意目标语言),覆盖标题、LLM 分析与推送内容。
- 多渠道通知:
feishu、wework、wechat、telegram、dingtalk、ntfy、bark、slack、email。 - 智能推送策略:
daily/incremental/realtime。 - 定时抓取与自动订阅推送。
- MCP 工具化接口。
- Agent CLI(本次新增)支持脚本化直接调用工具。
- 统一作用范围:同一条链路覆盖
标题、LLM 摘要/分析、推送正文,避免多套翻译逻辑割裂。 - 目标语言:支持
English、Korean、Japanese、French、Chinese、Traditional Chinese,也支持自定义任意目标语言。 - 成本控制:批量翻译、增量补全、历史持久化复用,默认只翻译缺失或需要更新的字段,减少重复 API 调用。
- 一致性:Web、MCP、CLI 使用同一
output_language配置语义,页面展示与通知内容保持一致语言输出。
示例(CLI):
# 将 AI 财经页面输出语言设置为日文
openhawk-ai-cli call save_scope_settings --args '{"scope":"market_finance","output_language":"Japanese"}'
# 触发抓取并按该语言进行后续内容呈现/推送
openhawk-ai-cli call fetch_scope_items --args '{"scope":"market_finance","max_per_source":20}'| 策略 | 触发方式 | 适用场景 | 特点 |
|---|---|---|---|
daily |
每日定时汇总推送 | 管理层日报、团队晨报 | 全量主题聚合,适合稳定节奏 |
incremental |
定时窗口内仅推新增 | 日常监控 | 去重零重复,噪声更低 |
realtime |
事件触发即时推送 | 重磅模型发布、政策突发、融资快讯 | 不等待定时,优先级高、时效强 |
说明:
- 策略按“订阅规则”独立生效,可在 6 个页面分别配置。
- 可与过滤条件组合(来源、区域、事件类型、关键词)实现精细化告警。
+---------------------------+
| Data Sources |
| papers / frontier / ... |
+-------------+-------------+
|
v
+----------------+ +------------+ +-------------------+
| Fetch & Dedupe |-->| Persistence|-->| Analysis & Routing|
+----------------+ +------------+ +-------------------+
| |
v v
+-------------+ +------------------+
| Web Console | | Notification Push |
+------+------+ +------------------+
|
+----------+----------+
| MCP Server / CLI |
| (agent automation) |
+---------------------+
| 页面 1 | 页面 2 |
|---|---|
![]() |
![]() |
![]() |
![]() |
- Python
>= 3.12 - 推荐使用
uv - Docker 用户需安装
Docker+Docker Compose
uv sync --locked- 运行爬取主程序(一次执行):
openhawk-ai- 运行交互式 Web 控制台(6 页面 UI):
python -m openhawk_ai.web.panel_server --port 8080 --output-dir output- 启动 MCP 服务(HTTP):
openhawk-ai-mcp --transport http --host 0.0.0.0 --port 3333docker compose -f docker/docker-compose.yml up -d --build默认端口:
- 主服务(容器内 Web 端口映射):
WEBSERVER_PORT(默认 8080) - MCP:
http://127.0.0.1:3333/mcp
停止:
docker compose -f docker/docker-compose.yml down查看日志:
docker compose -f docker/docker-compose.yml logs -f为了让智能体或脚本不走 MCP transport 也能直接调用工具,新增了 openhawk-ai-cli。
- 与 MCP 工具保持同构(同名工具、同参数语义)。
- JSON 输入 / JSON 输出,便于自动化编排。
- 适合 Shell、CI、Python subprocess、Agent 执行器。
openhawk-ai-cli tools- 列出所有可调用工具及参数:
openhawk-ai-cli tools- 调用工具(内联 JSON 参数):
openhawk-ai-cli call list_scope_items --args '{"scope":"market_finance","limit":20}'- 调用工具(参数文件):
openhawk-ai-cli call upsert_scope_subscription --args-file ./payload.json- 指定项目根目录和输出目录:
openhawk-ai-cli --project-root . --output-dir ./output call get_project_overview- 紧凑 JSON 输出(适合管道处理):
openhawk-ai-cli call list_scopes --compact- 使用
ConvertTo-Json+--args-file(最稳妥):
$payload = @{ scope = "market_finance"; limit = 20 } | ConvertTo-Json -Compress
$payload | Set-Content -Encoding utf8 .\payload.json
openhawk-ai-cli call list_scope_items --args-file .\payload.json --compact- 使用 Here-String 写参数文件:
@'
{
"scope": "frontier",
"max_per_source": 20,
"source_ids": ["openai-news", "anthropic-news"]
}
'@ | Set-Content -Encoding utf8 .\payload.json
openhawk-ai-cli call fetch_scope_items --args-file .\payload.json --compact- 不带参数的工具可直接调用:
openhawk-ai-cli call get_project_overview --compact0:调用成功。1:执行期异常。2:参数错误 / 工具不存在 / JSON 格式错误。
CLI 本身的固定参数如下:
| 级别 | 参数 | 说明 |
|---|---|---|
| 全局 | --project-root |
覆盖项目根目录 |
| 全局 | --output-dir |
覆盖运行输出目录 |
| 全局 | --compact |
输出紧凑 JSON |
| 子命令 | tools |
列出可调用工具 |
| 子命令 | call <tool> |
调用指定工具 |
call 选项 |
--args |
内联 JSON 参数 |
call 选项 |
--args-file |
从 JSON 文件读参数 |
CLI 业务参数由具体工具决定,直接执行以下命令可查看全部工具参数定义:
openhawk-ai-cli tools --compact覆盖边界:
- 已覆盖当前 MCP 暴露的全部 22 个工具能力(项目概览、页面抓取、页面设置、页面订阅、论文分析等)。
- 不直接覆盖进程/容器生命周期管理(例如启动或停止 Docker、启动 Web 服务进程)。
- 不直接覆盖前端交互行为本身(例如浏览器点击),但可覆盖其对应的数据层操作(设置、抓取、订阅、推送)。
# stdio
python -m mcp_server.server --transport stdio
# http
python -m mcp_server.server --transport http --host 0.0.0.0 --port 3333HTTP Endpoint:
http://127.0.0.1:3333/mcp
- 项目概览
get_project_overviewlist_pageslist_scopes
- 全局设置
get_global_settingssave_global_settings
- 页面数据与抓取
list_scope_sourceslist_scope_itemsfetch_scope_itemsget_scope_settingssave_scope_settings
- 页面订阅
list_scope_subscriptionsupsert_scope_subscriptiondelete_scope_subscriptionrun_scope_subscriptions
- 论文能力
list_papersget_paper_detaildeep_analyze_paperset_paper_action
- 论文订阅
list_paper_subscriptionsupsert_paper_subscriptiondelete_paper_subscriptionrun_paper_subscriptions
主要配置目录:config/
关键文件:
config/config.yaml:主配置(抓取、推送、AI、存储等)config/timeline.yaml:定时策略(预设与自定义)config/frequency_words.txt:关键词规则config/ai_interests.txt:兴趣方向定义config/ai_analysis_prompt.txt:分析提示词config/ai_translation_prompt.txt:翻译提示词
运行输出目录:output/
常见持久化数据:
output/ai_progress_items.jsonoutput/ai_progress_seen.jsonoutput/panel_settings.jsonoutput/progress_page_settings.jsonoutput/panel_subscriptions.jsonoutput/progress_subscriptions.jsonoutput/news/*.dboutput/rss/*.db
已支持并在后端 + 前端 + MCP + CLI 统一:
feishuweworkwechat(个人微信,基于 WeCom text)telegramdingtalkntfybarkslackemail
.
├─ openhawk_ai/ # 核心能力(抓取/分析/通知/Web)
│ ├─ __main__.py # 主程序入口
│ ├─ agent_cli.py # Agent CLI 入口(新增)
│ └─ web/panel_server.py # 交互式控制台服务
├─ mcp_server/ # MCP 服务
├─ config/ # 配置与提示词
├─ docker/ # Dockerfile / compose / 入口脚本
├─ docs/assets/ # README 视觉资源(含 OpenHawk SVG)
├─ output/ # 运行时持久化数据
├─ README.md
└─ README-EN.md
CLI 直接调用 MCP 同构工具函数;MCP 适合协议接入,CLI 适合脚本与本地自动化。
CLI 能覆盖当前 MCP 已暴露的全部能力(22 个工具)。如果你在 UI 上能做的是数据层操作(抓取、查阅、设置、订阅、推送),通常都可以通过 CLI 实现。
请检查:
output/ai_progress_seen.json是否被挂载并持久化。- 是否开启了多个重复订阅规则。
timeline与页面级订阅是否在同一时间窗重复触发。
最简单方式:让 Agent 先调用
openhawk-ai-cli call get_project_overview然后按需调用 list_scope_items / list_papers / run_*_subscriptions。
- 本项目在产品思路与工程实践上参考并致谢 TrendRadar。
- OpenHawk 在此基础上进行了独立演进,包括 6 页面并列体系、区域化数据源、多渠道订阅推送、MCP + Agent CLI 一体化等。
本项目采用 MIT License。





