返回市场
通知我也许

通知我也许

作者:keoy7am2 星标更新:2025-06-20

项目介绍

NotifyMeMaybe

一个强大的MCP(模型上下文协议)服务器,用于多平台通知和交互式AI工作流

npm 版本 许可证:MIT

🚀 TLDR - 快速开始

两分钟内开始使用:

  1. 创建Telegram机器人

    • 在Telegram上给@BotFather发送消息
    • 使用/newbot创建一个机器人并获取你的BOT_TOKEN
    • 开始与你的机器人聊天并获取你的CHAT_ID
  2. 添加到MCP配置中

    {
      "mcpServers": {
        "notify-me-maybe": {
          "command": "npx",
          "args": ["-y", "notify-me-maybe-mcp"],
          "env": {
            "TELEGRAM_BOT_TOKEN": "your_bot_token_here",
            "TELEGRAM_CHAT_ID": "your_chat_id_here",
            "TELEGRAM_PROMPT_ENABLED": "true",
            "TELEGRAM_INTERACTION_ENABLED": "true",
            "DEFAULT_NOTIFICATION_SERVICE": "telegram",
            "LANGUAGE": "en"
          }
        }
      }
    }
    
  3. 重启你的AI助手

    • Claude Desktop:重启应用程序
    • Cursor:重启并激活MCP配置
  4. 测试:让您的AI助手给您发送一条通知!

就这样! 🎉 不需要安装、克隆或构建。


🌐 语言支持

🤖 AI助手集成(代理提示)

准备好与您的AI助手集成吗? 根据您的需求选择正确的提示配置:

📋 可用的代理提示配置

提示类型描述最适合关键工具
仅通知模式简单的任务完成通知基本的通知需求send_notification, broadcast_notification
基本互动模式Telegram互动+通知用户输入及确认request_interaction_sync, send_notification
高级互动模式连续工作流程,带有后续提示复杂的多步骤任务get_telegram_prompts, process_telegram_prompt, request_interaction_sync

🎯 AI助手快速开始

  1. 选择下面的提示类型之一
  2. 复制完整的提示配置
  3. 添加到您的AI助手系统提示(Cursor、Claude等)
  4. 配置您的NotifyMeMaybe服务
  5. 开始接收通知和互动!

功能

🔔 多渠道通知

  • Telegram集成:直接向Telegram聊天发送通知
  • Webhook支持:HTTP webhook通知以供自定义集成
  • 优先级级别:高、正常和低优先级通知
  • 丰富的元数据:附加自定义数据到通知

🤖 互动提示引擎

NotifyMeMaybe的核心功能是其复杂的提示引擎,它使AI系统与用户之间的双向通信成为可能:

互动类型

  • 确认请求:带有按钮界面的Yes/No决策
  • 文本提示:从用户收集文本输入
  • 选择菜单:带有自定义按钮的多项选择选项
  • 同步与异步:实时和排队互动

AI工作流集成

  • 兼容MCP(模型上下文协议):无缝集成到Claude和其他AI系统
  • 超时管理:可配置的超时处理和回退处理
  • 队列管理:处理多个并发用户互动
  • 响应验证:确保用户响应格式正确

高级功能

  • 自动拒绝:自动处理过期互动
  • 广播通知:同时发送到所有活跃频道
  • 服务健康监控:所有通知服务的实时状态
  • 国际化:多语言支持(英语、繁体中文、简体中文)

代理提示配置

1. 📢 仅通知模式

复制此提示配置到您的AI助手:

## NotifyMeMaybe 仅通知模式配置

### 何时使用NotifyMeMaybe工具:
- **始终**在任务完成后通知
- 发送长时间运行操作的进度更新
- 在错误或重要状态变化时通知

### 必需的MCP工具使用:

#### 任务完成通知:
使用`send_notification`或`broadcast_notification`当:
- 任何任务成功完成
- 任务执行期间发生错误
- 达到重要里程碑

参数:
- service: "telegram"(或使用broadcast_notification用于所有服务)
- title: 清晰简洁的任务完成总结
- message: 详细结果、文件路径、URL或错误详情
- priority: "high"(错误)、"normal"(完成)、"low"(进度更新)
- metadata: 包含相关上下文如文件路径、时间戳等

#### 示例使用:
send_notification(
  service="telegram",
  title="任务完成:代码分析",
  message="成功分析了15个文件,并发现了3个潜在问题。结果保存至/reports/analysis.json",
  priority="normal",
  metadata={"files_analyzed": 15, "issues_found": 3, "report_path": "/reports/analysis.json"}
)

### 服务健康检查:
定期使用`test_services`以确保服务可用。

2. 🔄 互动模式

复制此提示配置到您的AI助手:

## NotifyMeMaybe 互动模式配置

### 何时使用NotifyMeMaybe工具:
- 当需要澄清时请求用户输入
- 在重大操作前询问确认
- 提供选择菜单供用户选择
- 发送完成通知

### 必需的MCP工具使用:

#### 用户互动请求:
使用`request_interaction_sync`当:
- 在继续之前需要用户确认
- 需要从用户处获取文本输入
- 想提供多项选择选项

参数:
- type: "confirmation"(Yes/No),"prompt"(文本输入),"selection"(多项选择)
- message: 清晰的问题或请求
- options: 选项数组(仅适用于type="selection")
- timeout: 60000(60秒)或适当的超时

#### 示例:

确认请求:
request_interaction_sync(
  type="confirmation",
  message="您是否想继续删除项目目录中的5个文件?"
)

文本输入请求:
request_interaction_sync(
  type="prompt",
  message="请输入目标部署环境(staging/production):"
)

选择菜单:
request_interaction_sync(
  type="selection",
  message="选择部署策略:",
  options=["蓝绿部署", "滚动更新", "金丝雀发布"]
)

#### 完成通知:
任务完成后始终使用`send_notification`发送完成通知。

#### 错误处理:
- 轻松处理互动超时
- 如果用户没有响应,则提供回退响应
- 对于关键错误使用高优先级通知

3. 🚀 高级互动模式

复制此完整的提示配置到您的AI助手:

## NotifyMeMaybe 高级互动模式配置

### 核心代理行为规则:
- **始终**在会话开始时检查新的Telegram提示
- **永不**在未请求更多请求的情况下结束会话
- **始终**在开始新任务前处理待处理提示
- **始终**对长时间操作发送进度通知

### 必需的MCP工具使用协议:

#### 1. 会话启动协议:
始终在每个会话开始时执行:

1. 检查待处理提示:
   get_telegram_prompts()

2. 如果存在提示,处理每个提示:
   process_telegram_prompt(
     promptId="<prompt_id>",
     response="收到您的请求。正在处理中..."
   )

3. 发送状态通知:
   send_notification(
     service="telegram",
     title="AI会话已启动",
     message="正在处理您的Telegram请求。会话处于活动状态。",
     priority="normal"
   )

#### 2. 任务执行协议:
在任务执行过程中:

1. 对长时间操作发送进度更新:
   send_notification(
     service="telegram",
     title="进度更新",
     message="已完成第2/5步:数据库备份完成",
     priority="normal",
     metadata={"step": 2, "total_steps": 5}
   )

2. 当需要用户输入时使用互动:
   request_interaction_sync(
     type="confirmation",
     message="准备进行数据库迁移。继续?"
   )

3. 使用高优先级处理错误:
   send_notification(
     service="telegram",
     title="发生错误",
     message="数据库连接失败。30秒后重试...",
     priority="high"
   )

#### 3. 会话结束协议:
**强制性**:永远不要在没有这个序列的情况下结束:

1. 发送完成通知:
   send_notification(
     service="telegram",
     title="任务成功完成",
     message="所有请求的操作已完成。摘要:[详细结果]",
     priority="normal"
   )

2. **始终**请求更多指令:
   request_interaction_sync(
     type="prompt",
     message="任务成功完成。您有其他指示或后续请求吗?",
     timeout=60000
   )

3. 继续互动循环直到用户表示完成
4. 只有当用户明确表示“完成”、“结束”、“没有更多任务”等时才停止

#### 4. Telegram提示监控:
定期检查新的提示:
- 使用get_telegram_prompts()检查队列
- 立即处理process_telegram_prompt()
- 将用户提示优先于自动化任务

#### 5. 服务健康监控:
定期验证服务:
test_services()
get_service_status(service="telegram")

### 高级模式的好处:
- 用户可以通过Telegram随时发送任务
- AI自动处理排队请求
- 没有人工干预的连续工作流程
- 全面的进度跟踪
- 在用户指导下恢复错误

📦 安装与设置

🌟 方法1:NPX(推荐)

添加到您的MCP配置文件:

配置文件位置:

  • Windows%APPDATA%\Claude\claude_desktop_config.json
  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "notify-me-maybe": {
      "command": "npx",
      "args": ["-y", "notify-me-maybe-mcp"],
      "env": {
        "TELEGRAM_BOT_TOKEN": "your_bot_token_here",
        "TELEGRAM_CHAT_ID": "your_chat_id_here",
        "TELEGRAM_PROMPT_ENABLED": "true",
        "TELEGRAM_INTERACTION_ENABLED": "true",
        "DEFAULT_NOTIFICATION_SERVICE": "telegram",
        "LANGUAGE": "en"
      }
    }
  }
}

⚠️ 注意:配置后,请完全重启您的AI助手。

🛠️ 方法2:本地开发

对于希望修改代码的开发者:

git clone https://github.com/keoy7am/NotifyMeMaybe.git
cd NotifyMeMaybe
npm install
npm run build

📱 获取Telegram凭证

  1. 创建机器人:给@BotFather发送消息 → /newbot
  2. 获取聊天ID:向您的机器人发送消息,访问https://api.telegram.org/bot<TOKEN>/getUpdates

🔧 配置

必需变量

TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=your_chat_id_here

可选变量

TELEGRAM_PROMPT_ENABLED=true
TELEGRAM_INTERACTION_ENABLED=true
DEFAULT_NOTIFICATION_SERVICE=telegram
LANGUAGE=en

🛠️ MCP工具

  • send_notification:发送到特定服务
  • broadcast_notification:发送到所有服务
  • request_interaction_sync:同步用户互动
  • test_services:检查所有服务的健康状况
  • get_telegram_prompts:检索待处理提示
  • process_telegram_prompt:处理Telegram提示

🤝 贡献

欢迎贡献!请:

  1. 分叉仓库
  2. 创建特性分支
  3. 提交拉取请求

📄 许可证

MIT许可证 - 详情见LICENSE文件。

🎯 准备开始了吗?

快速开始(推荐)

  1. 获取Telegram机器人令牌
  2. 添加MCP配置
  3. 重启您的AI助手
  4. 测试发送一条通知!

高级设置

  1. 选择一个代理提示配置
  2. 复制到您的AI助手系统提示
  3. 配置高级功能
  4. 构建交互式工作流!

📦 NPM包

npm view notify-me-maybe-mcp
npx notify-me-maybe-mcp  # 直接使用

NotifyMeMaybe - 让AI与人类的互动无缝衔接!🚀

💡 小贴士:配置后别忘了重启您的AI助手!