Hypat.ai

Hypat.ai

site icon
2025.04.24 0
TypeScript新闻邮件处理知识管理自动化摘要内容生成开发效率
Hypat.ai 是一个专门用于将新闻邮件转换为有组织的知识系统的 Model Context Protocol (MCP) 服务器。它基于 GongRzhe/Gmail-MCP-Server 构建,专为订阅多个新闻邮件的知识工作者设计。 核心功能包括: 1. **新闻邮件检测模块**:识别邮件是否为新闻邮件。 2. **内容处理模块**:从新闻邮件中提取和处理内容。 3. **分类模块**:将新闻邮件按类别和主题组织。 4. **邮件摘要模块**:生成并发送新闻邮件内容的摘要。 5. **用户反馈模块**:收集并处理用户反馈以改进检测。 适用场景: - 知识工作者管理订阅的新闻邮件。 - 自动化生成新闻邮件的摘要和分类。 - 通过用户反馈改进新闻邮件的检测准确性。
View on GitHub

Overview

基本能力

核心功能

  1. 新闻邮件检测模块:识别邮件是否为新闻邮件。
  2. 内容处理模块:从新闻邮件中提取和处理内容。
  3. 分类模块:将新闻邮件按类别和主题组织。
  4. 邮件摘要模块:生成并发送新闻邮件内容的摘要。
  5. 用户反馈模块:收集并处理用户反馈以改进检测。

适用场景

  • 知识工作者管理订阅的新闻邮件。
  • 自动化生成新闻邮件的摘要和分类。
  • 通过用户反馈改进新闻邮件的检测准确性。

工具列表

  1. DigestGenerator:从新闻邮件数据生成摘要内容。
  2. EmailTemplateRenderer:使用 MJML 模板渲染摘要内容。
  3. EmailDeliveryScheduler:根据时区安排邮件发送时间。
  4. EmailSender:使用 nodemailer 发送邮件。
  5. DeliveryTracker:跟踪邮件发送状态、打开和点击情况。
  6. UserPreferenceManager:管理用户对摘要发送的偏好设置。
  7. DigestService:协调所有摘要组件。

常见问题解答

  1. 如何自定义摘要模板?
  2. src/core/digest/templates 目录中添加自定义的 MJML 模板。
  3. 如何配置摘要发送频率?
  4. 通过 DigestService 配置每日、每周、双周或每月发送。
  5. 如何处理不确定的新闻邮件检测?
  6. 使用 User Feedback Module 生成验证请求,用户确认或拒绝分类。

使用教程

使用依赖

  • Node.js 18 或更高版本
  • npm 7 或更高版本

安装教程

npm install

构建

npm run build

测试

npm test

类型检查

npm run typecheck

调试方式

  1. 初始化 digestService 并启动摘要调度:
import { createDigestService } from 'hypat.ai';

const digestService = createDigestService(
  contentProcessor, // 您的 ContentProcessor 实现
  categorizer,      // 您的 Categorizer 实现
  {
    host: 'smtp.example.com',
    port: 587,
    secure: false,
    auth: {
      user: '[email protected]',
      pass: 'password'
    }
  }
);

digestService.scheduleDigests();
  1. 初始化 feedbackService 并提交反馈:
import { createFeedbackService } from 'hypat.ai';

const feedbackService = createFeedbackService(
  newsletterDetector, // 您的 NewsletterDetector 实现(可选)
  {
    verificationExpiryDays: 7,
    maxResendCount: 3,
    verificationBaseUrl: 'https://hypat.ai/verify'
  }
);

await feedbackService.submitFeedback('user-1', 'email-1', true);

const stats = await feedbackService.getFeedbackStats('user-1');

许可证

该项目遵循 ISC 开源许可条款。