修复了一些来自claude-code-remote的代码关于telegram的使用问题
Go to file
panda 45576e5a3e Add TaskPing project files
- Initial project structure with documentation
- Email automation and notification system
- Claude command integration
- Configuration management system
- Daemon process for task monitoring
- Multi-channel notification support (email, desktop)
- Session data storage
- Development and deployment scripts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 02:22:12 +08:00
config Add TaskPing project files 2025-07-27 02:22:12 +08:00
docs Add TaskPing project files 2025-07-27 02:22:12 +08:00
src Add TaskPing project files 2025-07-27 02:22:12 +08:00
.gitignore Add TaskPing project files 2025-07-27 02:22:12 +08:00
LICENSE Initial commit 2025-07-12 20:37:51 +08:00
PROJECT_STRUCTURE.md Add TaskPing project files 2025-07-27 02:22:12 +08:00
PROJECT_STRUCTURE_NEW.md Add TaskPing project files 2025-07-27 02:22:12 +08:00
QUICKSTART.md Add TaskPing project files 2025-07-27 02:22:12 +08:00
README.md Add TaskPing project files 2025-07-27 02:22:12 +08:00
TaskPing.md Add TaskPing project files 2025-07-27 02:22:12 +08:00
debug-email.js Add TaskPing project files 2025-07-27 02:22:12 +08:00
diagnose-automation.js Add TaskPing project files 2025-07-27 02:22:12 +08:00
email-automation.js Add TaskPing project files 2025-07-27 02:22:12 +08:00
email-checker.js Add TaskPing project files 2025-07-27 02:22:12 +08:00
package-lock.json Add TaskPing project files 2025-07-27 02:22:12 +08:00
package.json Add TaskPing project files 2025-07-27 02:22:12 +08:00
setup-permissions.js Add TaskPing project files 2025-07-27 02:22:12 +08:00
simple-start.js Add TaskPing project files 2025-07-27 02:22:12 +08:00
taskping-config.js Add TaskPing project files 2025-07-27 02:22:12 +08:00
taskping.js Add TaskPing project files 2025-07-27 02:22:12 +08:00
test-clipboard.js Add TaskPing project files 2025-07-27 02:22:12 +08:00

README.md

TaskPing - Claude Code 邮件自动化

TaskPing 是一个智能的邮件自动化工具,可以监听你的邮件回复,并将回复内容自动输入到 Claude Code 中执行。

🚀 快速开始

1. 配置邮箱

npm run config

按照提示配置你的邮箱信息SMTP和IMAP

2. 启动服务

npm start

3. 使用流程

  1. 当 Claude Code 完成任务时TaskPing 会发送邮件通知到你的邮箱
  2. 直接回复这封邮件,在邮件中写入你想让 Claude Code 执行的下一个命令
  3. TaskPing 会自动监听到你的回复,提取命令内容,并自动输入到 Claude Code 中
  4. 命令会自动执行,无需任何手动操作

核心特性

🎯 智能检测

  • 基于Claude Code官方hooks机制
  • 自动识别任务完成和等待输入状态
  • 无需手动监控,完全自动化

📢 多渠道通知

  • 桌面通知:即时本地通知
  • 邮件通知:远程邮件提醒 + 回复执行命令
  • 支持自定义通知声音和消息内容
  • 同时启用多个通知渠道

🏠 远程命令执行

  • 邮件回复:直接回复邮件执行下一步命令
  • 自动化流程:人不在电脑前也能继续对话
  • 安全机制:会话过期、命令过滤、来源验证

🌍 跨平台支持

  • macOS:原生通知中心 + 系统提示音
  • WindowsToast通知系统
  • Linuxlibnotify桌面通知

🎛️ 灵活配置

  • 多语言支持(中文、英文、日文)
  • 自定义提示音(支持系统音效)
  • 邮件 SMTP/IMAP 配置
  • 可调节通知频率和超时时间

📦 快速安装

自动安装(推荐)

# 1. 克隆或下载项目
git clone <repository-url>
cd TaskPing

# 2. 运行安装脚本
node taskping.js install

# 3. 按提示完成配置
# 安装器会自动配置Claude Code的hooks设置

手动安装

# 1. 测试通知功能
node taskping.js test

# 2. 配置Claude Code
# 将以下内容添加到 ~/.claude/settings.json 的 "hooks" 部分:
{
  "hooks": {
    "Stop": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "node /path/to/TaskPing/taskping.js notify --type completed",
        "timeout": 5
      }]
    }],
    "SubagentStop": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "node /path/to/TaskPing/taskping.js notify --type waiting",
        "timeout": 5
      }]
    }]
  }
}

🎮 使用方法

基本使用

安装完成后TaskPing会自动工作

# 1. 正常启动Claude Code
claude

# 2. 执行任务
> 请帮我重构这个项目的代码结构

# 3. 当Claude完成任务时你会收到通知
# 📱 "任务已完成Claude正在等待下一步指令"

# 4. 当Claude需要你的输入时你会收到提醒
# 📱 "Claude需要您的进一步指导"

配置管理

# 启动配置工具
node taskping.js config

# 快速查看当前配置
node taskping.js config --show

# 查看系统状态
node taskping.js status

# 测试通知功能
node taskping.js test

# 启动邮件命令中继服务 (NEW!)
node taskping.js relay start

🔧 配置选项

语言设置

  • zh-CN:简体中文
  • en:英语
  • ja:日语

提示音选择macOS

  • Glass:清脆玻璃音(推荐用于任务完成)
  • Tink:轻柔提示音(推荐用于等待输入)
  • PingPopBasso 等系统音效

基础配置示例

{
  "language": "zh-CN",
  "sound": {
    "completed": "Glass",
    "waiting": "Tink"
  },
  "enabled": true,
  "timeout": 5
}

邮件配置示例

{
  "email": {
    "enabled": true,
    "config": {
      "smtp": {
        "host": "smtp.gmail.com",
        "port": 587,
        "secure": false,
        "auth": {
          "user": "your-email@gmail.com",
          "pass": "your-app-password"
        }
      },
      "imap": {
        "host": "imap.gmail.com",
        "port": 993,
        "secure": true
      },
      "from": "TaskPing <your-email@gmail.com>",
      "to": "your-email@gmail.com"
    }
  }
}

📧 邮件功能设置指南: 查看 邮件功能详细指南 了解完整的配置和使用方法。

💡 实际应用场景

🏗️ 代码重构项目

请帮我重构这个React组件提高性能
Claude开始分析组件结构...
📱 通知:任务完成!
Claude我找到了3个优化方案你倾向于哪种
📱 通知Claude需要您的进一步指导

📚 文档生成

为这个API生成完整的文档
Claude正在分析API接口...
📱 通知:任务完成!
Claude文档已生成需要我添加使用示例吗
📱 通知Claude需要您的进一步指导

🐛 Bug调试

你:帮我找出这个内存泄漏的原因
Claude开始深度分析代码...
📱 通知:任务完成!
Claude发现了2个可能的原因需要查看哪个文件
📱 通知Claude需要您的进一步指导

📧 远程邮件工作流程

1. 你在家里:启动 Claude Code 任务
2. 你出门了:📧 收到邮件 "任务完成Claude等待下一步指令"
3. 在路上:回复邮件 "请继续优化代码性能"
4. 自动执行:命令自动在你的电脑上执行
5. 再次收到:📧 "优化完成" 邮件通知
6. 继续回复:进行下一步操作

真正实现远程 AI 编程!🚀

🛠️ 故障排除

macOS权限问题

如果收不到通知,请检查:

  1. 打开"系统偏好设置" → "安全性与隐私" → "隐私"
  2. 选择"通知",确保终端应用有权限
  3. 或者在"系统偏好设置" → "通知"中启用终端通知

Linux依赖缺失

# Ubuntu/Debian
sudo apt-get install libnotify-bin

# Fedora/RHEL
sudo dnf install libnotify

# Arch Linux
sudo pacman -S libnotify

Windows执行策略

# 如果遇到PowerShell执行策略限制
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

测试通知

# 测试所有通知渠道
node taskping.js test

# 手动发送通知
node taskping.js notify --type completed
node taskping.js notify --type waiting

# 查看系统状态
node taskping.js status

📊 项目结构

TaskPing/
├── 📄 README.md              # 项目文档
├── 🚀 taskping.js            # 主要CLI入口
├── 📋 TaskPing.md           # 产品规格文档
├── 📦 package.json          # 项目依赖
├── config/                  # 配置文件目录
│   ├── defaults/            # 默认配置模板
│   ├── user.json           # 用户个人配置
│   └── channels.json       # 通知渠道配置
├── src/                    # 核心源代码
│   ├── core/               # 核心模块
│   │   ├── config.js       # 配置管理器
│   │   ├── logger.js       # 日志系统
│   │   └── notifier.js     # 通知编排器
│   ├── channels/           # 通知渠道实现
│   │   ├── local/          # 本地通知
│   │   ├── email/          # 邮件通知
│   │   └── chat/           # 聊天应用通知
│   ├── tools/              # 管理工具
│   │   ├── installer.js    # 安装器
│   │   └── config-manager.js # 配置管理器
│   └── assets/             # 静态资源
└── docs/                   # 文档目录

🔮 发展规划

TaskPing按照产品规格文档分阶段开发

Phase 1 - 本地通知MVP已完成

  • 本地桌面通知
  • Claude Code hooks集成
  • 基础配置管理

Phase 2 - 邮件通知和远程执行(已完成)

  • 📧 邮件通知功能
  • 🔄 邮件回复命令执行
  • 🔒 安全会话管理
  • 🛠️ 命令中继服务

🚧 Phase 3 - 多渠道通知(规划中)

  • Telegram/Discord/WhatsApp/飞书集成
  • 移动端推送通知
  • 多渠道命令中继

🌟 Phase 4 - 企业级功能(未来)

  • 团队协作功能
  • 用户权限管理
  • 审计日志
  • API 接口

🤝 贡献指南

欢迎参与TaskPing的开发

如何贡献

  1. Fork本项目
  2. 创建功能分支:git checkout -b feature/new-feature
  3. 提交更改:git commit -am 'Add new feature'
  4. 推送分支:git push origin feature/new-feature
  5. 提交Pull Request

开发环境

  • Node.js >= 14.0.0
  • 支持macOS、Linux、Windows开发

📄 许可证

本项目采用 MIT License 开源协议。

💬 联系我们

  • 🐛 问题反馈提交Issue
  • 💡 功能建议Discussion
  • 📧 邮件联系contact@taskping.dev

让Claude Code工作流程更加智能高效

如果这个项目对你有帮助请给我们一个Star