# How to Build a Claude Research Agent That Reads the Internet Every Morning and Briefs You in 5 Mins
**作者**: CyrilXBT
**日期**: 2026-05-25T03:16:38.000Z
**来源**: [https://x.com/cyrilXBT/status/2058749052712276332](https://x.com/cyrilXBT/status/2058749052712276332)
---

Most people start their day the same way.
They open Twitter and spend 20 minutes scrolling through noise looking for the three things that actually matter. They open their email and get pulled into reactive mode before they have done a single thing they intended to do. They check their RSS reader and feel overwhelmed by 200 unread items they will never get through. They open a news aggregator and read three articles about things that have no bearing on their work or their life.
Forty-five minutes later they are behind, stressed, and no better informed than if they had slept fifteen minutes longer.
The Claude research agent solves this problem permanently.
Every morning before you open anything, a Claude agent has already read every source that matters to your work, filtered everything irrelevant, synthesized the developments worth knowing, and deposited a structured 5-minute brief in your Obsidian vault.
You wake up. You read the brief. In five minutes you know everything you need to know. You start working.
This article is the complete build guide from zero to a running agent that briefs you every morning automatically.
## What the Research Agent Actually Does
Before the technical build, understand exactly what you are building and why each component matters.
The research agent performs four functions every morning automatically.
Source monitoring. It reads every information source you configure. Industry news. Competitor websites. Academic papers in your field. Specific newsletters. YouTube channels that publish research. Podcast transcripts. GitHub repositories you follow. Reddit communities in your niche. Any source where important information for your work might appear.
Signal filtering. It does not summarize everything it reads. It identifies what is actually significant based on criteria you define. A new product launch from a competitor is significant. A blog post rehashing the same information published last week is not. The filtering layer is what makes the brief genuinely useful rather than just a compressed version of everything.
Synthesis. It does not list the significant items as bullet points. It synthesizes them into a structured narrative that tells you what happened, why it matters, how it connects to things you already know, and what you should probably do about it.
Delivery. It deposits the brief in a specific location in your Obsidian vault every morning at a configured time so it is waiting when you open your laptop rather than requiring you to trigger it manually.
These four functions replace forty-five minutes of daily information gathering with five minutes of reading.
## The Technical Architecture
The research agent has five components. Each one has a specific role. Remove any one of them and the system produces worse results.
Claude is the intelligence layer. It reads raw information from sources, applies your criteria to filter what matters, and synthesizes the filtered information into a structured brief.
The Filesystem MCP connects Claude to your Obsidian vault. It gives Claude direct read and write access to your vault so it can read your CLAUDE.md for context and deposit the brief in the correct folder automatically.
Brave Search MCP gives Claude access to real-time web search. Without this Claude can only reason about information up to its training cutoff. With it Claude searches the live web and finds the most current information on any topic you specify.
N8N schedules the entire workflow. It fires the research agent at your configured time every morning, passes the correct context to Claude, receives the output, and saves it to your vault.
CLAUDE.md is the context layer that makes the brief relevant to your specific situation rather than generically informative. It tells Claude what you do, what you care about, what you already know, and what kind of information is actually actionable for you.
## Setting Up the Foundation
Before you build the workflow you need three things in place.
Claude Desktop with MCP connections.
Install Claude Desktop from claude.ai/download.
Configure your claude_desktop_config.json with the Filesystem and Brave Search MCP servers:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/your/obsidian/vault"
]
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-brave-api-key"
}
}
}
}
Get your Brave Search API key at brave.com/search/api. The free tier allows 2,000 queries per month which is more than sufficient for a daily research agent.
Restart Claude Desktop after saving the config. Verify the connections are live by asking Claude to search for something and checking that it returns real-time results.
Your Obsidian vault structure.
Create a folder called BRIEFINGS inside your vault if you do not already have one. This is where every morning brief will be deposited.
vault/
BRIEFINGS/
[YYYY-MM-DD]-morning-brief.md ← auto-generated daily
CLAUDE.md
[rest of your vault]
N8N self-hosted.
Self-hosted N8N on a $5 DigitalOcean droplet gives you unlimited workflow runs with no per-execution pricing.
If you do not have N8N set up follow this sequence: create a DigitalOcean account, spin up the smallest Ubuntu droplet, SSH in, install N8N via npm, and configure it to run as a service.
The full N8N setup takes about 30 minutes the first time. Every workflow you build after that uses the same infrastructure.
## Writing the CLAUDE.md Research Context
The CLAUDE.md is what makes the brief relevant to you specifically.
A generic research agent produces generic briefs. A research agent configured with your specific context produces briefs where every item is directly relevant to your work and your decisions.
Add a Research Context section to your existing CLAUDE.md or create a dedicated research CLAUDE.md in your vault:
# Research Agent Context
## Who I Am
[Your name, your role, what you do]
## My Primary Focus Areas
[List the specific topics, industries, or domains
where you need to stay informed]
## What Constitutes Significant News for Me
[Be specific. Not "AI news" but "Claude Code updates,
new MCP servers, multi-agent frameworks, AI agent
security developments"]
## My Competitive Landscape
[Specific companies, people, products you monitor]
## What I Already Know Well
[Topics where you have deep expertise and therefore
only need significant new developments, not
introductory coverage]
## What I Am Currently Working On
[Active projects where relevant news would be
directly actionable — UPDATE WEEKLY]
## Sources I Trust
[Specific publications, newsletters, researchers,
YouTube channels, subreddits worth prioritizing]
## What I Specifically Do NOT Want
[Topics that show up in your niche but waste your
time — generic AI hype pieces, rehashed content,
announcements from companies you do not care about]
## Brief Format Preference
[How you want the output structured — see template below]
The What I Specifically Do NOT Want section is the most important one most people skip.
Without it Claude includes everything tangentially related to your topics. With it Claude filters aggressively and the brief contains only what you would actually act on.
## The Research Agent Prompt
This is the core prompt that runs every morning. It goes into your N8N workflow as the message sent to the Claude API.
You are my personal research agent. Your job is to produce
my morning intelligence brief.
Read my research context from CLAUDE.md in my vault.
Then execute the following research sequence:
STEP 1: PRIMARY TOPIC SEARCH
For each focus area in my research context, search for
significant developments from the last 24 hours.
Use these search queries as a starting point but adapt
based on what you find:
[CLAUDE will generate appropriate queries based on
your CLAUDE.md focus areas]
STEP 2: SIGNAL FILTERING
From everything you find, apply these filters:
INCLUDE:
- New product launches or significant updates from
companies or tools I follow
- Research findings that change how we understand
something I care about
- Strategic moves by competitors I monitor
- Regulatory or policy changes affecting my domain
- New tools, frameworks, or techniques worth knowing
- Significant market movements in my focus areas
EXCLUDE:
- Anything I noted in my "What I Do NOT Want" section
- Rehashed content summarizing things published
more than 48 hours ago
- Opinion pieces without new information
- Announcements from companies I do not follow
- General AI hype without specific actionable detail
If nothing significant happened in a category:
say nothing happened rather than filling space.
STEP 3: COMPETITIVE INTELLIGENCE
Search specifically for any news about the companies
and people listed in my competitive landscape.
Highlight anything that represents a strategic shift,
new product, or significant announcement.
STEP 4: SYNTHESIS
Produce the brief in this exact format:
---
# Morning Brief — [DATE]
Generated: [TIME]
## THE ONE THING
[The single most important development today.
One paragraph. Why it matters for my specific situation.]
## WHAT HAPPENED
[3-7 significant items, each with:]
- **[Source/Company/Topic]**: What happened and
why it matters for my work. One to three sentences max.
## COMPETITIVE WATCH
[Any significant moves from my competitive landscape.
If nothing notable, say "Nothing significant today."]
## WHAT TO DO ABOUT IT
[1-3 specific actions worth considering based on
today's developments. Only include if genuinely
actionable. Skip this section if nothing warrants action.]
## READING LIST
[2-3 links to the most important full articles
for deeper reading on today's top items]
---
IMPORTANT FORMATTING RULES:
- The entire brief should take 5 minutes to read,
not 15.
- Every item must connect directly to something
in my research context.
- No filler. No hedging. If something matters say
why it matters specifically.
- If it was a slow news day say so directly rather
than inflating thin content.
Save the brief to: BRIEFINGS/[YYYY-MM-DD]-morning-brief.md
## Building the N8N Workflow
The N8N workflow has five nodes. Each one performs a specific function in the sequence.
Node 1: Schedule Trigger
Set the trigger to fire at your preferred morning time. 6AM works well for most people because it means the brief is ready before you open your laptop.
Configure the cron expression for your timezone:
0 6 * * 1-5 ← 6AM Monday through Friday
0 6 * * * ← 6AM every day including weekends
Node 2: Read CLAUDE.md
This node reads your research CLAUDE.md from your vault using a Read File operation pointed at the correct path.
Output: The full text of your CLAUDE.md research context.
Node 3: Prepare API Request
This node constructs the API call to Claude. It combines the research prompt template with the CLAUDE.md content read in Node 2.
const claudeMd = $node["Read CLAUDE.md"].json.content;
const today = new Date().toISOString().split('T')[0];
const time = new Date().toLocaleTimeString();
const systemPrompt = `You are a personal research agent.
Today's date is ${today}. Current time is ${time}.
You have access to real-time web search through
the Brave Search MCP. Use it extensively.
Research context from the user's CLAUDE.md:
${claudeMd}`;
return {
model: "claude-opus-4-5",
max_tokens: 4096,
system: systemPrompt,
messages: [{
role: "user",
content: "Generate my morning research brief following the format and instructions in my research context."
}]
};
Node 4: Claude API Call
HTTP Request node calling the Anthropic API:
URL: https://api.anthropic.com/v1/messages
Method: POST
Headers:
x-api-key: [YOUR ANTHROPIC API KEY]
anthropic-version: 2023-06-01
content-type: application/json
Body: [Output from Node 3]
Node 5: Save to Vault
Write File node that saves the Claude output to your BRIEFINGS folder:
File path: /path/to/vault/BRIEFINGS/[date]-morning-brief.md
Content: [Extracted text from Claude API response]
Extract the text content from the Claude API response:
const response = $node["Claude API Call"].json;
const content = response.content[0].text;
const date = new Date().toISOString().split('T')[0];
return {
filename: `${date}-morning-brief.md`,
content: content
};
Optional Node 6: Telegram Notification
Add a Telegram bot notification that fires when the brief is ready:
Message: "Morning brief ready: BRIEFINGS/[DATE]-morning-brief.md"
This means your phone receives a notification when the brief is deposited. You can read it on your phone before you get out of bed.
## Configuring Your Source List
The Brave Search MCP handles open web search automatically. But some of your most valuable sources are not well-indexed by standard search.
For sources that require specific monitoring add them to your CLAUDE.md research context with explicit instructions:
## Specific Sources to Monitor
### Daily Checks
- news.ycombinator.com — check front page for AI and developer tools
- reddit.com/r/MachineLearning — significant paper releases only
- reddit.com/r/ClaudeAI — new Claude features and community builds
### Weekly Checks
- arxiv.org/list/cs.AI — significant papers published this week
- github.com/trending — trending repositories in my tech stack
### Alert-Level Monitoring
[Companies or people where any news is significant]
- Anthropic blog: anthropic.com/news
- [Competitor 1] blog: [URL]
- [Competitor 2] press releases: [URL]
### Sources to Explicitly Ignore
[Publications or websites that consistently produce
low-signal content in your domain]
## The Feedback Loop That Improves the Brief Over Time
The brief gets better every week if you spend two minutes giving Claude feedback after reading it.
At the bottom of each brief add a section for your notes:
## My Notes on This Brief
[Your annotation — what was useful, what was noise,
what was missing]
Every Sunday run this prompt in Claude:
Read all morning briefs from the past week in my
BRIEFINGS folder and read all my annotations in
the "My Notes on This Brief" sections.
Based on my annotations, update my research
CLAUDE.md with:
1. Sources that consistently produced useful
signal → add to priority list
2. Topics that consistently produced noise →
add to the Do Not Want section
3. New search queries that would have surfaced
the information I noted as missing
4. Any patterns in what I found useful that
should be captured as explicit preferences
Show me the proposed changes to CLAUDE.md before
making them.
This feedback loop means the brief in month three is dramatically better calibrated to your specific information needs than the brief in week one.
The agent learns what you care about from your own annotations without you having to manually tune the configuration.
## Advanced Configurations
Once the basic morning brief is running reliably you can extend the system in several directions.
Topic Deep Dives
When a significant development appears in the morning brief add it to a queue for deeper research:
DEEP-DIVE: [topic from today's brief]
The queue processor picks this up and runs a more comprehensive research session producing a detailed analysis note rather than a brief summary.
Competitive Intelligence Alerts
Configure a separate lightweight workflow that checks for competitor news every four hours rather than once per day. When it finds something significant it sends an immediate Telegram notification rather than waiting for the morning brief.
Weekly Synthesis
Every Sunday morning instead of the standard daily brief Claude reads all seven daily briefs from the week and produces a weekly synthesis:
The biggest theme of the week and what it signals for your domain long-term.
The most important single development and what you should do about it.
What you expected to happen that did not and what that means.
The weekly synthesis often reveals patterns invisible in any individual daily brief.
Research on Demand
Drop any topic in your QUEUE folder prefixed with RESEARCH:
RESEARCH-quantum-computing-applications-in-finance.md
The queue processor runs a deep research session on the topic and deposits a comprehensive research brief in GENERATED rather than waiting for the morning cycle.
## What Changes After 30 Days
The morning brief delivers immediate value from day one.
The compounding effect becomes visible at month two.
After 30 days the brief is calibrated to your specific annotations. Topics that consistently produced noise have been removed. Sources that consistently produced signal have been prioritized. The five-minute reading time contains more genuinely actionable information than it did in week one.
After 60 days the weekly synthesis starts revealing patterns you could not see from inside any individual brief. Trends that were invisible in daily snapshots become visible across eight weeks of data.
After 90 days you have a research operation that knows your domain as well as a dedicated analyst who has been briefing you for three months.
The information advantage this creates compounds every week.
Your competitors are still spending forty-five minutes every morning scrolling through noise.
You spend five minutes reading signal.
That difference is not just time saved.
It is the quality of decisions made from better information consistently over time.
Build the workflow this weekend.
The first brief runs Monday morning.
Follow @cyrilXBT for the exact N8N workflow templates, CLAUDE.md research context structures, and Brave Search query patterns that make this entire system run.
## 相关链接
- [CyrilXBT](https://x.com/cyrilXBT)
- [@cyrilXBT](https://x.com/cyrilXBT)
- [272K](https://x.com/cyrilXBT/status/2058749052712276332/analytics)
- [claude.ai/download](https://claude.ai/download)
- [@modelcontextprotocol/server-filesystem](https://x.com/@modelcontextprotocol/server-filesystem)
- [@modelcontextprotocol/server-brave-search](https://x.com/@modelcontextprotocol/server-brave-search)
- [brave.com/search/api](https://brave.com/search/api)
- [$node](https://x.com/search?q=%24node&src=cashtag_click)
- [https://api.anthropic.com/v1/messages](https://api.anthropic.com/v1/messages)
- [$node](https://x.com/search?q=%24node&src=cashtag_click)
- [news.ycombinator.com](https://news.ycombinator.com/)
- [arxiv.org/list/cs.AI](https://arxiv.org/list/cs.AI)
- [github.com/trending](https://github.com/trending)
- [anthropic.com/news](https://anthropic.com/news)
- [@cyrilXBT](https://x.com/@cyrilXBT)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [11:16 AM · May 25, 2026](https://x.com/cyrilXBT/status/2058749052712276332)
- [272.3K Views](https://x.com/cyrilXBT/status/2058749052712276332/analytics)
- [View quotes](https://x.com/cyrilXBT/status/2058749052712276332/quotes)
---
*导出时间: 2026/5/26 21:56:27*
---
## 中文翻译
# 如何构建一个 Claude 研究代理:每天早上为你阅读互联网并在 5 分钟内完成简报
**作者**: CyrilXBT
**日期**: 2026-05-25T03:16:38.000Z
**来源**: [https://x.com/cyrilXBT/status/2058749052712276332](https://x.com/cyrilXBT/status/2058749052712276332)
---

大多数人的日常开场都千篇一律。
他们打开 Twitter,花 20 分钟在噪音中滚动,试图找到三件真正重要的事情。他们打开电子邮箱,还没来得及做一件计划内的事,就被拉入了被动响应模式。他们查看 RSS 阅读器,被 200 篇永远读不完的未读文章淹没。他们打开新闻聚合器,阅读三篇与他们的工作或生活毫无关系的文章。
四十五分钟后,他们已经落后了,压力山大,获得的信息并不比多睡十五分钟更多。
Claude 研究代理可以永久解决这个问题。
每天早上,在你打开任何应用之前,一个 Claude 代理已经阅读了所有与你工作相关的重要来源,过滤了所有不相关的内容,综合了值得知道的发展动态,并将一份结构化的 5 分钟简报送到了你的 Obsidian 知识库中。
你醒来。阅读简报。五分钟内你就掌握了你需要知道的一切。开始工作。
本文是一份完整的构建指南,从零开始,直到一个每天早上自动为你简报的运行代理。
## 研究代理到底是做什么的
在技术构建之前,请准确理解你在构建什么以及为什么每个组件都很重要。
研究代理每天早上自动执行四个功能。
**源监控**。它阅读你配置的每一个信息源。行业新闻。竞争对手网站。你所在领域的学术论文。特定的通讯。发布研究的 YouTube 频道。播客文字记录。你关注的 GitHub 仓库。你所在细分领域的 Reddit 社区。任何可能出现对你工作重要信息的来源。
**信号过滤**。它并不总结它阅读的所有内容。它根据你定义的标准识别什么是真正重要的。竞争对手的新产品发布是重要的。一篇改写上周已发布信息的博文则不是。过滤层是让简报真正有用,而不是变成所有内容的压缩版本的关键。
**综合**。它不会将重要项目列为要点。它将它们综合成结构化的叙述,告诉你发生了什么,为什么它很重要,它如何与已知事物联系起来,以及你应该对此采取什么行动。
**投递**。它每天早上在配置的时间将简报投递到你的 Obsidian 知识库中的特定位置,这样当你打开笔记本电脑时它就在那里等着你,而不需要你手动触发。
这四个功能将 45 分钟的日常信息收集减少为 5 分钟的阅读。
## 技术架构
研究代理有五个组件。每一个都有特定的作用。去掉其中任何一个,系统的效果都会大打折扣。
**Claude** 是智能层。它从源头读取原始信息,应用你的标准过滤重要内容,并将过滤后的信息综合成结构化的简报。
**Filesystem MCP** 将 Claude 连接到你的 Obsidian 知识库。它赋予 Claude 对你知识库的直接读写权限,以便它可以读取你的 CLAUDE.md 以获取上下文,并自动将简报存入正确的文件夹。
**Brave Search MCP** 赋予 Claude 实时网络搜索权限。没有它,Claude 只能处理截止到其训练数据之前的信息。有了它,Claude 可以搜索实时网络,并找到你指定的任何主题的最新信息。
**N8N** 调度整个工作流。它在每天早上配置的时间触发研究代理,将正确的上下文传递给 Claude,接收输出,并将其保存到你的知识库。
**CLAUDE.md** 是上下文层,它使简报与你的具体情况相关,而不是通用性的信息。它告诉 Claude 你是做什么的,你关心什么,你已经知道什么,以及什么样的信息对你来说是真正可执行的。
## 设置基础
在构建工作流之前,你需要准备好三样东西。
**带有 MCP 连接的 Claude Desktop**。
从 claude.ai/download 下载并安装 Claude Desktop。
配置你的 `claude_desktop_config.json`,添加 Filesystem 和 Brave Search MCP 服务器:
```json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/your/obsidian/vault"
]
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-brave-api-key"
}
}
}
}
```
在 brave.com/search/api 获取你的 Brave Search API 密钥。免费层每月允许 2,000 次查询,这对于每日研究代理来说绰绰有余。
保存配置后重启 Claude Desktop。通过让 Claude 搜索内容并检查是否返回实时结果来验证连接是否正常。
**你的 Obsidian 知识库结构**。
在你的知识库中创建一个名为 `BRIEFINGS` 的文件夹(如果还没有的话)。这是每天早上的简报将被投递的地方。
```text
vault/
BRIEFINGS/
[YYYY-MM-DD]-morning-brief.md ← 每日自动生成
CLAUDE.md
[rest of your vault]
```
**自托管的 N8N**。
在 5 美元的 DigitalOcean Droplet 上自托管 N8N,可为你提供无限的工作流运行,且没有每次执行的额外费用。
如果你还没有设置 N8N,请按以下顺序操作:创建 DigitalOcean 账户,启动最小的 Ubuntu Droplet,SSH 登录,通过 npm 安装 N8N,并将其配置为服务运行。
第一次完整的 N8N 设置大约需要 30 分钟。之后构建的每个工作流都使用相同的基础设施。
## 编写 CLAUDE.md 研究上下文
CLAUDE.md 是让简报与你具体相关的原因。
通用的研究代理产生通用的简报。配置了特定上下文的研究代理生成的简报中,每个项目都与你的工作和决策直接相关。
在你现有的 CLAUDE.md 中添加一个“研究上下文”部分,或者在你的知识库中创建一个专门用于研究的 `CLAUDE.md`:
```markdown
# Research Agent Context
## Who I Am
[你的名字,你的角色,你做什么]
## My Primary Focus Areas
[列出你需要保持了解的具体主题、行业或领域]
## What Constitutes Significant News for Me
[具体一点。不是“AI新闻”,而是“Claude Code 更新、新的 MCP 服务器、多代理框架、AI 代理安全发展”]
## My Competitive Landscape
[你监控的特定公司、人员、产品]
## What I Already Know Well
[你有深厚专业知识的主题,因此只需要重大的新进展,不需要入门介绍]
## What I Am Currently Working On
[如果出现相关新闻可直接执行的项目 —— 每周更新]
## Sources I Trust
[值得优先考虑的特定出版物、通讯、研究人员、YouTube 频道、subreddit]
## What I Specifically Do NOT Want
[出现在你领域但浪费时间的主题 —— 通用的 AI 炒作文章、改写的内容、你不关心的公司的公告]
## Brief Format Preference
[你希望如何构建输出 —— 参见下面的模板]
```
“我明确不想要什么”这一部分是大多数人跳过的最重要的部分。
没有它,Claude 会包含所有与你的主题间接相关的内容。有了它,Claude 会进行积极过滤,简报中只包含你真正会采取行动的内容。
## 研究代理提示词
这是每天早上运行的核心提示词。它作为发送给 Claude API 的消息进入你的 N8N 工作流。
```text
You are my personal research agent. Your job is to produce
my morning intelligence brief.
Read my research context from CLAUDE.md in my vault.
Then execute the following research sequence:
STEP 1: PRIMARY TOPIC SEARCH
For each focus area in my research context, search for
significant developments from the last 24 hours.
Use these search queries as a starting point but adapt
based on what you find:
[CLAUDE will generate appropriate queries based on
your CLAUDE.md focus areas]
STEP 2: SIGNAL FILTERING
From everything you find, apply these filters:
INCLUDE:
- New product launches or significant updates from
companies or tools I follow
- Research findings that change how we understand
something I care about
- Strategic moves by competitors I monitor
- Regulatory or policy changes affecting my domain
- New tools, frameworks, or techniques worth knowing
- Significant market movements in my focus areas
EXCLUDE:
- Anything I noted in my "What I Do NOT Want" section
- Rehashed content summarizing things published
more than 48 hours ago
- Opinion pieces without new information
- Announcements from companies I do not follow
- General AI hype without specific actionable detail
If nothing significant happened in a category:
say nothing happened rather than filling space.
STEP 3: COMPETITIVE INTELLIGENCE
Search specifically for any news about the companies
and people listed in my competitive landscape.
Highlight anything that represents a strategic shift,
new product, or significant announcement.
STEP 4: SYNTHESIS
Produce the brief in this exact format:
---
# Morning Brief — [DATE]
Generated: [TIME]
## THE ONE THING
[The single most important development today.
One paragraph. Why it matters for my specific situation.]
## WHAT HAPPENED
[3-7 significant items, each with:]
- **[Source/Company/Topic]**: What happened and
why it matters for my work. One to three sentences max.
## COMPETITIVE WATCH
[Any significant moves from my competitive landscape.
If nothing notable, say "Nothing significant today."]
## WHAT TO DO ABOUT IT
[1-3 specific actions worth considering based on
today's developments. Only include if genuinely
actionable. Skip this section if nothing warrants action.]
## READING LIST
[2-3 links to the most important full articles
for deeper reading on today's top items]
---
IMPORTANT FORMATTING RULES:
- The entire brief should take 5 minutes to read,
not 15.
- Every item must connect directly to something
in my research context.
- No filler. No hedging. If something matters say
why it matters specifically.
- If it was a slow news day say so directly rather
than inflating thin content.
Save the brief to: BRIEFINGS/[YYYY-MM-DD]-morning-brief.md
```
## 构建 N8N 工作流
N8N 工作流有五个节点。每一个都按顺序执行特定功能。
**节点 1:定时触发器**
将触发器设置为你偏好的早晨时间。早上 6 点对大多数人来说很有效,这意味着在你打开笔记本电脑之前简报就已经准备好了。
为你的时区配置 cron 表达式:
```text
0 6 * * 1-5 ← 周一到周五早上 6 点
0 6 * * * ← 每天早上 6 点(包括周末)
```
**节点 2:读取 CLAUDE.md**
此节点使用指向正确路径的读取文件操作,从你的知识库中读取你的研究 `CLAUDE.md`。
输出:你的 CLAUDE.md 研究上下文的完整文本。
**节点 3:准备 API 请求**
此节点构建对 Claude 的 API 调用。它将研究提示词模板与在节点 2 中读取的 CLAUDE.md 内容结合起来。
```javascript
const claudeMd = $node["Read CLAUDE.md"].json.content;
const today = new Date().toISOString().split('T')[0];
const time = new Date().toLocaleTimeString();
const systemPrompt = `You are a personal research agent.
Today's date is ${today}. Current time is ${time}.
You have access to real-time web search through
the Brave Search MCP. Use it extensively.
Research context from the user's CLAUDE.md:
${claudeMd}`;
return {
model: "claude-opus-4-5",
max_tokens: 4096,
system: systemPrompt,
messages: [{
role: "user",
content: "Generate my morning research brief following the format and instructions in my research context."
}]
};
```
**节点 4:Claude API 调用**
调用 Anthropic API 的 HTTP 请求节点:
* **URL**: `https://api.anthropic.com/v1/messages`
* **Method**: POST
* **Headers**:
* `x-api-key`: [YOUR ANTHROPIC API KEY]
* `anthropic-version`: 2023-06-01
* `content-type`: application/json
* **Body**: [节点 3 的输出]
**节点 5:保存到知识库**
将 Claude 输出保存到 `BRIEFINGS` 文件夹的写入文件节点:
* **文件路径**: `/path/to/vault/BRIEFINGS/[date]-morning-brief.md`
* **内容**: [从 Claude API 响应中提取的文本]
从 Claude API 响应中提取文本内容:
```javascript
const response = $node["Claude API Call"].json;
const content = response.content[0].text;
const date = new Date().toISOString().split('T')[0];
return {
filename: `${date}-morning-brief.md`,
content: content
};
```
**可选节点 6:Telegram 通知**
添加一个 Telegram 机器人通知,当简报准备好时发送:
消息:"Morning brief ready: BRIEFINGS/[DATE]-morning-brief.md"
这意味着当简报存入时,你的手机会收到通知。你可以在下床之前就在手机上阅读。
## 配置你的来源列表
Brave Search MCP 会自动处理开放网络搜索。但你一些最有价值的来源并不能被标准搜索很好地索引。
对于需要特定监控的来源,将它们添加到你的 CLAUDE.md 研究上下文中,并附上明确指令:
```markdown
## Specific Sources to Monitor
### Daily Checks
- news.ycombinator.com — 检查首页的 AI 和开发者工具
- reddit.com/r/MachineLearning — 仅限重要论文发布
- reddit.com/r/ClaudeAI — 新的 Claude 功能和社区构建
### Weekly Checks
- arxiv.org/list/cs.AI — 本周发表的重要论文
- github.com/trending — 我的技术栈中的热门仓库
### Alert-Level Monitoring
[任何消息都很重要的公司或人员]
- Anthropic blog: anthropic.com/news
- [Competitor 1] blog: [URL]
- [Competitor 2] press releases: [URL]
### Sources to Explicitly Ignore
[在你所在领域持续产生低信号内容的出版物或网站]
```
## 随时间改进简报的反馈循环
如果你在阅读后花两分钟给 Claude 提供反馈,简报每周都会变得更好。
在每个简报的底部添加一个用于记录笔记的部分:
```markdown
## My Notes on This Brief
[你的注释 —— 什么是有用的,什么是噪音,遗漏了什么]
```
每周日运行此提示词:
```text
Read all morning briefs from the past week in my
BRIEFINGS folder and read all my annotations in
the "My Notes on This Brief" sections.
Based on my annotations, update my research
CLAUDE.md with:
1. Sources that consistently produced useful
signal → add to priority list
2. Topics that consistently produced noise →
add to the Do Not Want section
3. New search queries that would have surfaced
the information I noted as missing
4. Any patterns in what I found useful that
should be captured as explicit preferences
Show me the proposed changes to CLAUDE.md before
making them.
```
这个反馈循环意味着第三个月的简报与第一周相比,其对你的特定信息需求的校准度会显著提高。
代理会从你自己的注释中学习你关心什么,而无需你手动调整配置。
## 高级配置
一旦基本的晨间简报稳定运行,你可以向多个方向扩展系统。
**主题深度研究**
当晨间简报中出现重大进展时,将其添加到队列以进行更深入的研究:
```text
DEEP-DIVE: [topic from today's brief]
```
队列处理器会获取该主题并运行更全面的研究环节,生成详细的分析笔记而不是简短的摘要。
**竞争情报警报**
配置一个单独的轻量级工作流,每四小时检查一次竞争对手新闻,而不是每天一次。当发现重要信号时……