claude-code-remote-remake/PROJECT_STRUCTURE_NEW.md

106 lines
4.5 KiB
Markdown
Raw Normal View History

# 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
## 🎯 入口点设计
```bash
# 主命令
taskping [command] [options]
# 子命令
taskping install # 安装和配置
taskping config # 配置管理
taskping test # 测试通知
taskping serve # 启动中继服务
taskping relay # 连接中继服务
```
这个结构为未来的扩展提供了良好的基础。