Skill: srchengtao2025/aicone (version 2.0.0)

--- name: ai-clone description: 通用 AI 机器人克隆技能（安全加固版 v2.0）。支持导出/导入配置，ZIP Slip 防护，元数据脱敏，敏感文件自动排除。用于 A→B 能力复制、团队共享、备份恢复。 version: 2.0.0 security: hardened --- # AI 机器人克隆技能 v2.0（安全加固版） **任何 AI 机器人都可以使用的克隆工具** --- ## 🔒 安全特性（v2.0 新增） ### 已修复的安全问题 | 问题 | 风险等级 | 修复方案 | |------|----------|----------| | ZIP Slip 漏洞 | 🔴 高危 | 路径验证 + 规范化检查 | | 固定临时目录 | 🟡 中危 | 使用 `tempfile.TemporaryDirectory` | | 元数据路径泄露 | 🟡 中危 | 默认脱敏（可配置） | | 文档代码不一致 | 🟢 低危 | 统一命令参数 | | 敏感文件无保护 | 🟡 中危 | 自动排除 `.env`, `*.key` 等 | ### 安全验证 ```bash # 导入前验证克隆包 python scripts/clone_robot.py verify clone-package.zip ``` --- ## 🎯 核心流程 ``` ┌─────────────┐ ┌─────────────┐ │ 机器人 A │ │ 机器人 B │ │ (源) │ │ (目标) │ └──────┬──────┘ └──────┬──────┘ │ │ │ 1. 使用技能导出配置 │ │ → clone-package.zip │ │ │ ├─────────────────────────────────>│ │ 传输文件 │ │ │ │ │ 2. 使用技能导入配置 │ │ ← clone-package.zip │ │ ▼ ▼ ``` --- ## 📦 机器人 A：导出配置 **任何机器人执行以下命令导出自己：** ```bash # 基本导出（推荐） python scripts/clone_robot.py export # 指定输出文件名 python scripts/clone_robot.py export --output my-clone-package.zip # 指定源目录 python scripts/clone_robot.py export --source /path/to/workspace # 不包含可选目录（仅核心文件） python scripts/clone_robot.py export --no-optional # 额外排除文件 python scripts/clone_robot.py export --exclude "*.env" "secrets/" # 保留完整路径（默认脱敏） python scripts/clone_robot.py export --keep-paths ``` **输出示例：** ``` 📦 导出配置... 源：/home/admin/.openclaw/workspace 📋 扫描工作区... ✅ SOUL.md (2.1KB) ✅ IDENTITY.md (1.5KB) ✅ USER.md (892B) ✅ MEMORY.md (3.2KB) ✅ HEARTBEAT.md (1.8KB) ✅ TOOLS.md (0.9KB) ✅ AGENTS.md (7.7KB) 📋 准备临时文件... 临时目录：/tmp/ai-clone-xyz123 ✅ SOUL.md ✅ IDENTITY.md ... ℹ️ 元数据已脱敏（不包含绝对路径） ✅ clone_metadata.json 🗜️ 打包为 clone-package-20260306-185500.zip... ✅ 导出完成！ 文件：clone-package-20260306-185500.zip 大小：9.1KB 包含：7 个核心文件 安全版本：hardened v2.0 ``` **然后：** 把 `clone-package.zip` 发给机器人 B（邮件/网盘/聊天工具） --- ## 📥 机器人 B：导入配置 **收到克隆包后执行：** ```bash # 预览包内容（不执行导入） python scripts/clone_robot.py import clone-package.zip --preview # 验证安全性 python scripts/clone_robot.py verify clone-package.zip # 导入配置（需要确认） python scripts/clone_robot.py import clone-package.zip # 跳过确认直接导入 python scripts/clone_robot.py import clone-package.zip --force # 指定目标目录 python scripts/clone_robot.py import clone-package.zip --target /path/to/workspace ``` **输出示例：** ``` 🔍 验证 ZIP 包安全性... ✅ 安全性检查通过 📥 导入配置... 包：clone-package.zip 目标：/home/admin/.openclaw/workspace 📋 克隆包信息: 创建时间：2026-03-06T18:55:00.123456 安全版本：hardened 文件数量：7 📋 即将导入以下文件: ✅ SOUL.md ✅ IDENTITY.md ✅ USER.md ✅ MEMORY.md ✅ HEARTBEAT.md ✅ TOOLS.md ✅ AGENTS.md ⚠️ 注意：这将覆盖目标目录的现有文件！ 使用 --force 跳过确认 确认导入？(y/N): y 📥 正在导入... ✅ SOUL.md ✅ IDENTITY.md ... ✅ 导入完成！ 目标：/home/admin/.openclaw/workspace 导入：7 个文件 🎉 机器人已成功复制配置！ 安全版本：hardened v2.0 ``` --- ## 📋 核心配置文件 克隆脚本会自动识别和复制以下文件： ### 必选文件（核心身份） | 文件 | 说明 | |------|------| | `SOUL.md` | 人格和价值观 | | `IDENTITY.md` | 机器人身份定义 | | `USER.md` | 用户信息 | | `MEMORY.md` | 长期记忆 | | `HEARTBEAT.md` | 任务机制 | | `TOOLS.md` | 本地工具配置 | | `AGENTS.md` | Agent 配置 | ### 可选目录（能力和资产） | 目录 | 说明 | |------|------| | `memory/` | 每日记忆文件 | | `skills/` | 技能包 | | `scripts/` | 自动化脚本 | | `projects/` | 项目文档 | | `docs/` | 文档资料 | --- ## 🔒 安全机制详解 ### 1. ZIP Slip 防护 ```python def is_path_safe(path_str: str) -> bool: # 拒绝绝对路径 if os.path.isabs(path_str): return False # 拒绝路径遍历 if ".." in path_str.split(os.sep): return False # 规范化路径并再次检查 normalized = os.path.normpath(path_str) if normalized.startswith("..") or os.path.isabs(normalized): return False return True ``` **防护效果：** - ✅ 阻止 `../../../etc/passwd` 等路径遍历攻击 - ✅ 阻止绝对路径 `/etc/passwd` 覆盖系统文件 - ✅ 双重验证（原始 + 规范化） ### 2. 临时目录安全 ```python # ❌ 旧版本（不安全） temp_dir = Path("/tmp/ai-clone-temp") # ✅ 新版本（安全） with tempfile.TemporaryDirectory(prefix="ai-clone-") as temp_dir: # 自动清理，防竞争条件 ... ``` **优势：** - ✅ 随机临时目录名（防预测） - ✅ 自动清理（防残留） - ✅ 原子操作（防竞争） ### 3. 元数据脱敏 ```python # ❌ 旧版本（泄露路径） metadata = { "source_workspace": "/home/admin/.openclaw/workspace" } # ✅ 新版本（脱敏） metadata = { "source_workspace_name": "workspace", # 仅目录名 "security_version": "hardened" } ``` **保护内容：** - ✅ 隐藏完整文件系统路径 - ✅ 隐藏用户名 - ✅ 隐藏操作系统信息 ### 4. 敏感文件自动排除 ```python DEFAULT_EXCLUDE_PATTERNS = [ ".env", # 环境变量 "*.key", # 密钥文件 "*.secret", # 敏感文件 "*.pem", "*.crt", # 证书文件 # ... 更多 ] SENSITIVE_PATTERNS = [ "*api_key*", "*apikey*", "*secret*", "*password*", "*credential*", ] ``` --- ## 🔧 命令参考 ### 导出配置 ```bash python scripts/clone_robot.py export [选项] 选项: --source PATH 源工作区路径 --output FILE 输出文件名 --exclude PATTERN 额外排除的文件/目录（可重复） --no-optional 不包含可选目录 --keep-paths 在元数据中保留完整路径（默认脱敏） ``` ### 导入配置 ```bash python scripts/clone_robot.py import PACKAGE [选项] 选项: --target PATH 目标工作区路径 --preview 预览包内容（不执行导入） --force 跳过确认直接导入 ``` ### 验证安全 ```bash python scripts/clone_robot.py verify PACKAGE 验证项: ✅ ZIP Slip 检查 ✅ 绝对路径检查 ✅ 可疑文件检查 ``` --- ## ⚠️ 安全注意事项 ### 导入前的检查清单 1. **验证来源** - [ ] 克隆包来自可信来源 - [ ] 已验证发送者身份 2. **安全验证** - [ ] 运行 `verify` 命令检查 - [ ] 查看包内文件列表（`--preview`） 3. **环境隔离** - [ ] 在测试环境首次导入 - [ ] 备份现有配置 ### 导出前的检查清单 1. **敏感信息** - [ ] 检查是否包含 `.env` 文件 - [ ] 检查是否包含 API Keys - [ ] 检查是否包含证书文件 2. **元数据** - [ ] 使用默认脱敏（`--redact-metadata`） - [ ] 或手动指定 `--keep-paths`（谨慎） 3. **文件审查** - [ ] 使用 `unzip -l clone-package.zip` 查看内容 - [ ] 确认无意外文件 --- ## 🧪 验证克隆 部署后运行验证： ```bash # 1. 检查核心文件 ls -la SOUL.md IDENTITY.md USER.md MEMORY.md # 2. 验证记忆文件 cat MEMORY.md | head -20 # 3. 检查技能包 ls skills/ # 4. 启动测试 openclaw status ``` --- ## 📊 克隆报告示例 ``` 📋 检查核心配置文件... ✅ SOUL.md (2.1KB) ✅ IDENTITY.md (1.5KB) ✅ USER.md (892B) ✅ MEMORY.md (3.2KB) ✅ HEARTBEAT.md (1.8KB) 📁 检查可选目录... ✅ memory/ (15 文件，45.3KB) ✅ skills/ (8 技能，1.2MB) ✅ scripts/ (23 文件，156.7KB) 📊 扫描完成: 机器人：machine-cat 核心文件：7 个 可选目录：3 个 总大小：1.4MB 📦 创建克隆包... 源：/home/admin/.openclaw/workspace 目标：machine-cat-clone.zip ✅ 克隆包创建成功！ 文件：machine-cat-clone.zip 大小：456.2KB 安全版本：hardened v2.0 ``` --- ## 🔄 版本历史 ### v2.0.0 (2026-03-06) - 安全加固版 - 🔒 **修复 ZIP Slip 漏洞** - 路径验证 + 规范化检查 - 🔒 **使用 tempfile.TemporaryDirectory** - 替代固定临时路径 - 🔒 **元数据脱敏** - 默认隐藏绝对路径 - 🔒 **敏感文件自动排除** - `.env`, `*.key`, `*.secret` 等 - 📝 **文档代码统一** - 所有命令参数一致 - ✅ **新增 verify 命令** - 导入前验证克隆包 ### v1.0.0 (2026-03-04) - 初始版本 - ✅ 基础导出/导入功能 - ✅ 核心配置文件识别 - ✅ 临时目录清理 --- ## 🆘 故障排查 ### 问题 1：导入时提示"不安全路径" ``` ❌ 不安全路径：../../../etc/passwd ``` **原因：** 克隆包可能包含恶意文件 **解决：** 拒绝导入，联系发送者重新打包 ### 问题 2：找不到核心配置文件 ``` ❌ 警告：未找到任何核心配置文件 ``` **原因：** 不在正确的 workspace 目录 **解决：** 使用 `--source` 指定正确路径 ### 问题 3：元数据包含敏感路径 ``` ⚠️ 元数据包含绝对路径 ``` **原因：** 使用了 `--keep-paths` 参数 **解决：** 重新导出，不使用该参数 --- *技能版本：2.0.0* *安全版本：hardened* *创建时间：2026-03-04* *安全更新：2026-03-06* *机器猫 🐱 开发*

path: references/best-practices.md
content: # AI 机器人克隆最佳实践

## 🎯 克隆策略

### 完整克隆 vs 精简克隆

**完整克隆**（推荐用于备份）
```bash
python scripts/clone_robot.py \
  --source /path/to/source \
  --output full-clone.zip
```
包含：核心文件 + 所有可选目录

**精简克隆**（推荐用于快速复制）
```bash
python scripts/clone_robot.py \
  --source /path/to/source \
  --output lite-clone.zip \
  --no-optional
```
仅包含：核心文件（SOUL.md, MEMORY.md 等）

---

## 📋 克隆前检查清单

### 源环境准备
- [ ] 确认核心文件完整
- [ ] 清理临时文件和日志
- [ ] 移除敏感 API Keys（或单独备份）
- [ ] 检查记忆文件是否需要精简

### 目标环境准备
- [ ] 确认目标路径有写入权限
- [ ] 备份目标环境现有配置（如有）
- [ ] 准备环境变量配置

---

## 🔐 安全建议

### 敏感信息处理

**方案 A：排除敏感文件**
```bash
# 创建排除列表
cat > exclude.txt << EOF
*.env
*api_key*
*secret*
*token*
EOF

# 使用排除列表（需要自定义脚本）
python scripts/clone_robot.py --exclude exclude.txt ...
```

**方案 B：单独加密备份**
```bash
# 加密敏感配置
gpg -c MEMORY.md  # 创建 MEMORY.md.gpg

# 解密
gpg -d MEMORY.md.gpg > MEMORY.md
```

### 传输安全
- 使用加密通道（SSH/HTTPS）
- 克隆包设置密码保护
- 传输后立即删除临时文件

---

## 🧩 跨平台克隆

### Linux → Linux
```bash
# 直接复制即可
python scripts/clone_robot.py --source /home/user/.workspace --output clone.zip
python scripts/clone_robot.py --unpack clone.zip --target /home/newuser/.workspace
```

### Linux → macOS
```bash
# 注意路径差异
# Linux: /home/user/.openclaw/workspace
# macOS: /Users/user/.openclaw/workspace

# 克隆后更新路径配置
sed -i '' 's|/home/|/Users/|g' TOOLS.md
```

### Linux → Windows (WSL)
```bash
# WSL 路径：/home/user/.openclaw/workspace
# Windows 路径：C:\Users\user\.openclaw\workspace

# 克隆后使用 PowerShell 更新路径
(Get-Content TOOLS.md) -replace '/home/', 'C:\Users\' | Set-Content TOOLS.md
```

---

## 📊 克隆大小优化

### 减小克隆包体积

**1. 排除大文件**
```python
# 修改脚本中的 OPTIONAL_DIRS
OPTIONAL_DIRS = [
    "memory/",           # 保留
    # "skills/",         # 排除（如果太大）
    # "marketing/",      # 排除（图片多）
]
```

**2. 压缩图片资源**
```bash
# 压缩营销图片
find marketing/images -name "*.png" -exec pngquant {} \;
```

**3. 精简记忆文件**
```bash
# 只保留最近 7 天记忆
find memory/ -name "*.md" -mtime +7 -delete
```

---

## 🔄 版本管理

### 克隆包版本命名
```
machine-cat-clone-v1.0-20260304.zip
machine-cat-clone-v1.1-20260315.zip
machine-cat-clone-v2.0-20260401.zip
```

### 变更记录
在克隆包中增加 `CHANGELOG.md`：
```markdown
# 变更日志

## v2.0 - 2026-04-01
- 新增：GIS+AI 趋势分析能力
- 更新：21 张专属配图
- 优化：小红书发布流程

## v1.0 - 2026-03-04
- 初始版本
- 包含核心配置和记忆
```

---

## 🧪 测试验证

### 克隆后验证脚本
```bash
#!/bin/bash
# verify_clone.sh

echo "🔍 验证克隆完整性..."

# 检查核心文件
for file in SOUL.md IDENTITY.md USER.md MEMORY.md HEARTBEAT.md; do
    if [ -f "$file" ]; then
        echo "  ✅ $file"
    else
        echo "  ❌ $file (缺失)"
        exit 1
    fi
done

# 检查记忆目录
if [ -d "memory" ]; then
    count=$(ls memory/*.md 2>/dev/null | wc -l)
    echo "  ✅ memory/ ($count 文件)"
else
    echo "  ⚠️  memory/ (不存在)"
fi

# 检查技能包
if [ -d "skills" ]; then
    count=$(ls -d skills/*/ 2>/dev/null | wc -l)
    echo "  ✅ skills/ ($count 技能)"
else
    echo "  ⚠️  skills/ (不存在)"
fi

echo "✅ 验证通过！"
```

---

## 🚀 批量部署

### 多环境同步
```bash
#!/bin/bash
# deploy_to_multiple.sh

CLONE_FILE="machine-cat-clone.zip"
TARGETS=(
    "/home/user1/.openclaw/workspace"
    "/home/user2/.openclaw/workspace"
    "/home/user3/.openclaw/workspace"
)

for target in "${TARGETS[@]}"; do
    echo "📦 部署到：$target"
    python scripts/clone_robot.py \
        --unpack "$CLONE_FILE" \
        --target "$target"
    
    if [ $? -eq 0 ]; then
        echo "  ✅ 成功"
    else
        echo "  ❌ 失败"
    fi
done
```

---

## 📈 性能优化

### 大工作区克隆优化

**增量克隆**（仅复制变更文件）
```bash
# 创建增量包
rsync -av --delete \
    --exclude='.git/' \
    /source/workspace/ \
    /backup/incremental/

# 打包增量
cd /backup/incremental && zip -r incremental-clone.zip .
```

**并行处理**
```bash
# 使用多核压缩
pigz -p 4 large-clone.zip
```

---

## 🛠️ 故障排查

### 常见问题

**Q: 克隆后无法启动**
```bash
# 检查文件权限
chmod -R 755 /path/to/workspace

# 检查 Python 环境
python3 --version
pip3 list | grep openclaw
```

**Q: 记忆文件丢失**
```bash
# 检查克隆包内容
unzip -l clone.zip | grep memory

# 手动解压记忆目录
unzip clone.zip "memory/*" -d /target/path
```

**Q: 技能包不生效**
```bash
# 重新加载技能
openclaw skills reload

# 检查技能目录
ls -la skills/
```

---

*最后更新：2026-03-04*  
*机器猫 🐱 维护*


path: references/machine-cat-config.md
content: # 机器猫克隆配置

## 🐱 机器猫专属文件清单

### 核心身份文件
```
/workspace/SOUL.md          # 人格：温暖、幽默、主动
/workspace/IDENTITY.md      # 身份：机器猫 (Machine Cat)
/workspace/USER.md          # 用户：木头 (高德云图市场运营)
/workspace/MEMORY.md        # 长期记忆和偏好
/workspace/HEARTBEAT.md     # 每日任务机制
/workspace/TOOLS.md         # 本地工具配置
/workspace/AGENTS.md        # Agent 配置
```

### 核心能力目录
```
/workspace/memory/                    # 每日记忆
/workspace/skills/xiaohongshu-mcp/    # 小红书 MCP 技能
/workspace/skills/nano-banana-pro/    # 图片生成技能
/workspace/skills/content-creator/    # 内容创作技能
/workspace/scripts/                   # 自动化脚本
```

### 运营资产
```
/workspace/marketing/images/v3/       # 21 张专属配图
/workspace/projects/xiaohongshu-workflow/  # 小红书工作流
/workspace/docs/                      # 文档资料
```

---

## 📦 机器猫克隆命令

### 快速克隆（推荐）
```bash
cd /home/admin/.openclaw/workspace/skills/ai-clone

# 扫描
python scripts/clone_robot.py --scan /home/admin/.openclaw/workspace

# 创建克隆包
python scripts/clone_robot.py \
  --source /home/admin/.openclaw/workspace \
  --output machine-cat-clone-$(date +%Y%m%d).zip
```

### 精简克隆（仅核心能力）
```bash
python scripts/clone_robot.py \
  --source /home/admin/.openclaw/workspace \
  --output machine-cat-lite.zip \
  --no-optional
```

### 完整克隆（包含所有资产）
```bash
python scripts/clone_robot.py \
  --source /home/admin/.openclaw/workspace \
  --output machine-cat-full.zip
```

---

## 🎯 机器猫核心能力

### 1. 小红书运营能力
- MCP 服务器集成
- 自动发布笔记
- 配图生成和管理
- 数据监控和评论回复

### 2. 内容创作能力
- 文案生成和优化
- SEO 优化
- 品牌 voice 分析
- 多平台内容适配

### 3. 图片生成能力
- 通义万相集成
- Nano Banana Pro 集成
- 专属配图定制
- 批量生成和管理

### 4. 任务执行能力
- HEARTBEAT 机制
- 定时任务管理
- 自动汇报机制
- 记忆和经验积累

---

## 📋 克隆后配置清单

### 必须重新配置
- [ ] API Keys (DASHSCOPE_API_KEY, GEMINI_API_KEY 等)
- [ ] MCP 服务器登录状态
- [ ] 飞书应用配置
- [ ] 环境变量

### 可选配置
- [ ] 自定义技能
- [ ] 本地工具路径
- [ ] 特定项目配置

### 验证步骤
```bash
# 1. 检查核心文件
cat SOUL.md | head -10

# 2. 检查记忆
cat MEMORY.md

# 3. 检查技能
ls skills/

# 4. 启动测试
openclaw status
```

---

## 🔄 版本历史

### v1.0 - 2026-03-04
- 初始版本
- 包含小红书运营全套能力
- 21 张专属配图
- 6 篇发布内容经验
- 自动化发布流程

---

*机器猫 🐱 配置*  
*最后更新：2026-03-04*


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)