Hermes-agent
This commit is contained in:
+268
@@ -0,0 +1,268 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
title: "教程:每日简报机器人"
|
||||
description: "构建一个自动化每日简报机器人,研究主题、汇总发现,并每天早晨推送至 Telegram 或 Discord"
|
||||
---
|
||||
|
||||
# 教程:构建每日简报机器人
|
||||
|
||||
在本教程中,你将构建一个个人简报机器人,它每天早晨自动启动,研究你关心的主题,汇总发现,并将简洁的简报直接推送到你的 Telegram 或 Discord。
|
||||
|
||||
完成后,你将拥有一个完全自动化的工作流,结合了 **网页搜索**、**cron 调度**、**委托(delegation)** 和 **消息推送** — 无需编写代码。
|
||||
|
||||
## 我们要构建什么
|
||||
|
||||
流程如下:
|
||||
|
||||
1. **上午 8:00** — cron 调度器触发任务
|
||||
2. **Hermes 启动**一个全新的 agent 会话,使用你的 prompt(提示词)
|
||||
3. **网页搜索**拉取你关注主题的最新新闻
|
||||
4. **汇总**将内容提炼为简洁的简报格式
|
||||
5. **推送**将简报发送到你的 Telegram 或 Discord
|
||||
|
||||
整个流程无需人工干预。你只需在早晨喝咖啡时阅读简报即可。
|
||||
|
||||
## 前提条件
|
||||
|
||||
开始之前,请确保:
|
||||
|
||||
- **已安装 Hermes Agent** — 参见[安装指南](/getting-started/installation)
|
||||
- **Gateway 正在运行** — gateway 守护进程负责处理 cron 执行:
|
||||
```bash
|
||||
hermes gateway install # Install as a user service
|
||||
sudo hermes gateway install --system # Linux servers: boot-time system service
|
||||
# or
|
||||
hermes gateway # Run in foreground
|
||||
```
|
||||
- **Firecrawl API 密钥** — 在环境变量中设置 `FIRECRAWL_API_KEY` 以启用网页搜索
|
||||
- **已配置消息推送**(可选但推荐)— 已设置 [Telegram](/user-guide/messaging/telegram) 或 Discord 并配置了 home channel
|
||||
|
||||
:::tip 没有消息推送?没关系
|
||||
你仍然可以使用 `deliver: "local"` 跟随本教程。简报将保存至 `~/.hermes/cron/output/`,你可以随时查阅。
|
||||
:::
|
||||
|
||||
## 第一步:手动测试工作流
|
||||
|
||||
在自动化之前,先确认简报功能正常。启动聊天会话:
|
||||
|
||||
```bash
|
||||
hermes
|
||||
```
|
||||
|
||||
然后输入以下 prompt:
|
||||
|
||||
```
|
||||
Search for the latest news about AI agents and open source LLMs.
|
||||
Summarize the top 3 stories in a concise briefing format with links.
|
||||
```
|
||||
|
||||
Hermes 将搜索网页、阅读结果,并生成类似以下内容:
|
||||
|
||||
```
|
||||
☀️ Your AI Briefing — March 8, 2026
|
||||
|
||||
1. Qwen 3 Released with 235B Parameters
|
||||
Alibaba's latest open-weight model matches GPT-4.5 on several
|
||||
benchmarks while remaining fully open source.
|
||||
→ https://qwenlm.github.io/blog/qwen3/
|
||||
|
||||
2. LangChain Launches Agent Protocol Standard
|
||||
A new open standard for agent-to-agent communication gains
|
||||
adoption from 15 major frameworks in its first week.
|
||||
→ https://blog.langchain.dev/agent-protocol/
|
||||
|
||||
3. EU AI Act Enforcement Begins for General-Purpose Models
|
||||
The first compliance deadlines hit, with open source models
|
||||
receiving exemptions under the 10M parameter threshold.
|
||||
→ https://artificialintelligenceact.eu/updates/
|
||||
|
||||
---
|
||||
3 stories • Sources searched: 8 • Generated by Hermes Agent
|
||||
```
|
||||
|
||||
如果运行正常,你就可以开始自动化了。
|
||||
|
||||
:::tip 反复调整格式
|
||||
尝试不同的 prompt,直到得到你满意的输出。可以添加诸如"使用 emoji 标题"或"每条摘要不超过 2 句话"之类的指令。最终确定的内容将写入 cron 任务。
|
||||
:::
|
||||
|
||||
## 第二步:创建 Cron 任务
|
||||
|
||||
现在让我们将其设置为每天早晨自动运行。有两种方式可以实现。
|
||||
|
||||
在创建 cron 任务之前,请确保 Hermes 已全局配置了默认模型和 provider。如果你希望某个任务使用不同的值,可在创建时设置该任务专属的 model/provider 覆盖项。
|
||||
|
||||
### 方式 A:自然语言(在聊天中)
|
||||
|
||||
直接告诉 Hermes 你想要什么:
|
||||
|
||||
```
|
||||
Every morning at 8am, search the web for the latest news about AI agents
|
||||
and open source LLMs. Summarize the top 3 stories in a concise briefing
|
||||
with links. Use a friendly, professional tone. Deliver to telegram.
|
||||
```
|
||||
|
||||
Hermes 将使用统一的 `cronjob` 工具为你创建 cron 任务。
|
||||
|
||||
### 方式 B:CLI 斜杠命令
|
||||
|
||||
使用 `/cron` 命令进行更精细的控制:
|
||||
|
||||
```
|
||||
/cron add "0 8 * * *" "Search the web for the latest news about AI agents and open source LLMs. Find at least 5 recent articles from the past 24 hours. Summarize the top 3 most important stories in a concise daily briefing format. For each story include: a clear headline, a 2-sentence summary, and the source URL. Use a friendly, professional tone. Format with emoji bullet points and end with a total story count."
|
||||
```
|
||||
|
||||
### 黄金法则:自包含的 Prompt
|
||||
|
||||
:::warning 关键概念
|
||||
Cron 任务在**全新会话**中运行 — 不保留之前对话的任何记忆,也不了解你"之前设置"的任何内容。你的 prompt 必须包含 agent 完成任务所需的**一切信息**。
|
||||
:::
|
||||
|
||||
**糟糕的 prompt:**
|
||||
```
|
||||
Do my usual morning briefing.
|
||||
```
|
||||
|
||||
**好的 prompt:**
|
||||
```
|
||||
Search the web for the latest news about AI agents and open source LLMs.
|
||||
Find at least 5 recent articles from the past 24 hours. Summarize the
|
||||
top 3 most important stories in a concise daily briefing format. For each
|
||||
story include: a clear headline, a 2-sentence summary, and the source URL.
|
||||
Use a friendly, professional tone. Format with emoji bullet points.
|
||||
```
|
||||
|
||||
好的 prompt 明确说明了**搜索什么**、**多少篇文章**、**什么格式**以及**什么语气**。它在一次输入中包含了 agent 所需的全部信息。
|
||||
|
||||
## 第三步:自定义简报
|
||||
|
||||
基础简报运行正常后,你可以进一步发挥创意。
|
||||
|
||||
### 多主题简报
|
||||
|
||||
在一份简报中涵盖多个领域:
|
||||
|
||||
```
|
||||
/cron add "0 8 * * *" "Create a morning briefing covering three topics. For each topic, search the web for recent news from the past 24 hours and summarize the top 2 stories with links.
|
||||
|
||||
Topics:
|
||||
1. AI and machine learning — focus on open source models and agent frameworks
|
||||
2. Cryptocurrency — focus on Bitcoin, Ethereum, and regulatory news
|
||||
3. Space exploration — focus on SpaceX, NASA, and commercial space
|
||||
|
||||
Format as a clean briefing with section headers and emoji. End with today's date and a motivational quote."
|
||||
```
|
||||
|
||||
### 使用委托进行并行研究
|
||||
|
||||
若要加快简报生成速度,可以告诉 Hermes 将每个主题委托给子 agent:
|
||||
|
||||
```
|
||||
/cron add "0 8 * * *" "Create a morning briefing by delegating research to sub-agents. Delegate three parallel tasks:
|
||||
|
||||
1. Delegate: Search for the top 2 AI/ML news stories from the past 24 hours with links
|
||||
2. Delegate: Search for the top 2 cryptocurrency news stories from the past 24 hours with links
|
||||
3. Delegate: Search for the top 2 space exploration news stories from the past 24 hours with links
|
||||
|
||||
Collect all results and combine them into a single clean briefing with section headers, emoji formatting, and source links. Add today's date as a header."
|
||||
```
|
||||
|
||||
每个子 agent 独立并行搜索,然后主 agent 将所有内容合并为一份精美的简报。详见[委托文档](/user-guide/features/delegation)了解其工作原理。
|
||||
|
||||
### 仅工作日调度
|
||||
|
||||
不需要周末简报?使用针对周一至周五的 cron 表达式:
|
||||
|
||||
```
|
||||
/cron add "0 8 * * 1-5" "Search for the latest AI and tech news..."
|
||||
```
|
||||
|
||||
### 每日两次简报
|
||||
|
||||
获取早晨概览和傍晚回顾:
|
||||
|
||||
```
|
||||
/cron add "0 8 * * *" "Morning briefing: search for AI news from the past 12 hours..."
|
||||
/cron add "0 18 * * *" "Evening recap: search for AI news from the past 12 hours..."
|
||||
```
|
||||
|
||||
### 通过 Memory 添加个人上下文
|
||||
|
||||
如果你启用了 [memory(记忆)](/user-guide/features/memory),可以存储跨会话持久保留的偏好设置。但请记住 — cron 任务在全新会话中运行,不保留对话记忆。若要添加个人上下文,请直接将其写入 prompt:
|
||||
|
||||
```
|
||||
/cron add "0 8 * * *" "You are creating a briefing for a senior ML engineer who cares about: PyTorch ecosystem, transformer architectures, open-weight models, and AI regulation in the EU. Skip stories about product launches or funding rounds unless they involve open source.
|
||||
|
||||
Search for the latest news on these topics. Summarize the top 3 stories with links. Be concise and technical — this reader doesn't need basic explanations."
|
||||
```
|
||||
|
||||
:::tip 定制受众角色
|
||||
在 prompt 中加入简报受众的详细信息,能显著提升内容相关性。告诉 agent 你的角色、兴趣以及需要跳过的内容。
|
||||
:::
|
||||
|
||||
## 第四步:管理你的任务
|
||||
|
||||
### 列出所有已调度任务
|
||||
|
||||
在聊天中:
|
||||
```
|
||||
/cron list
|
||||
```
|
||||
|
||||
或在终端中:
|
||||
```bash
|
||||
hermes cron list
|
||||
```
|
||||
|
||||
你将看到类似以下的输出:
|
||||
|
||||
```
|
||||
ID | Name | Schedule | Next Run | Deliver
|
||||
------------|-------------------|-------------|--------------------|--------
|
||||
a1b2c3d4 | Morning Briefing | 0 8 * * * | 2026-03-09 08:00 | telegram
|
||||
e5f6g7h8 | Evening Recap | 0 18 * * * | 2026-03-08 18:00 | telegram
|
||||
```
|
||||
|
||||
### 删除任务
|
||||
|
||||
在聊天中:
|
||||
```
|
||||
/cron remove a1b2c3d4
|
||||
```
|
||||
|
||||
或通过对话方式:
|
||||
```
|
||||
Remove my morning briefing cron job.
|
||||
```
|
||||
|
||||
Hermes 将使用 `cronjob(action="list")` 查找任务,并使用 `cronjob(action="remove")` 将其删除。
|
||||
|
||||
### 检查 Gateway 状态
|
||||
|
||||
确认调度器正在运行:
|
||||
|
||||
```bash
|
||||
hermes cron status
|
||||
```
|
||||
|
||||
如果 gateway 未运行,你的任务将不会执行。将其安装为后台服务以确保可靠性:
|
||||
|
||||
```bash
|
||||
hermes gateway install
|
||||
# or on Linux servers
|
||||
sudo hermes gateway install --system
|
||||
```
|
||||
|
||||
## 进一步探索
|
||||
|
||||
你已经构建了一个可运行的每日简报机器人。以下是一些可以继续探索的方向:
|
||||
|
||||
- **[定时任务(Cron)](/user-guide/features/cron)** — 调度格式、重复限制和推送选项的完整参考
|
||||
- **[委托](/user-guide/features/delegation)** — 深入了解并行子 agent 工作流
|
||||
- **[消息推送平台](/user-guide/messaging)** — 设置 Telegram、Discord 或其他推送目标
|
||||
- **[Memory](/user-guide/features/memory)** — 跨会话的持久上下文
|
||||
- **[技巧与最佳实践](/guides/tips)** — 更多 prompt 工程建议
|
||||
|
||||
:::tip 还能调度什么?
|
||||
简报机器人的模式适用于任何场景:竞争对手监控、GitHub 仓库摘要、天气预报、投资组合追踪、服务器健康检查,甚至每日笑话。只要你能用 prompt 描述它,就能调度它。
|
||||
:::
|
||||
Reference in New Issue
Block a user