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>
This commit is contained in:
panda 2025-07-27 22:47:34 +08:00
parent 3eccba9bc8
commit 4f288982ed
24 changed files with 615 additions and 50 deletions

View File

@ -1,23 +1,38 @@
# TaskPing Email Relay Configuration # Claude Code Remote Email Configuration
# 邮件接收配置 # ===== SMTP 发送邮件配置 =====
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password
# 发件人信息
EMAIL_FROM=your-email@gmail.com
EMAIL_FROM_NAME=Claude Code Remote 通知系统
# ===== IMAP 接收邮件配置 =====
IMAP_HOST=imap.gmail.com IMAP_HOST=imap.gmail.com
IMAP_PORT=993 IMAP_PORT=993
IMAP_SECURE=true IMAP_SECURE=true
IMAP_USER=your-email@gmail.com IMAP_USER=your-email@gmail.com
IMAP_PASS=your-app-password IMAP_PASS=your-app-password
# 邮件安全设置 # ===== 邮件路由配置 =====
# 允许的发件人列表(逗号分隔) # 接收通知的邮箱地址
ALLOWED_SENDERS=jessy@example.com,trusted@company.com EMAIL_TO=your-notification-email@gmail.com
# 路由与会话存储 # 允许发送命令的邮箱地址(安全白名单)
SESSION_MAP_PATH=/Users/jessytsui/dev/TaskPing/src/data/session-map.json ALLOWED_SENDERS=your-notification-email@gmail.com
# 模式选择pty 或 tmux # ===== 系统配置 =====
# 会话映射文件路径 (请替换为你的实际路径)
SESSION_MAP_PATH=/Users/your-username/path/to/Claude-Code-Remote/src/data/session-map.json
# 运行模式pty 或 tmux
INJECTION_MODE=pty INJECTION_MODE=pty
# Claude CLI 路径可选默认使用系统PATH中的claude # Claude CLI 路径默认使用系统PATH中的claude
CLAUDE_CLI_PATH=claude CLAUDE_CLI_PATH=claude
# 日志级别debug, info, warn, error # 日志级别debug, info, warn, error
@ -26,5 +41,9 @@ LOG_LEVEL=info
# 是否记录PTY输出调试用 # 是否记录PTY输出调试用
PTY_OUTPUT_LOG=false PTY_OUTPUT_LOG=false
# tmux 配置如果使用tmux模式 # ===== 邮件模板配置 =====
TMUX_SESSION_PREFIX=taskping # 邮件检查间隔(秒)
CHECK_INTERVAL=30
# 会话超时时间(小时)
SESSION_TIMEOUT=24

View File

@ -33,9 +33,9 @@ cd Claude-Code-Remote
npm install npm install
# 3. 测试基本功能 # 3. 测试基本功能
node taskping.js --help node claude-remote.js --help
node taskping.js status node claude-remote.js status
node taskping.js test node claude-remote.js test
``` ```
如果看到桌面通知弹出,说明基础功能正常! 如果看到桌面通知弹出,说明基础功能正常!
@ -45,38 +45,36 @@ node taskping.js test
#### 2.1 创建邮件配置文件 #### 2.1 创建邮件配置文件
```bash ```bash
# 在项目根目录创建 .env 文件 # 复制示例配置文件
touch .env cp .env.example .env
``` ```
#### 2.2 编辑 .env 文件 #### 2.2 编辑 .env 文件
将以下内容复制到 `.env` 文件中,并替换为你的邮箱信息: 编辑 `.env` 文件,替换为你的邮箱信息:
```bash
# 编辑配置文件
nano .env
# 或者使用其他编辑器
open .env
```
主要需要修改的配置项:
```env ```env
# ===== SMTP 发送邮件配置 ===== # 你的邮箱地址和应用密码
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your-email@gmail.com SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password SMTP_PASS=your-app-password
# ===== IMAP 接收邮件配置 =====
IMAP_HOST=imap.gmail.com
IMAP_PORT=993
IMAP_SECURE=true
IMAP_USER=your-email@gmail.com IMAP_USER=your-email@gmail.com
IMAP_PASS=your-app-password IMAP_PASS=your-app-password
# ===== 邮件路由配置 ===== # 接收通知的邮箱(可以是同一个)
EMAIL_TO=your-notification-email@gmail.com EMAIL_TO=your-notification-email@gmail.com
ALLOWED_SENDERS=your-notification-email@gmail.com ALLOWED_SENDERS=your-notification-email@gmail.com
# ===== 系统配置 ===== # 你的实际项目路径
SESSION_MAP_PATH=/Users/your-username/path/to/Claude-Code-Remote/src/data/session-map.json SESSION_MAP_PATH=/Users/your-username/path/to/Claude-Code-Remote/src/data/session-map.json
INJECTION_MODE=pty
CLAUDE_CLI_PATH=claude
LOG_LEVEL=info
``` ```
#### 2.3 常见邮箱配置 #### 2.3 常见邮箱配置
@ -107,7 +105,7 @@ IMAP_PORT=993
```bash ```bash
# 测试邮件发送功能 # 测试邮件发送功能
node taskping.js test node claude-remote.js test
``` ```
如果收到测试邮件,说明邮件配置成功! 如果收到测试邮件,说明邮件配置成功!
@ -132,7 +130,7 @@ node taskping.js test
"matcher": "*", "matcher": "*",
"hooks": [{ "hooks": [{
"type": "command", "type": "command",
"command": "node /Users/your-username/path/to/Claude-Code-Remote/taskping.js notify --type completed", "command": "node /Users/your-username/path/to/Claude-Code-Remote/claude-remote.js notify --type completed",
"timeout": 5 "timeout": 5
}] }]
}], }],
@ -140,7 +138,7 @@ node taskping.js test
"matcher": "*", "matcher": "*",
"hooks": [{ "hooks": [{
"type": "command", "type": "command",
"command": "node /Users/your-username/path/to/Claude-Code-Remote/taskping.js notify --type waiting", "command": "node /Users/your-username/path/to/Claude-Code-Remote/claude-remote.js notify --type waiting",
"timeout": 5 "timeout": 5
}] }]
}] }]
@ -151,6 +149,7 @@ node taskping.js test
**🔥 重要:替换路径** **🔥 重要:替换路径**
- 将 `/Users/your-username/path/to/Claude-Code-Remote` 替换为你的实际项目路径 - 将 `/Users/your-username/path/to/Claude-Code-Remote` 替换为你的实际项目路径
- 可以用 `pwd` 命令获取当前目录的完整路径 - 可以用 `pwd` 命令获取当前目录的完整路径
- 确保文件名为 `claude-remote.js`
### 🎮 第四步:开始使用(马上开始!) ### 🎮 第四步:开始使用(马上开始!)
@ -163,7 +162,7 @@ npm run relay:pty
你会看到类似输出: 你会看到类似输出:
``` ```
🚀 Starting TaskPing PTY Relay service... 🚀 Starting Claude Code Remote PTY Relay service...
📧 IMAP server: imap.gmail.com 📧 IMAP server: imap.gmail.com
👤 Email account: your-email@gmail.com 👤 Email account: your-email@gmail.com
🔒 Whitelist senders: your-email@gmail.com 🔒 Whitelist senders: your-email@gmail.com
@ -191,7 +190,7 @@ claude
2. **接收邮件通知** 2. **接收邮件通知**
Claude 完成任务后,你会收到邮件,内容类似: Claude 完成任务后,你会收到邮件,内容类似:
``` ```
Subject: TaskPing 任务完成通知 [#ABC123] Subject: Claude Code Remote 任务完成通知 [#ABC123]
Claude has completed your task: Claude has completed your task:
"请帮我分析这个项目的结构" "请帮我分析这个项目的结构"
@ -250,16 +249,16 @@ tmux send-keys -t project-b "cd /path/to/project-b && claude" Enter
```bash ```bash
# 查看系统状态 # 查看系统状态
node taskping.js status node claude-remote.js status
# 查看待处理命令 # 查看待处理命令
node taskping.js commands list node claude-remote.js commands list
# 查看活跃会话 # 查看活跃会话
tmux list-sessions tmux list-sessions
# 清理命令队列 # 清理命令队列
node taskping.js commands clear node claude-remote.js commands clear
``` ```
## 🎬 使用场景示例 ## 🎬 使用场景示例
@ -289,13 +288,13 @@ node taskping.js commands clear
npm run relay:pty # 启动邮件监听(前台运行) npm run relay:pty # 启动邮件监听(前台运行)
# 系统状态检查 # 系统状态检查
node taskping.js status # 查看整体状态 node claude-remote.js status # 查看整体状态
node taskping.js test # 测试所有功能 node claude-remote.js test # 测试所有功能
# 命令队列管理 # 命令队列管理
node taskping.js commands list # 查看待处理命令 node claude-remote.js commands list # 查看待处理命令
node taskping.js commands status # 查看处理状态 node claude-remote.js commands status # 查看处理状态
node taskping.js commands clear # 清空命令队列 node claude-remote.js commands clear # 清空命令队列
# 会话管理 # 会话管理
tmux list-sessions # 查看所有会话 tmux list-sessions # 查看所有会话
@ -320,8 +319,8 @@ npm install
**Q: 邮件发送失败** **Q: 邮件发送失败**
```bash ```bash
# 检查邮件配置 # 检查邮件配置
node taskping.js status node claude-remote.js status
node taskping.js test node claude-remote.js test
# 常见问题: # 常见问题:
# 1. Gmail 用户必须使用应用密码 # 1. Gmail 用户必须使用应用密码
@ -347,7 +346,7 @@ grep ALLOWED_SENDERS .env
cat ~/.claude/settings.json cat ~/.claude/settings.json
# 手动测试 hook # 手动测试 hook
node taskping.js notify --type completed node claude-remote.js notify --type completed
# 检查文件路径是否正确 # 检查文件路径是否正确
``` ```
@ -355,7 +354,7 @@ node taskping.js notify --type completed
**Q: 收不到邮件通知** **Q: 收不到邮件通知**
```bash ```bash
# 检查 SMTP 配置 # 检查 SMTP 配置
node taskping.js test node claude-remote.js test
# 检查垃圾邮件文件夹 # 检查垃圾邮件文件夹
# 确认邮件地址配置正确 # 确认邮件地址配置正确

View File

@ -1 +1,26 @@
[] [
{
"id": 1312,
"timestamp": 1753626443001
},
{
"id": 1315,
"timestamp": 1753626443001
},
{
"id": 1310,
"timestamp": 1753626443001
},
{
"id": 1323,
"timestamp": 1753626443001
},
{
"id": 1331,
"timestamp": 1753626443001
},
{
"id": 1334,
"timestamp": 1753626443001
}
]

View File

@ -34,5 +34,185 @@
"sessionId": "a966681d-5cfd-47b9-bb1b-c7ee9655b97b", "sessionId": "a966681d-5cfd-47b9-bb1b-c7ee9655b97b",
"tmuxSession": "a-0", "tmuxSession": "a-0",
"description": "waiting - TaskPing" "description": "waiting - TaskPing"
},
"G3QE3STQ": {
"type": "pty",
"createdAt": 1753622403,
"expiresAt": 1753708803,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "7f6e11b3-0ac9-44b1-a75f-d3a15a8ec46e",
"tmuxSession": "claude-taskping",
"description": "completed - TaskPing-Test"
},
"Z0Q98XCC": {
"type": "pty",
"createdAt": 1753624374,
"expiresAt": 1753710774,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "b2408839-8a64-4a07-8ceb-4a7a82ea5b25",
"tmuxSession": "claude-taskping",
"description": "completed - TaskPing-Test"
},
"65S5UGHZ": {
"type": "pty",
"createdAt": 1753624496,
"expiresAt": 1753710896,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "117a1097-dd97-41ab-a276-e4820adc8da8",
"tmuxSession": "claude-taskping",
"description": "completed - Claude-Code-Remote"
},
"N9PPKGTO": {
"type": "pty",
"createdAt": 1753624605,
"expiresAt": 1753711005,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "0caed3af-35ae-4b42-9081-b1a959735bde",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
},
"TEST12345": {
"type": "pty",
"createdAt": 1753628000,
"expiresAt": 1753714400,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "test-session-id",
"tmuxSession": "test-claude",
"description": "testing - Test Session"
},
"YTGT6F6F": {
"type": "pty",
"createdAt": 1753625040,
"expiresAt": 1753711440,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "e6e973b6-20dd-497f-a988-02482af63336",
"tmuxSession": "claude-taskping",
"description": "completed - Claude-Code-Remote"
},
"2XQP1N0P": {
"type": "pty",
"createdAt": 1753625361,
"expiresAt": 1753711761,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "0f694f4c-f8a4-476a-946a-3dc057c3bc46",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
},
"GKPSGCBS": {
"type": "pty",
"createdAt": 1753625618,
"expiresAt": 1753712018,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "e844d2ae-9098-4528-9e05-e77904a35be3",
"tmuxSession": "claude-taskping",
"description": "completed - Claude-Code-Remote"
},
"187JDGZ0": {
"type": "pty",
"createdAt": 1753625623,
"expiresAt": 1753712023,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "633a2687-81e7-456e-9995-3321ce3f3b2b",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
},
"NSYKTAWC": {
"type": "pty",
"createdAt": 1753625650,
"expiresAt": 1753712050,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "b8dac307-8b4b-4286-aa73-324b9b659e60",
"tmuxSession": "claude-taskping",
"description": "completed - Claude-Code-Remote"
},
"1NTEJPH7": {
"type": "pty",
"createdAt": 1753625743,
"expiresAt": 1753712143,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "09466a43-c495-4a30-ac08-eb425748a28c",
"tmuxSession": "claude-taskping",
"description": "completed - Claude-Code-Remote"
},
"5XO64F9Z": {
"type": "pty",
"createdAt": 1753625846,
"expiresAt": 1753712246,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "99132172-7a97-46f7-b282-b22054d6e599",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
},
"D8561S3A": {
"type": "pty",
"createdAt": 1753625904,
"expiresAt": 1753712304,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "772628f1-414b-4242-bc8f-660ad53b6c23",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
},
"GR0GED2E": {
"type": "pty",
"createdAt": 1753626215,
"expiresAt": 1753712615,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "da40ba76-7047-41e0-95f2-081db87c1b3b",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
},
"TTRQKVM9": {
"type": "pty",
"createdAt": 1753626245,
"expiresAt": 1753712645,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "c7c5c95d-4541-47f6-b27a-35c0fd563413",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
},
"P9UBHY8L": {
"type": "pty",
"createdAt": 1753626325,
"expiresAt": 1753712725,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "a3f2b4f9-811e-4721-914f-f025919c2530",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
},
"JQAOXCYJ": {
"type": "pty",
"createdAt": 1753626390,
"expiresAt": 1753712790,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "f0d0635b-59f2-45eb-acfc-d649b12fd2d6",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
},
"B7R9OR3K": {
"type": "pty",
"createdAt": 1753626445,
"expiresAt": 1753712845,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "d33e49aa-a58f-46b0-8829-dfef7f474600",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
},
"0KGM60XO": {
"type": "pty",
"createdAt": 1753626569,
"expiresAt": 1753712969,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "02bd4449-bdcf-464e-916e-61bc62a18dd2",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
},
"5NXM173C": {
"type": "pty",
"createdAt": 1753626834,
"expiresAt": 1753713234,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"sessionId": "f8f915ee-ab64-471c-b3d2-71cb84d2b5fe",
"tmuxSession": "video",
"description": "completed - Claude-Code-Remote"
} }
} }

View File

@ -0,0 +1,18 @@
{
"id": "02bd4449-bdcf-464e-916e-61bc62a18dd2",
"token": "0KGM60XO",
"type": "pty",
"created": "2025-07-27T14:29:29.132Z",
"expires": "2025-07-28T14:29:29.132Z",
"createdAt": 1753626569,
"expiresAt": 1753712969,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "09466a43-c495-4a30-ac08-eb425748a28c",
"token": "1NTEJPH7",
"type": "pty",
"created": "2025-07-27T14:15:43.425Z",
"expires": "2025-07-28T14:15:43.425Z",
"createdAt": 1753625743,
"expiresAt": 1753712143,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "0caed3af-35ae-4b42-9081-b1a959735bde",
"token": "N9PPKGTO",
"type": "pty",
"created": "2025-07-27T13:56:45.557Z",
"expires": "2025-07-28T13:56:45.557Z",
"createdAt": 1753624605,
"expiresAt": 1753711005,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "0f694f4c-f8a4-476a-946a-3dc057c3bc46",
"token": "2XQP1N0P",
"type": "pty",
"created": "2025-07-27T14:09:21.440Z",
"expires": "2025-07-28T14:09:21.440Z",
"createdAt": 1753625361,
"expiresAt": 1753711761,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "117a1097-dd97-41ab-a276-e4820adc8da8",
"token": "65S5UGHZ",
"type": "pty",
"created": "2025-07-27T13:54:56.875Z",
"expires": "2025-07-28T13:54:56.875Z",
"createdAt": 1753624496,
"expiresAt": 1753710896,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "633a2687-81e7-456e-9995-3321ce3f3b2b",
"token": "187JDGZ0",
"type": "pty",
"created": "2025-07-27T14:13:43.575Z",
"expires": "2025-07-28T14:13:43.575Z",
"createdAt": 1753625623,
"expiresAt": 1753712023,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "772628f1-414b-4242-bc8f-660ad53b6c23",
"token": "D8561S3A",
"type": "pty",
"created": "2025-07-27T14:18:24.930Z",
"expires": "2025-07-28T14:18:24.930Z",
"createdAt": 1753625904,
"expiresAt": 1753712304,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "7f6e11b3-0ac9-44b1-a75f-d3a15a8ec46e",
"token": "G3QE3STQ",
"type": "pty",
"created": "2025-07-27T13:20:03.954Z",
"expires": "2025-07-28T13:20:03.954Z",
"createdAt": 1753622403,
"expiresAt": 1753708803,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "TaskPing-Test",
"message": "This is a test email to verify that the email notification function is working properly."
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "99132172-7a97-46f7-b282-b22054d6e599",
"token": "5XO64F9Z",
"type": "pty",
"created": "2025-07-27T14:17:26.966Z",
"expires": "2025-07-28T14:17:26.966Z",
"createdAt": 1753625846,
"expiresAt": 1753712246,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "a3f2b4f9-811e-4721-914f-f025919c2530",
"token": "P9UBHY8L",
"type": "pty",
"created": "2025-07-27T14:25:25.848Z",
"expires": "2025-07-28T14:25:25.848Z",
"createdAt": 1753626325,
"expiresAt": 1753712725,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "b2408839-8a64-4a07-8ceb-4a7a82ea5b25",
"token": "Z0Q98XCC",
"type": "pty",
"created": "2025-07-27T13:52:54.736Z",
"expires": "2025-07-28T13:52:54.736Z",
"createdAt": 1753624374,
"expiresAt": 1753710774,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "TaskPing-Test",
"message": "This is a test email to verify that the email notification function is working properly."
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "b8dac307-8b4b-4286-aa73-324b9b659e60",
"token": "NSYKTAWC",
"type": "pty",
"created": "2025-07-27T14:14:10.103Z",
"expires": "2025-07-28T14:14:10.103Z",
"createdAt": 1753625650,
"expiresAt": 1753712050,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "c7c5c95d-4541-47f6-b27a-35c0fd563413",
"token": "TTRQKVM9",
"type": "pty",
"created": "2025-07-27T14:24:05.433Z",
"expires": "2025-07-28T14:24:05.433Z",
"createdAt": 1753626245,
"expiresAt": 1753712645,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "d33e49aa-a58f-46b0-8829-dfef7f474600",
"token": "B7R9OR3K",
"type": "pty",
"created": "2025-07-27T14:27:25.292Z",
"expires": "2025-07-28T14:27:25.292Z",
"createdAt": 1753626445,
"expiresAt": 1753712845,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "da40ba76-7047-41e0-95f2-081db87c1b3b",
"token": "GR0GED2E",
"type": "pty",
"created": "2025-07-27T14:23:35.122Z",
"expires": "2025-07-28T14:23:35.122Z",
"createdAt": 1753626215,
"expiresAt": 1753712615,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "e6e973b6-20dd-497f-a988-02482af63336",
"token": "YTGT6F6F",
"type": "pty",
"created": "2025-07-27T14:04:00.467Z",
"expires": "2025-07-28T14:04:00.467Z",
"createdAt": 1753625040,
"expiresAt": 1753711440,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "e844d2ae-9098-4528-9e05-e77904a35be3",
"token": "GKPSGCBS",
"type": "pty",
"created": "2025-07-27T14:13:38.965Z",
"expires": "2025-07-28T14:13:38.965Z",
"createdAt": 1753625618,
"expiresAt": 1753712018,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "f0d0635b-59f2-45eb-acfc-d649b12fd2d6",
"token": "JQAOXCYJ",
"type": "pty",
"created": "2025-07-27T14:26:30.022Z",
"expires": "2025-07-28T14:26:30.022Z",
"createdAt": 1753626390,
"expiresAt": 1753712790,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}

View File

@ -0,0 +1,18 @@
{
"id": "f8f915ee-ab64-471c-b3d2-71cb84d2b5fe",
"token": "5NXM173C",
"type": "pty",
"created": "2025-07-27T14:33:54.331Z",
"expires": "2025-07-28T14:33:54.331Z",
"createdAt": 1753626834,
"expiresAt": 1753713234,
"cwd": "/Users/jessytsui/dev/Claude-Code-Remote",
"notification": {
"type": "completed",
"project": "Claude-Code-Remote",
"message": "[Claude-Code-Remote] Task completed, Claude is waiting for next instruction"
},
"status": "waiting",
"commandCount": 0,
"maxCommands": 10
}