canifi-backup
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCanifi Backup
Canifi Backup
Overview
概述
The Canifi Backup skill creates comprehensive backups of your entire LifeOS system with a single command. It packages your configuration, skills, and Claude settings into a timestamped ZIP file stored at your preferred destination.
Why This Skill is Required:
- Protects your custom skills and configurations from loss
- Enables easy migration to new machines
- Provides restore points before major changes
- Ensures your LifeOS investment is never lost
Canifi Backup skill只需一条命令就能为你的整个LifeOS系统创建完整备份。它会将你的配置、Skill和Claude设置打包成带时间戳的ZIP文件,并存储在你指定的位置。
为什么需要这个Skill:
- 防止自定义Skill和配置丢失
- 轻松迁移到新设备
- 在重大变更前提供恢复点
- 确保你在LifeOS上的投入不会付诸东流
Privacy & Authentication
隐私与认证
Your credentials, your choice. Canifi LifeOS respects your privacy.
你的凭据,由你掌控。 Canifi LifeOS尊重你的隐私。
Option 1: Manual Browser Login (Recommended)
选项1:手动浏览器登录(推荐)
If you prefer not to share credentials with Claude Code:
- Complete the Browser Automation Setup using CDP mode
- Login to the service manually in the Playwright-controlled Chrome window
- Claude will use your authenticated session without ever seeing your password
如果你不想与Claude Code共享凭据:
- 使用CDP模式完成浏览器自动化设置
- 在Playwright控制的Chrome窗口中手动登录服务
- Claude将使用你的已认证会话,全程不会获取你的密码
Option 2: Environment Variables
选项2:环境变量
If you're comfortable sharing credentials, you can store them locally:
bash
canifi-env set SERVICE_EMAIL "your-email"
canifi-env set SERVICE_PASSWORD "your-password"Note: Credentials stored in canifi-env are only accessible locally on your machine and are never transmitted.
如果你愿意共享凭据,可以将其存储在本地:
bash
canifi-env set SERVICE_EMAIL "your-email"
canifi-env set SERVICE_PASSWORD "your-password"注意:存储在canifi-env中的凭据仅能在你的本地设备上访问,绝不会被传输到外部。
What Gets Backed Up
备份内容
The backup includes three critical directories:
备份包含三个关键目录:
1. Claude Configuration (~/.claude/
)
~/.claude/1. Claude配置(~/.claude/
)
~/.claude/- - Your global Claude instructions
CLAUDE.md - - Claude Code settings
settings.json - - Project-specific configurations
projects/ - All custom configurations
- - 你的全局Claude指令
CLAUDE.md - - Claude Code设置
settings.json - - 项目专属配置
projects/ - 所有自定义配置
2. Global Skills (~/.claude/skills/
)
~/.claude/skills/2. 全局Skill(~/.claude/skills/
)
~/.claude/skills/- All installed skills (including auto-generated ones)
- Custom skill modifications
- Skill configurations
- 所有已安装的Skill(包括自动生成的)
- 自定义Skill修改内容
- Skill配置
3. Canifi Scripts (~/canifi/
)
~/canifi/3. Canifi脚本(~/canifi/
)
~/canifi/- iMessage integration scripts
- Helper scripts
- Custom automation scripts
- iMessage集成脚本
- 辅助脚本
- 自定义自动化脚本
First-Time Setup
首次设置
On your first backup request, Canifi will ask for your backup destination:
User: "canifi backup"
Canifi: "This is your first backup. Where would you like to store backups?
Please provide a full path, for example:
- ~/Backups/canifi
- ~/Documents/CanifiBackups
- /Volumes/ExternalDrive/Backups
I'll remember this location for future backups."
User: "~/Backups/canifi"
Canifi: "Got it! I'll store backups at ~/Backups/canifi
Saving this to your global CLAUDE.md...
Creating your first backup now..."The destination is stored in your global file:
~/.claude/CLAUDE.mdmarkdown
undefined当你第一次请求备份时,Canifi会询问你的备份存储位置:
用户:"canifi backup"
Canifi:"这是你首次进行备份。你希望将备份存储在哪里?
请提供完整路径,例如:
- ~/Backups/canifi
- ~/Documents/CanifiBackups
- /Volumes/ExternalDrive/Backups
我会记住这个位置,供后续备份使用。"
用户:"~/Backups/canifi"
Canifi:"已记录!我会将备份存储在~/Backups/canifi
正在将此设置保存到你的全局CLAUDE.md中...
正在创建你的首次备份..."该存储位置会被保存到你的全局文件中:
~/.claude/CLAUDE.mdmarkdown
undefinedCanifi Backup Configuration
Canifi Backup Configuration
CANIFI_BACKUP_DESTINATION="~/Backups/canifi"
---CANIFI_BACKUP_DESTINATION="~/Backups/canifi"
---Usage
使用方法
Create a Backup
创建备份
canifi backupCreates a timestamped backup at your configured destination:
~/Backups/canifi/canifi-backup-2026-01-09-143022.zipcanifi backup会在你配置的位置创建一个带时间戳的备份:
~/Backups/canifi/canifi-backup-2026-01-09-143022.zipBackup with Custom Name
使用自定义名称备份
canifi backup before-major-updateCreates:
~/Backups/canifi/canifi-backup-before-major-update-2026-01-09.zipcanifi backup before-major-update会创建:
~/Backups/canifi/canifi-backup-before-major-update-2026-01-09.zipChange Backup Destination
修改备份存储位置
canifi backup set destination ~/NewLocation/backupsUpdates the destination in your global CLAUDE.md.
canifi backup set destination ~/NewLocation/backups会更新全局CLAUDE.md中的存储位置。
List Recent Backups
列出最近的备份
canifi backup listShows recent backups with sizes and dates.
canifi backup list会显示最近的备份及其大小和日期。
Restore from Backup
从备份恢复
canifi backup restore ~/Backups/canifi/canifi-backup-2026-01-09-143022.zipRestores files from a backup (with confirmation prompts).
canifi backup restore ~/Backups/canifi/canifi-backup-2026-01-09-143022.zip会从备份中恢复文件(需确认提示)。
Backup Workflow
备份流程
Step 1: Check for Destination
步骤1:检查存储位置
First, check if exists in :
CANIFI_BACKUP_DESTINATION~/.claude/CLAUDE.mdbash
grep "CANIFI_BACKUP_DESTINATION" ~/.claude/CLAUDE.mdIf not found, prompt user for destination.
首先,检查中是否存在:
~/.claude/CLAUDE.mdCANIFI_BACKUP_DESTINATIONbash
grep "CANIFI_BACKUP_DESTINATION" ~/.claude/CLAUDE.md如果未找到,会提示用户提供存储位置。
Step 2: Store Destination (First Time Only)
步骤2:存储位置(仅首次)
Append to :
~/.claude/CLAUDE.mdbash
cat >> ~/.claude/CLAUDE.md << 'EOF'将配置追加到:
~/.claude/CLAUDE.mdbash
cat >> ~/.claude/CLAUDE.md << 'EOF'Canifi Backup Configuration
Canifi Backup Configuration
CANIFI_BACKUP_DESTINATION="[USER_PROVIDED_PATH]"
EOF
undefinedCANIFI_BACKUP_DESTINATION="[USER_PROVIDED_PATH]"
EOF
undefinedStep 3: Create Backup Directory
步骤3:创建备份目录
bash
mkdir -p "$CANIFI_BACKUP_DESTINATION"bash
mkdir -p "$CANIFI_BACKUP_DESTINATION"Step 4: Generate Timestamp
步骤4:生成时间戳
bash
TIMESTAMP=$(date +"%Y-%m-%d-%H%M%S")
BACKUP_NAME="canifi-backup-${TIMESTAMP}.zip"bash
TIMESTAMP=$(date +"%Y-%m-%d-%H%M%S")
BACKUP_NAME="canifi-backup-${TIMESTAMP}.zip"Step 5: Create ZIP Archive
步骤5:创建ZIP归档
bash
cd ~
zip -r "$CANIFI_BACKUP_DESTINATION/$BACKUP_NAME" \
.claude/ \
canifi/ \
-x "*.DS_Store" \
-x "*node_modules/*" \
-x "*.git/*"bash
cd ~
zip -r "$CANIFI_BACKUP_DESTINATION/$BACKUP_NAME" \
.claude/ \
canifi/ \
-x "*.DS_Store" \
-x "*node_modules/*" \
-x "*.git/*"Step 6: Verify and Report
步骤6:验证并报告
bash
undefinedbash
undefinedCheck file was created
检查文件是否创建成功
ls -lh "$CANIFI_BACKUP_DESTINATION/$BACKUP_NAME"
ls -lh "$CANIFI_BACKUP_DESTINATION/$BACKUP_NAME"
Report to user
向用户报告结果
echo "Backup complete: $BACKUP_NAME"
echo "Location: $CANIFI_BACKUP_DESTINATION"
echo "Size: $(du -h "$CANIFI_BACKUP_DESTINATION/$BACKUP_NAME" | cut -f1)"
---echo "Backup complete: $BACKUP_NAME"
echo "Location: $CANIFI_BACKUP_DESTINATION"
echo "Size: $(du -h "$CANIFI_BACKUP_DESTINATION/$BACKUP_NAME" | cut -f1)"
---Restore Workflow
恢复流程
Step 1: Confirm with User
步骤1:与用户确认
WARNING: Restoring will overwrite existing files:
- ~/.claude/
- ~/canifi/
Current files will be backed up to ~/.canifi-restore-backup/ first.
Proceed? (yes/no)警告:恢复操作将覆盖现有文件:
- ~/.claude/
- ~/canifi/
当前文件会先备份到~/.canifi-restore-backup/。
是否继续?(是/否)Step 2: Backup Current State
步骤2:备份当前状态
bash
mkdir -p ~/.canifi-restore-backup
cp -r ~/.claude ~/.canifi-restore-backup/
cp -r ~/canifi ~/.canifi-restore-backup/bash
mkdir -p ~/.canifi-restore-backup
cp -r ~/.claude ~/.canifi-restore-backup/
cp -r ~/canifi ~/.canifi-restore-backup/Step 3: Extract Archive
步骤3:提取归档文件
bash
cd ~
unzip -o "$BACKUP_FILE"bash
cd ~
unzip -o "$BACKUP_FILE"Step 4: Verify Restore
步骤4:验证恢复结果
bash
echo "Restore complete!"
echo "Your previous configuration was backed up to ~/.canifi-restore-backup/"bash
echo "Restore complete!"
echo "你的之前的配置已备份到~/.canifi-restore-backup/"Backup Contents Structure
备份内容结构
canifi-backup-2026-01-09-143022.zip
├── .claude/
│ ├── CLAUDE.md
│ ├── settings.json
│ ├── projects/
│ │ └── [project-specific configs]
│ └── skills/
│ ├── canifi/
│ ├── canifi-skill-generator/
│ ├── canifi-backup/
│ └── [all other skills]
└── canifi/
├── canifi-send.sh
├── canifi-help.sh
├── canifi-status.sh
├── canifi-stream.sh
├── canifi-pause.sh
├── canifi-resume.sh
├── canifi-abort.sh
└── canifi-imessage-monitor.shcanifi-backup-2026-01-09-143022.zip
├── .claude/
│ ├── CLAUDE.md
│ ├── settings.json
│ ├── projects/
│ │ └── [project-specific configs]
│ └── skills/
│ ├── canifi/
│ ├── canifi-skill-generator/
│ ├── canifi-backup/
│ └── [all other skills]
└── canifi/
├── canifi-send.sh
├── canifi-help.sh
├── canifi-status.sh
├── canifi-stream.sh
├── canifi-pause.sh
├── canifi-resume.sh
├── canifi-abort.sh
└── canifi-imessage-monitor.shConfiguration in CLAUDE.md
CLAUDE.md中的配置
After first backup, your will include:
~/.claude/CLAUDE.mdmarkdown
undefined首次备份后,你的会包含以下内容:
~/.claude/CLAUDE.mdmarkdown
undefinedCanifi Backup Configuration
Canifi Backup Configuration
CANIFI_BACKUP_DESTINATION="~/Backups/canifi"
CANIFI_BACKUP_DESTINATION="~/Backups/canifi"
Backup History
Backup History
- Last backup: 2026-01-09 14:30:22
- Total backups: 5
- Oldest backup: 2026-01-01
---- Last backup: 2026-01-09 14:30:22
- Total backups: 5
- Oldest backup: 2026-01-01
---Automatic Backup Triggers
自动备份触发
Consider setting up automatic backups:
可以设置自动备份:
Before Major Operations
重大操作前
The skill generator can trigger a backup before creating new skills:
"Creating new skill 'todoist'...
Running pre-change backup first..."Skill生成器可以在创建新Skill前触发备份:
"正在创建新Skill 'todoist'...
先运行变更前备份..."Scheduled Backups
定时备份
Add to your workflow:
canifi backup weekly添加到你的工作流:
canifi backup weeklyPre-Update Backups
更新前备份
Before updating Canifi LifeOS:
canifi backup pre-update在更新Canifi LifeOS前:
canifi backup pre-updateCloud Backup Destinations
云备份存储位置
You can set your backup destination to cloud-synced folders:
你可以将备份存储位置设置为云同步文件夹:
iCloud Drive (macOS)
iCloud Drive(macOS)
~/Library/Mobile Documents/com~apple~CloudDocs/Backups/canifi~/Library/Mobile Documents/com~apple~CloudDocs/Backups/canifiDropbox
Dropbox
~/Dropbox/Backups/canifi~/Dropbox/Backups/canifiGoogle Drive
Google Drive
~/Google Drive/Backups/canifi~/Google Drive/Backups/canifiOneDrive
OneDrive
~/OneDrive/Backups/canifiThis way your backups are automatically synced to the cloud!
~/OneDrive/Backups/canifi这样你的备份就会自动同步到云端!
Troubleshooting
故障排除
"Destination not found"
"Destination not found"
bash
undefinedbash
undefinedCreate the directory
创建目录
mkdir -p ~/Backups/canifi
mkdir -p ~/Backups/canifi
Or change destination
或修改存储位置
canifi backup set destination ~/NewPath
undefinedcanifi backup set destination ~/NewPath
undefined"Permission denied"
"Permission denied"
bash
undefinedbash
undefinedCheck permissions
检查权限
ls -la ~/Backups/
ls -la ~/Backups/
Fix if needed
如有需要修复权限
chmod 755 ~/Backups/canifi
undefinedchmod 755 ~/Backups/canifi
undefined"Backup too large"
"Backup too large"
The backup excludes node_modules and .git by default. If still large:
bash
undefined备份默认会排除node_modules和.git目录。如果仍然过大:
bash
undefinedCheck what's taking space
检查占用空间的内容
du -sh ~/.claude/* ~/canifi/*
undefineddu -sh ~/.claude/* ~/canifi/*
undefined"Cannot find CLAUDE.md"
"Cannot find CLAUDE.md"
bash
undefinedbash
undefinedCreate if missing
如果缺失则创建
touch ~/.claude/CLAUDE.md
---touch ~/.claude/CLAUDE.md
---Example Session
示例会话
User: "canifi backup"
Canifi: "I notice this is your first backup request.
Where would you like me to store your backups?
Suggested locations:
1. ~/Backups/canifi (local)
2. ~/Dropbox/Backups/canifi (cloud-synced)
3. Custom path
Please provide your preferred backup destination."
User: "Use Dropbox"
Canifi: "Setting backup destination to: ~/Dropbox/Backups/canifi
Updating ~/.claude/CLAUDE.md with backup configuration...
Creating directory ~/Dropbox/Backups/canifi...
Now creating your first backup...
Backing up:
✓ ~/.claude/ (1.2 MB)
✓ ~/.claude/skills/ (4.8 MB)
✓ ~/canifi/ (52 KB)
Backup complete!
📦 canifi-backup-2026-01-09-143022.zip
📍 ~/Dropbox/Backups/canifi/
📊 Size: 6.1 MB
Your LifeOS is now backed up and syncing to Dropbox."用户:"canifi backup"
Canifi:"我注意到这是你首次请求备份。
你希望将备份存储在哪里?
推荐位置:
1. ~/Backups/canifi(本地)
2. ~/Dropbox/Backups/canifi(云同步)
3. 自定义路径
请提供你偏好的备份存储位置。"
用户:"使用Dropbox"
Canifi:"正在将备份存储位置设置为:~/Dropbox/Backups/canifi
正在更新~/.claude/CLAUDE.md中的备份配置...
正在创建目录~/Dropbox/Backups/canifi...
现在正在创建你的首次备份...
正在备份:
✓ ~/.claude/ (1.2 MB)
✓ ~/.claude/skills/ (4.8 MB)
✓ ~/canifi/ (52 KB)
备份完成!
📦 canifi-backup-2026-01-09-143022.zip
📍 ~/Dropbox/Backups/canifi/
📊 大小:6.1 MB
你的LifeOS已完成备份,并将同步到Dropbox。"Security Notes
安全说明
- Backups may contain sensitive data - Your CLAUDE.md might have API keys or credentials
- Encrypt sensitive backups - Consider using encrypted disk images for highly sensitive setups
- Cloud sync considerations - Cloud-synced folders upload your backup; ensure you trust the provider
- Exclude from git - Never commit backup ZIPs to version control
- 备份可能包含敏感数据 - 你的CLAUDE.md中可能包含API密钥或凭据
- 加密敏感备份 - 对于高度敏感的设置,建议使用加密磁盘镜像
- 云同步注意事项 - 云同步文件夹会上传你的备份;请确保你信任该云服务提供商
- 不要提交到git - 切勿将备份ZIP文件提交到版本控制系统