تحلیل خودکار یادداشت‌های هفتگی با GPT-4 در n8n

تحلیل خودکار یادداشت‌های هفتگی با GPT-4 در n8n

12 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۹

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 8119 · منبع: کاتالوگ Axeto

خودکارسازی تحلیل یادداشت‌های هفتگی با GPT-4 برای وظایف عملی و خلاصه‌ها

این گردش کار فرآیند تحلیل یادداشت‌های هفتگی ذخیره شده در یک سند Google را خودکار می‌کند. این گردش کار از GPT-4 برای استخراج وظایف عملی، تولید خلاصه‌های مختصر و ایجاد یک ایمیل خلاصه هفتگی حرفه‌ای استفاده می‌کند. این برای کارگران دانشی که یادداشت‌های تاریخ‌دار را نگهداری می‌کنند و می‌خواهند استخراج وظایف، خلاصه‌سازی و بایگانی را ساده کنند، ایده‌آل است.

ویژگی‌های کلیدی:

  • بازیابی خودکار داده‌ها: یادداشت‌ها را به صورت زمان‌بندی شده از یک سند Google مشخص شده دریافت می‌کند.
  • فیلتر هوشمند: یادداشت‌های ۷ روز گذشته را شناسایی و استخراج می‌کند.
  • تحلیل مبتنی بر هوش مصنوعی: از GPT-4 برای استخراج وظایف، مهلت‌ها، بینش‌ها و اولویت‌ها استفاده می‌کند.
  • خلاصه‌سازی خودکار: خلاصه‌ای حرفه‌ای با فرمت HTML از یافته‌های هفته تولید می‌کند.
  • بایگانی وظایف: خلاصه‌ای از وظایف استخراج شده را به سند Google اصلی اضافه می‌کند.
  • اطلاع‌رسانی: هشدارهای تلگرام را برای تکمیل و خطاها ارسال می‌کند.
  • مدیریت خطای قوی: خرابی‌های گردش کار را نظارت کرده و هشدارهای فوری ارسال می‌کند.

تشریح گردش کار (Workflow Breakdown)

این گردش کار به چندین بخش منطقی تقسیم شده است:

۱. فعال‌ساز زمان‌بندی شده و بازیابی سند

این بخش گردش کار را به صورت هفتگی آغاز کرده و محتوای یادداشت‌های شما را از یک سند Google دریافت می‌کند.

  • گره‌ها (Nodes):

* Schedule Trigger: گردش کار را هر هفته در زمان تعیین شده آغاز می‌کند.

* Google Docs: محتوای سند Google مشخص شده را بازیابی می‌کند.

  • پیکربندی:

* Schedule Trigger: برای فعال‌سازی هفتگی در ساعت ۲۳:۰۰ تنظیم شده است.

* Google Docs (Get a document):

* عملیات (Operation): get

* URL سند (Document URL): آدرس URL سند Google شما که حاوی یادداشت‌های هفتگی است.

* اعتبارنامه‌ها (Credentials): Google Docs OAuth2.

۲. تجزیه و فیلتر کردن یادداشت‌های هفتگی

این بخش متن خام را از سند Google پردازش می‌کند تا یادداشت‌های هفت روز گذشته را جدا کند.

  • گره‌ها (Nodes):

* Function (با نام "Weekly Filter"): محتوای سند را تجزیه کرده، ورودی‌ها را بر اساس تاریخ فیلتر و به ترتیب زمانی مرتب می‌کند.

  • پیکربندی:

* Weekly Filter:

* از یک عبارت منظم (regular expression) برای یافتن ورودی‌هایی که با الگوی "📅 DD.MM.YYYY, HH:MM" مطابقت دارند، استفاده می‌کند.

* تاریخ‌های با فرمت آلمانی را تجزیه کرده و شماره هفته جاری را محاسبه می‌کند.

* ورودی‌ها را فیلتر می‌کند تا فقط موارد مربوط به ۷ روز گذشته را شامل شود.

* ورودی‌های فیلتر شده را در یک بلوک متنی واحد برای تجزیه و تحلیل توسط هوش مصنوعی ترکیب می‌کند.

۳. استخراج وظایف توسط هوش مصنوعی

این بخش جایی است که GPT-4 یادداشت‌های فیلتر شده را برای استخراج اطلاعات ساختاریافته تجزیه و تحلیل می‌کند.

  • گره‌ها (Nodes):

* OpenAI (ادغام LangChain، با نام "AI Task Extractor"): برای پردازش یادداشت‌های هفتگی به GPT-4 متصل می‌شود.

  • پیکربندی:

* AI Task Extractor:

* مدل (Model): chatgpt-4o-latest (یا مدل GPT-4 ترجیحی شما).

* دستور (Prompt): به هوش مصنوعی دستور می‌دهد تا وظایف قابل اجرا، مهلت‌ها، بینش‌های کلیدی، اولویت‌ها و آمار دسته‌بندی را از متن ارائه شده استخراج کند. این دستور به صورت پویا با فراداده‌هایی مانند بازه زمانی و تعداد ورودی‌ها پر می‌شود.

* اعتبارنامه‌ها (Credentials): کلید API OpenAI.

۴. تولید خلاصه ایمیل توسط هوش مصنوعی

این بخش از GPT-4 برای ایجاد یک خلاصه ایمیل هفتگی حرفه‌ای با فرمت HTML استفاده می‌کند.

  • گره‌ها (Nodes):

* OpenAI (ادغام LangChain، با نام "AI E-Mail Summary"): محتوای ایمیل را تولید می‌کند.

  • پیکربندی:

* AI E-Mail Summary:

* مدل (Model): chatgpt-4o-latest (یا مدل GPT-4 ترجیحی شما).

* دستور (Prompt): برای ایجاد بدنه ایمیل HTML طراحی شده است و وظایف استخراج شده، بینش‌ها و آمار را از مرحله قبلی هوش مصنوعی در بر می‌گیرد. از جای‌نگهدارها (placeholders) برای شماره هفته، بازه زمانی و محتوای تولید شده توسط هوش مصنوعی استفاده می‌کند.

* اعتبارنامه‌ها (Credentials): کلید API OpenAI.

۵. بایگانی وظایف در Google Docs

این مرحله سند Google اصلی شما را با افزودن خلاصه وظایف تولید شده توسط هوش مصنوعی به‌روز می‌کند.

  • گره‌ها (Nodes):

* Google Docs (با نام "Tasks ins Doc speichern"): سند Google را به‌روز می‌کند.

  • پیکربندی:

* Tasks ins Doc speichern:

* عملیات (Operation): update

* محتوا (Content): خلاصه وظایف قالب‌بندی شده تولید شده توسط هوش مصنوعی را درج می‌کند.

* اعتبارنامه‌ها (Credentials): Google Docs OAuth2.

۶. ارسال اعلان و ایمیل

این بخش یک اعلان تکمیل و ایمیل خلاصه هفتگی را ارسال می‌کند.

  • گره‌ها (Nodes):

* Telegram: اعلان تکمیل را ارسال می‌کند.

* Gmail: ایمیل خلاصه هفتگی را ارسال می‌کند.

  • پیکربندی:

* Telegram Notification:

* پس از تکمیل موفقیت‌آمیز، پیامی را به شناسه چت تلگرام مشخص شده ارسال می‌کند، شامل آمار خلاصه.

* اعتبارنامه‌ها (Credentials): کلید API تلگرام.

* Gmail (Send a message):

* ایمیلی را به یک گیرنده از پیش تعیین شده (مثلاً خودتان) ارسال می‌کند.

* موضوع (Subject): به صورت پویا شماره هفته را شامل می‌شود.

* بدنه (Body): از محتوای HTML تولید شده توسط گره "AI E-Mail Summary" استفاده می‌کند.

* اعتبارنامه‌ها (Credentials): Gmail OAuth2.

۷. مدیریت خطا

این بخش ضروری تضمین می‌کند که در صورت شکست هر بخشی از گردش کار، به شما اطلاع داده شود.

  • گره‌ها (Nodes):

* Error Trigger: هرگونه خطای مدیریت نشده در طول اجرای گردش کار را دریافت می‌کند.

* Telegram (با نام "Send a text message"): هشدار خطا ارسال می‌کند.

  • پیکربندی:

* Error Trigger: برای فعال شدن در صورت بروز هرگونه خطا در گردش کار پیکربندی شده است.

* Send a text message:

* یک پیام خطای از پیش تعریف شده (مانند "Weekly review hat nicht funktioniert") را به شناسه چت تلگرام مشخص شده ارسال می‌کند.

* اعتبارنامه‌ها (Credentials): کلید API تلگرام.

خلاصه گردش کار (Workflow Summary Table)

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))
Schedule TriggerSchedule Triggerراه‌اندازی گردش کار هفتگی در ساعت ۲۳:۰۰-Get a document
Get a documentGoogle Docsدریافت محتوای Google DocSchedule TriggerWeekly Filter
Weekly FilterFunctionتجزیه و فیلتر کردن ورودی‌های ۷ روز گذشتهGet a documentAI Task Extractor
AI Task ExtractorOpenAI (LangChain)استخراج وظایف ساختاریافته و بینش‌هاWeekly FilterAI E-Mail Summary
AI E-Mail SummaryOpenAI (LangChain)تولید خلاصه ایمیل هفتگی در قالب HTMLAI Task ExtractorTasks ins Doc speichern
Tasks ins Doc speichernGoogle Docsافزودن خلاصه وظایف به Google DocAI E-Mail SummaryTelegram Notification
Telegram NotificationTelegramارسال اعلان تکمیلTasks ins Doc speichernSend a message
Send a messageGmailارسال ایمیل خلاصه هفتگیTelegram Notification-
Error TriggerError Triggerثبت خطاهای گردش کار-Send a text message
Send a text messageTelegramارسال هشدار خطا از طریق تلگرامError Trigger-

نحوه بازسازی این گردش کار

1. ماشین زمان - فعال‌ساز زمان‌بندی:

* یک گره Schedule Trigger اضافه کنید.

* آن را طوری تنظیم کنید که هر 1 هفته در ساعت 23 اجرا شود.

2. Google Docs - دریافت سند:

* یک گره Google Docs اضافه کنید.

* عملیات را روی get تنظیم کنید.

* آدرس URL سند Google خود را وارد کنید.

* خروجی Schedule Trigger را به این گره وصل کنید.

* اعتبارنامه‌های OAuth2 Google Docs خود را پیکربندی کنید.

3. تابع - فیلتر هفتگی:

* یک گره Function اضافه کنید و نام آن را "Weekly Filter" بگذارید.

* کد زیر را در گره جای‌گذاری کنید:

```javascript

// Get the content from the previous node

const documentContent = $input.first().json.content;

if (!documentContent) {

throw new Error("No document content received.");

}

// Regex to find entries with date and time (e.g., 📅 25.12.2023, 14:30)

const entryRegex = /📅\s(\d{2}\.\d{2}\.\d{4},\s\d{2}:\d{2})/g;

const entries = [];

let match;

let lastIndex = 0;

// Extract all entries and their content

while ((match = entryRegex.exec(documentContent)) !== null) {

const dateStr = match[1];

const startIndex = match.index;

const endIndex = documentContent.indexOf("📅", startIndex + 1) !== -1

? documentContent.indexOf("📅", startIndex + 1)

: documentContent.length;

const entryContent = documentContent.substring(startIndex, endIndex).trim();

entries.push({ dateStr, entryContent });

lastIndex = entryRegex.lastIndex;

}

// --- Date Filtering ---

const now = new Date();

const sevenDaysAgo = new Date(now.getTime() - 7 24 60 60 1000);

const filteredEntries = entries.filter(entry => {

// Parse date string (DD.MM.YYYY)

const parts = entry.dateStr.split(',')[0].split('.');

// Note: Month is 0-indexed in JS Date objects

const entryDate = new Date(parseInt(parts[2]), parseInt(parts[1]) - 1, parseInt(parts[0]));

// Check if the entry date is within the last 7 days (inclusive of today)

return entryDate >= sevenDaysAgo && entryDate <= now;

});

// Sort entries chronologically

filteredEntries.sort((a, b) => {

const dateA = new Date(a.dateStr.split(',')[0].split('.').reverse().join('-'));

const dateB = new Date(b.dateStr.split(',')[0].split('.').reverse().join('-'));

return dateA - dateB;

});

// --- Prepare Output ---

const weeklyText = filteredEntries.map(entry => entry.entryContent).join('\n\n---\n\n');

// Calculate week number (ISO 8601 standard)

const year = now.getFullYear();

const month = now.getMonth();

const day = now.getDate();

const dayOfWeek = now.getDay(); // 0 for Sunday, 1 for Monday, etc.

const date = new Date(Date.UTC(year, month, day - dayOfWeek + (dayOfWeek === 0 ? -6 : 1), 0, 0, 0));

const yearStart = new Date(Date.UTC(date.getUTCFullYear(), 0, 1));

const weekNo = Math.ceil((((date - yearStart) / 86400000) + 1) / 7);

const startDate = filteredEntries.length > 0 ? filteredEntries[0].dateStr.split(',')[0] : 'N/A';

const endDate = filteredEntries.length > 0 ? filteredEntries[filteredEntries.length - 1].dateStr.split(',')[0] : 'N/A';

return {

weeklyText: weeklyText,

entryCount: filteredEntries.length,

weekNumber: weekNo,

dateRange: ${startDate} - ${endDate},

filteredEntries: filteredEntries // Optional: for debugging

};

```

* خروجی گره "Get a document" را به این گره "Weekly Filter" وصل کنید.

4. OpenAI - استخراج‌کننده وظایف هوش مصنوعی:

* یک گره OpenAI اضافه کنید.

* عملیات را روی Chat Completion تنظیم کنید.

* یکپارچه‌سازی OpenAI (LangChain) را انتخاب کنید.

* مدل را روی chatgpt-4o-latest تنظیم کنید.

* یک prompt شبیه به این وارد کنید:

```

Analyze the following weekly notes and extract structured information.

The notes cover the period from {{ $json.previous("Weekly Filter").dateRange }} and contain {{ $json.previous("Weekly Filter").entryCount }} entries.

Notes:

{{ $json.previous("Weekly Filter").weeklyText }}

Please extract the following in a structured JSON format:

1. Actionable Tasks: List of tasks to be done.

2. Deadlines: Any mentioned deadlines associated with tasks or events.

3. Key Insights: Important observations or learnings from the notes.

4. Priorities: Tasks or topics that are marked as high priority.

5. Category Statistics: A breakdown of notes by category if discernible.

Format the output strictly as a JSON object. If a category is not found, omit it.

```

* خروجی گره "Weekly Filter" را به این گره وصل کنید.

* کلید API OpenAI خود را پیکربندی کنید.

5. OpenAI - خلاصه ایمیل هوش مصنوعی:

* یک گره OpenAI دیگر اضافه کنید.

* عملیات را روی Chat Completion تنظیم کنید.

* یکپارچه‌سازی OpenAI (LangChain) را انتخاب کنید.

* مدل را روی chatgpt-4o-latest تنظیم کنید.

* یک prompt برای تولید ایمیل HTML وارد کنید:

```html

Generate a professional weekly summary email in HTML format for Julian Reich.

The summary should be based on the following extracted information from his weekly notes for week {{ $json.previous("Weekly Filter").weekNumber }} ({{ $json.previous("Weekly Filter").dateRange }}).

Extracted Data:

{{ $json.previous("AI Task Extractor").message.content }}

Please structure the email with:

- A clear subject line indicating the week.

- A greeting.

- A summary of key insights.

- A list of actionable tasks and their priorities.

- Any mentioned deadlines.

- A concluding remark.

Ensure the output is valid HTML.

```

* خروجی گره "AI Task Extractor" را به این گره وصل کنید.

* کلید API OpenAI خود را پیکربندی کنید.

6. Google Docs - ذخیره وظایف در سند:

* یک گره Google Docs اضافه کنید.

* عملیات را روی update تنظیم کنید.

* از همان آدرس URL سند Google که در مرحله 2 استفاده شد، استفاده کنید.

* در فیلد "Content"، خلاصه ایمیل تولید شده توسط هوش مصنوعی را وارد کنید. ممکن است بخواهید این را به وضوح قالب‌بندی کنید، شاید با استفاده از خروجی گره "AI Task Extractor" قبل از اینکه برای ایمیل قالب‌بندی شود. به عنوان مثال:

```

## Weekly Task Summary - Week {{ $json.previous("Weekly Filter").weekNumber }} ({{ $json.previous("Weekly Filter").dateRange }})

{{ $json.previous("AI Task Extractor").message.content }}

```

* خروجی گره "AI E-Mail Summary" را به این گره وصل کنید.

* اعتبارنامه‌های OAuth2 Google Docs خود را پیکربندی کنید.

7. Telegram - اعلان:

* یک گره Telegram اضافه کنید.

* عملیات را روی Send Text تنظیم کنید.

* Chat ID را پیکربندی کنید و یک پیام موفقیت‌آمیز وارد کنید، به عنوان مثال: Weekly review completed successfully for week {{ $json.previous("Weekly Filter").weekNumber }}! Processed {{ $json.previous("Weekly Filter").entryCount }} entries.

* خروجی گره "Tasks ins Doc speichern" را به این گره وصل کنید.

* توکن API تلگرام خود را پیکربندی کنید.

8. Gmail - ارسال ایمیل:

* یک گره Gmail اضافه کنید.

* عملیات را روی Send Email تنظیم کنید.

* فیلد To را با آدرس ایمیل گیرنده پیکربندی کنید.

* Subject را به چیزی شبیه به این تنظیم کنید: Weekly Summary - Week {{ $json.previous("Weekly Filter").weekNumber }}.

* در فیلد Message، از خروجی HTML گره "AI E-Mail Summary" استفاده کنید: {{ $json.previous("AI E-Mail Summary").message.content }}.

* خروجی گره "Telegram Notification" را به این گره وصل کنید.

* اعتبارنامه‌های OAuth2 Gmail خود را پیکربندی کنید.

9. مدیریت خطا:

* یک گره Error Trigger اضافه کنید.

* یک گره Telegram اضافه کنید.

* عملیات را روی Send Text تنظیم کنید.

* Chat ID را پیکربندی کنید و یک پیام خطا وارد کنید، به عنوان مثال: Weekly review workflow failed!.

* خروجی Error Trigger را به گره تلگرام "Send a text message" وصل کنید.

* توکن API تلگرام خود را برای گره اعلان خطا پیکربندی کنید.

این تنظیمات یک سیستم خودکار جامع برای مدیریت و تجزیه و تحلیل یادداشت‌های هفتگی شما فراهم می‌کند.

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار n8n چگونه یادداشت‌های هفتگی را تحلیل می‌کند؟

این گردش کار یادداشت‌های شما را از Google Docs دریافت کرده، با استفاده از GPT-4 وظایف عملی، مهلت‌ها و بینش‌ها را استخراج می‌کند و سپس یک خلاصه حرفه‌ای با فرمت HTML تولید می‌نماید.

چه مدل هوش مصنوعی در این گردش کار استفاده می‌شود؟

این گردش کار از مدل‌های پیشرفته GPT-4 (مانند gpt-4o-latest) از طریق ادغام LangChain برای تحلیل و خلاصه‌سازی متن استفاده می‌کند.

خلاصه‌های تولید شده چه فرمتی دارند و کجا ذخیره می‌شوند؟

خلاصه‌ها با فرمت HTML تولید می‌شوند و می‌توانند برای اطلاع‌رسانی یا بایگانی مورد استفاده قرار گیرند. همچنین، وظایف استخراج شده به سند Google اصلی اضافه می‌شوند.

آیا این گردش کار برای یادداشت‌های با فرمت خاصی طراحی شده است؟

این گردش کار برای یادداشت‌هایی که حاوی تاریخ و زمان با فرمت "📅 DD.MM.YYYY, HH:MM" هستند، بهینه‌سازی شده است و یادداشت‌های ۷ روز گذشته را فیلتر می‌کند.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.