Commit Graph

28 Commits

Author SHA1 Message Date
Song-Ze Yu 5159e53eaa
Fix #9 #12: Add configuration to disable subagent notifications (#10)
* Add configuration option to disable subagent notifications

- Added 'enableSubagentNotifications' config option (default: false)
- Modified notification handler to check config before sending subagent notifications
- Created documentation explaining the feature
- Updated README with note about subagent notifications

This addresses the issue where frequent subagent notifications can be distracting.
Users can now control whether they receive notifications when subagents stop/start.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Add subagent activity tracking in completion emails

- Track subagent activities instead of sending individual notifications
- Include subagent activity summary in completion emails
- Update email templates to display subagent activities
- Add SubagentTracker utility to manage activity tracking
- Update documentation to explain the new behavior

This provides a better user experience by:
1. Reducing notification noise from frequent subagent activities
2. Still providing full visibility into what subagents did
3. Consolidating all information in the completion email

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Improve subagent activity details and documentation

- Enhanced activity capture to include up to 1000 characters (was 200)
- Improved email display format with better visual separation
- Added detection for initialization-only captures with helpful message
- Added configuration option for activity detail level
- Created comprehensive documentation explaining the timing limitation
- Added visual indicators for processing status

This addresses the issue where subagent outputs were truncated or only
showed initialization messages. Users now get better visibility into
what subagents are doing, with clear indication when full output is
available in tmux.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* delete redundant files and modify README

* Fix HTML escaping in email notifications

- Add _escapeHtml function to properly escape HTML entities in emails
- Escape user-generated content to prevent HTML tags from being hidden
- Fix issue where <developer> and other HTML-like strings disappeared in emails
- Apply escaping to both main email content and subagent activity summaries

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

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-01 14:49:48 +08:00
panda 3d2a26286c Refactor README and project structure
Major changes:
- Simplify README with clearer setup guide and single-step instructions
- Add changelog section with contributor mentions for all PRs
- Create practical TODO list focusing on key features
- Move demo images to assets folder for better organization
- Remove separate email reply guides, merge content into main README
- Create ROADMAP.md for detailed future feature planning
- Remove temporary data files from tracking

This makes the project more approachable for new users while maintaining
comprehensive documentation for advanced features.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 13:31:54 +08:00
Song-Ze Yu 0eb01e6e75
Fix #6: Implement terminal-style UI for email notifications (#8)
* Fix self-reply loop issue when using same email for send/receive

- Add Message-ID tracking to prevent processing system-sent emails
- Track sent emails in sent-messages.json with auto-cleanup
- Skip system emails in both email-listener.js and relay-pty.js
- Extract session from token/headers/body for proper reply routing
- Reduce verbose logging in tmux-injector to debug level

Fixes #3

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix working directory issue - enable claude-remote to run from any directory

- Use absolute path to load .env file instead of relying on current working directory
- Fix environment variable loading in both main program and relay service
- Now claude-remote can be executed from any directory

Fixes #5

* Fix issue #6: Implement terminal-style UI for email notifications

- Redesigned email template with terminal/console aesthetic
- Used monospace fonts and dark theme for tech look
- Fixed Claude response truncation issue (removed 500 char limit)
- Increased tmux buffer capture from 50 to 200 lines
- Preserved code formatting (removed space collapsing)
- Added terminal-style command prompts and colored output
- Created test script for long content validation

* Fix terminal UI visual issues

- Fixed traffic light buttons spacing (now properly separated)
- Changed background from pure black to lighter gray (#f5f5f5)
- Terminal content background changed to softer dark (#1a1a1a)
- Code blocks background changed to #262626 for better contrast
- Improved overall visual hierarchy and readability

* Fine-tune traffic light button spacing

- Adjusted spacing between buttons from 8px to 6px
- Reduced gap after buttons from 20px to 12px
- Achieved more natural macOS-like appearance

* Use table layout for better email client compatibility

- Changed from inline-flex to table layout for traffic light buttons
- Set explicit 5px spacing between buttons using table cells
- This ensures consistent rendering across different email clients

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-01 12:29:25 +08:00
Song-Ze Yu b957cbbcc8
Fix working directory issue - enable claude-remote to run from any directory (#7)
* Fix self-reply loop issue when using same email for send/receive

- Add Message-ID tracking to prevent processing system-sent emails
- Track sent emails in sent-messages.json with auto-cleanup
- Skip system emails in both email-listener.js and relay-pty.js
- Extract session from token/headers/body for proper reply routing
- Reduce verbose logging in tmux-injector to debug level

Fixes #3

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix working directory issue - enable claude-remote to run from any directory

- Use absolute path to load .env file instead of relying on current working directory
- Fix environment variable loading in both main program and relay service
- Now claude-remote can be executed from any directory

Fixes #5

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-01 12:28:39 +08:00
Song-Ze Yu db20186423
Fix self-reply loop issue when using same email for send/receive (#4)
- Add Message-ID tracking to prevent processing system-sent emails
- Track sent emails in sent-messages.json with auto-cleanup
- Skip system emails in both email-listener.js and relay-pty.js
- Extract session from token/headers/body for proper reply routing
- Reduce verbose logging in tmux-injector to debug level

Fixes #3

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-01 12:28:06 +08:00
panda dc9d4f5a90 修复工作目录设置问题 - 让Claude Code在项目目录下启动
- 修改 claude-control.js 使用当前工作目录而非固定的Claude-Code-Remote目录
- 现在运行 claude-control --session <project_name> 会在项目目录下启动Claude Code
- 解决了之前总是在 /Users/jessytsui/dev/Claude-Code-Remote 下启动的问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 05:44:57 +08:00
panda 0f0c981e33 Add Star History chart to README
Shows repository star growth over time using star-history.com

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 15:24:51 +08:00
panda ad9073a203 Make English the default documentation language
- Rename HOW_TO_USE_EMAIL_REPLY.md to HOW_TO_USE_EMAIL_REPLY_ZH.md
- Rename HOW_TO_USE_EMAIL_REPLY_EN.md to HOW_TO_USE_EMAIL_REPLY.md
- Update all language switcher links accordingly
- English version is now the default (no language suffix)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 14:58:28 +08:00
panda 1853e86f9b Add English documentation and language switcher
- Create HOW_TO_USE_EMAIL_REPLY_EN.md with full English translation
- Add language switcher to both Chinese and English docs
- Update README.md to link to both language versions
- Ensure consistent formatting between language versions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 14:56:41 +08:00
panda fdbc837a59 Remove real email addresses from documentation
- Replace noreply@pandalla.ai with noreply@example.com
- Replace jiaxicui446@gmail.com with user@example.com
- Keep documentation functional while protecting privacy

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 14:53:45 +08:00
Kevin Lin e5de5a7932
Merge pull request #2 from kevinsslin/fix/email-from-env-variable
Remove hardcoded values and implement environment-based configuration
2025-07-28 14:44:37 +08:00
panda 5ddda6217e Complete rebrand from TaskPing to Claude-Code-Remote
- Update project name and metadata in package.json and package-lock.json
- Rename all CLI classes and main entry points
- Fix email notification sender from "TaskPing Notification System" to "Claude-Code-Remote Notification System"
- Update email subject headers from [TaskPing #token] to [Claude-Code-Remote #token]
- Rebrand daemon service and all console output messages
- Update configuration managers and installation scripts
- Modify notification channels and test templates
- Update GitHub repository URLs and author information
- Fix all remaining TaskPing references in codebase

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 02:21:38 +08:00
panda b1b50f09c3 Add YouTube play button badge below video thumbnail
- Replace simple text with YouTube-styled badge
- Use shields.io badge with YouTube branding
- Better visual indication of video link

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 01:23:51 +08:00
panda 59eed3562b Enhance video demo presentation in README
- Add centered layout for video section
- Add "Watch Demo Video" heading with video emoji
- Add play button emoji and "Click to watch on YouTube" text
- Make it clear this is an interactive video link

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 01:22:06 +08:00
panda 5f19cf4634 Add demo video thumbnail and YouTube link
- Add CCRemote_demo.png as video thumbnail
- Link thumbnail to YouTube demo video
- Improve README presentation with visual demo

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 01:19:08 +08:00
panda 0349f8f042 Complete README rewrite: Concise English version
- 🌍 Full English rewrite for international accessibility
- ✂️ Condensed content focusing on essential information
- 🎯 Streamlined setup process with clear steps
- 📱 Enhanced user flow explanation with examples
- 🐦 Integrated Twitter promotion (@Jiaxi_Cui) in strategic locations
- 🔥 Improved call-to-action for stars and community engagement
- 📊 Better structured troubleshooting section
- 💡 Added practical use cases and tips

Transforms verbose documentation into a clean, professional
README that quickly communicates value and drives engagement.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 22:59:51 +08:00
panda 4f288982ed Rebrand from TaskPing to Claude Code Remote
- Rename main file: taskping.js → claude-remote.js
- Create .env.example template file with proper Claude Code Remote branding
- Update all README references from taskping commands to claude-remote.js
- Update email notification subject lines and service names
- Replace all TaskPing references with Claude Code Remote in documentation
- Standardize configuration workflow using cp .env.example .env approach
- Ensure consistent project naming throughout all user-facing content

This completes the rebranding effort to properly reflect the project's
focus on Claude Code remote control functionality.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 22:47:34 +08:00
panda 3eccba9bc8 Complete README rewrite: Comprehensive beginner's guide
- 🚀 New user-friendly structure with step-by-step tutorials
- 📋 Clear prerequisites and system requirements
- 🎯 Progressive learning: 5min quick start → 10min email setup → 5min hooks
- 📧 Detailed email configuration for Gmail, Outlook, and other providers
- 🎮 Complete usage workflow with real examples
- 🎯 Advanced features: multiline commands, multi-project management
- 🎬 Real-world use case scenarios
- 🔧 Comprehensive troubleshooting and debugging guide
- 🛡️ Security best practices and explanations
- 📱 Modern, engaging format with emojis and clear sections

Transforms complex technical documentation into an accessible,
step-by-step guide that any developer can follow successfully.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 22:33:32 +08:00
panda c62226a5a6 Add runtime data files to gitignore
- Exclude session files and runtime data from version control
- Keep repository clean for users

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 22:29:05 +08:00
panda d5c7da85b5 Major improvements and bug fixes
- Fix package.json scripts to resolve npm install issues
- Comprehensive README update with detailed setup instructions
- Support for three running modes (desktop, email, full remote control)
- Complete usage workflow and troubleshooting guide
- Fix multiline email content parsing (preserve line breaks)
- Update session mapping path configuration
- Enhanced email command injection with multiline support

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 22:28:44 +08:00
panda 5d7601f593 Convert entire project to English version
- Translated all Chinese comments and documentation to professional English
- Converted all console messages and user interface text to English
- Updated README.md with comprehensive English documentation
- Translated configuration files and templates to English
- Converted error messages and status indicators to English
- Maintained all functionality while improving international accessibility
- Used consistent technical terminology throughout the codebase

Major changes:
- README.md: Complete English rewrite with detailed usage instructions
- All .js files: Chinese comments → English technical documentation
- Configuration files: Chinese labels → English descriptions
- User messages: Chinese prompts → English user interface
- Error handling: Chinese errors → English error messages

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 17:17:15 +08:00
panda b8f79ea2cc 清理项目并重构:整合邮件自动化功能
- 删除所有测试和调试文件,保持代码库清洁
- 重写 README.md,提供完整的功能介绍和使用指南
- 整合核心功能:智能邮件通知、回复自动执行、会话管理
- 添加故障排除指南和使用场景说明
- 实现邮件去重机制和单实例运行保障
- 提供全局 claude-control 命令支持

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 15:27:24 +08:00
panda 9d180fca79 修正邮件架构:服务端统一使用飞书邮箱,用户邮箱可配置
正确的邮件流程:
- 服务端:noreply@pandalla.ai (发送+接收)
- 用户端:jiaxicui446@gmail.com (接收通知)
- 回复路径:任意邮箱 → noreply@pandalla.ai → 系统处理

优势:
- 服务端邮箱统一管理
- 用户可用任意邮箱接收通知
- 支持多邮箱品牌回复命令
- 配置简单,维护容易

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 03:09:38 +08:00
panda a920a41c90 修复邮件监听服务的IMAP问题
- 解决client.idle()不兼容的问题
- 改用定期检查机制监听新邮件
- 修复邮件下载和解析方法
- 改善错误处理和日志记录
- 配置使用飞书邮箱接收回复

现在可以:
1. 成功连接飞书IMAP服务器
2. 读取和解析邮件内容
3. 检测TaskPing相关邮件
4. 等待用户回复测试

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 02:59:03 +08:00
panda be9eb49734 配置邮件账号并添加测试工具
- 配置飞书邮箱发件 (noreply@pandalla.ai)
- 配置 Gmail 收件 (jiaxicui446@gmail.com)
- 添加邮件配置更新脚本
- 添加邮件发送测试工具
- 创建快速配置指南
- 更新 npm 脚本命令

现在可以:
1. 通过飞书邮箱发送通知
2. 在 Gmail 接收通知
3. 回复邮件控制 Claude Code

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 02:49:07 +08:00
panda ba4a6343aa 实现邮件回复到 Claude Code CLI 的 PTY 模式
- 基于 relay-injection.md 方案一实现
- 使用 node-pty 管理 Claude Code 进程
- 支持从邮件回复中提取命令并注入到 CLI
- 添加完整的测试工具和使用文档
- 支持多种邮件格式和命令输入方式

功能特性:
- 邮件监听和命令提取
- PTY 进程管理和命令注入
- 会话管理和过期控制
- 安全验证(发件人白名单)
- 详细的日志和错误处理

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 02:34:32 +08:00
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
JessyTsui 64df43a4dc
Initial commit 2025-07-12 20:37:51 +08:00