我們成功打造了非常強大的 AI 知識管家,能自動抓取網頁、解析 PDF 與 YouTube、進行 AI 摘要並存入 Notion。但目前的系統有一個盲點:它是被動的。
如果這週你很忙,沒有丟任何網址給機器人,這個強大的系統就會在一旁呼呼大睡。隨著 Notion 裡的筆記越來越多,我們常常存了就忘,沒有時間回頭複習。我們要如何讓系統從「被動接收指令」變成「主動關心你」,在每週五下班前自動幫你統整這週學到的新知識?
今天要介紹的核心觀念是被動自動化與主動自動化的差異。
在 n8n 中,我們將引入全新的起點:Schedule Trigger。讓系統在特定時間主動醒來,去資料庫翻找資料,然後叫醒 AI 開始工作。
這是一條全新的獨立 Workflow,它的起點不再是通訊軟體,而是時間:
我們將在 n8n 中建立一條全新的 Workflow(與原本存檔的流程分開),實作步驟如下:
main.py,在最上方新增週報專用的 Pydantic 模型:class DigestRequest(BaseModel):
text: str
@app.post("/weekly-digest")
def weekly_digest(data: DigestRequest):
try:
digest_instruction = """
[Role]
你是一個專屬的 AI 知識管家。
[Task]
請根據使用者提供的本週文章摘要,寫一份 Weekly Knowledge Digest。
1. 找出這些文章之間的關聯性。
2. 列出 3 個本週學到的核心觀念。
3. 請直接輸出排版良好、適合在通訊軟體閱讀的純文字格式,嚴禁使用 JSON 格式。
"""
digest_model = genai.GenerativeModel(
model_name='gemini-3.5-flash-lite',
system_instruction=digest_instruction
)
prompt = f"以下是我本週收集的技術文章摘要:\n{data.text}"
response = digest_model.generate_content(prompt)
return {
"status": "success",
"data": response.text
}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
Node 1:Schedule Trigger
Node 2:Notion (撈取本週資料)
Node 3:Code (合併文章字串)
let combinedText = "";
for (let i = 0; i < $input.all().length; i++) {
let item = $input.all()[i].json;
let title = item["Name"] || "無標題";
let tldr = item["TLDR"] || "無摘要";
combinedText += `【文章 ${i+1}】${title}\n摘要:${tldr}\n\n`;
}
return [{ json: { merged_summary: combinedText } }];
Node 4:HTTP Request (呼叫 AI 摘要)

Node 5:Telegram (發送推播)
{{ $json.data }}

這樣就建立好每周排成通知了。