claude-code-remote-remake/PROJECT_STRUCTURE_NEW.md

4.5 KiB

TaskPing 新项目结构设计

📁 重构后的目录结构

TaskPing/
├── 📦 src/                          # 源代码目录
│   ├── 🎯 core/                     # 核心模块
│   │   ├── notifier.js              # 通知核心类
│   │   ├── config.js                # 配置管理
│   │   └── logger.js                # 日志记录
│   ├── 📢 channels/                 # 通知渠道
│   │   ├── base/                    # 基础接口
│   │   │   └── channel.js           # 通知渠道基类
│   │   ├── local/                   # 本地通知
│   │   │   └── desktop.js           # 桌面通知
│   │   ├── email/                   # 邮件通知
│   │   │   └── smtp.js              # SMTP邮件
│   │   ├── chat/                    # 聊天平台
│   │   │   ├── discord.js           # Discord
│   │   │   ├── telegram.js          # Telegram
│   │   │   ├── whatsapp.js          # WhatsApp
│   │   │   └── feishu.js            # 飞书
│   │   └── webhook/                 # Webhook通知
│   │       └── generic.js           # 通用Webhook
│   ├── 🔄 relay/                    # 命令中继模块
│   │   ├── server.js                # 中继服务器
│   │   ├── client.js                # 中继客户端
│   │   └── commands.js              # 命令处理
│   ├── 🛠️ tools/                    # 工具模块
│   │   ├── cli.js                   # 命令行工具
│   │   ├── installer.js             # 安装器
│   │   └── config-manager.js        # 配置管理器
│   └── 🎵 assets/                   # 静态资源
│       └── sounds/                  # 音效文件
├── 📋 config/                       # 配置文件
│   ├── default.json                 # 默认配置
│   ├── user.json                    # 用户配置
│   ├── channels.json                # 渠道配置
│   └── templates/                   # 配置模板
│       ├── claude-hooks.json        # Claude Code hooks
│       └── channel-templates/       # 各渠道配置模板
├── 📚 docs/                         # 文档目录
│   ├── README.md                    # 主文档
│   ├── QUICKSTART.md                # 快速开始
│   ├── api/                         # API文档
│   ├── channels/                    # 各渠道使用指南
│   └── examples/                    # 使用示例
├── 🧪 tests/                        # 测试目录
│   ├── unit/                        # 单元测试
│   ├── integration/                 # 集成测试
│   └── fixtures/                    # 测试数据
├── 📦 项目根文件
│   ├── package.json                 # Node.js配置
│   ├── taskping.js                  # 主入口文件
│   ├── LICENSE                      # 开源协议
│   └── .gitignore                   # Git忽略
└── 🚀 scripts/                      # 构建脚本
    ├── build.js                     # 构建脚本
    ├── dev.js                       # 开发脚本
    └── deploy.js                    # 部署脚本

🏗️ 模块设计原则

1. 核心抽象

  • NotificationChannel: 所有通知渠道的基类
  • CommandRelay: 命令中继的统一接口
  • ConfigManager: 统一的配置管理

2. 插件化架构

  • 每个通知渠道独立模块
  • 支持动态加载和卸载
  • 标准化的接口和生命周期

3. 配置分离

  • 用户配置与默认配置分离
  • 渠道配置模块化
  • 敏感信息加密存储

🔄 工作流程

Phase 1: 本地通知 (当前)

Claude Code → hook-notify.js → Desktop Notification

Phase 2: 多渠道通知

Claude Code → Core Notifier → Channel Router → [Email|Discord|Telegram|...]

Phase 3: 命令中继

Channel → Command Relay Server → Claude Code Client → Execute Command

🎯 入口点设计

# 主命令
taskping [command] [options]

# 子命令
taskping install           # 安装和配置
taskping config           # 配置管理
taskping test            # 测试通知
taskping serve           # 启动中继服务
taskping relay           # 连接中继服务

这个结构为未来的扩展提供了良好的基础。