env-setup
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseClaude Code & OpenClaw 环境一键同步工具
Claude Code & OpenClaw 环境一键同步工具
从 GitHub 仓库一键同步所有配置到本地 Claude Code 和 OpenClaw 环境。
从 GitHub 仓库一键同步所有配置到本地 Claude Code 和 OpenClaw 环境。
功能概述
功能概述
本 skill 提供一键同步功能,将配置从 GitHub 仓库同步到本地:
- - 同步所有配置到本地
sync_env.py
本 Skill 提供一键同步功能,将配置从 GitHub 仓库同步到本地:
- - 同步所有配置到本地
sync_env.py
同步内容
同步内容
| 组件 | 来源 | 目标 | 说明 |
|---|---|---|---|
| Output Styles | | | Claude Code 对话风格 |
| CLAUDE.md | | | 全局提示词 |
| MCP Config | | | MCP 服务器(合并) |
| Agent Configs | | | OpenClaw Agent 配置 |
| MCP Servers | | 集成到 | MCP 服务器独立配置 |
| Plugins | | | OpenClaw 插件配置 |
| 组件 | 来源 | 目标 | 说明 |
|---|---|---|---|
| Output Styles | | | Claude Code 对话风格 |
| CLAUDE.md | | | 全局提示词 |
| MCP Config | | | MCP 服务器(合并) |
| Agent Configs | | | OpenClaw Agent 配置 |
| MCP Servers | | 集成到 | MCP 服务器独立配置 |
| Plugins | | | OpenClaw 插件配置 |
GitHub 仓库结构
GitHub 仓库结构
your-claude-env/ (GitHub 仓库)
├── env-setup.skill/ (或任意名称,放在 skills/ 下)
│ ├── SKILL.md
│ ├── scripts/
│ │ ├── sync_env.py (主同步脚本)
│ │ ├── backup_env.py (备份脚本,可选)
│ │ └── restore_env.py (恢复脚本,可选)
│ └── config/ (配置模板目录)
│ ├── output-styles/ (对话风格配置)
│ ├── CLAUDE.md (全局提示词)
│ └── mcp_config.json (MCP服务器配置)
├── agents/ (Agent 配置目录)
│ ├── multimodal-agent/
│ │ ├── AGENT.md
│ │ └── system.md
│ ├── healthcare-monitor/
│ └── ...
├── mcp/ (MCP 服务器配置)
│ ├── github/
│ │ ├── config.json
│ │ └── README.md
│ ├── lark-mcp/
│ └── ...
└── plugins/ (插件配置)
├── feishu/
│ └── config.json
├── telegram/
└── ...your-claude-env/ (GitHub 仓库)
├── env-setup.skill/ (或任意名称,放在 skills/ 下)
│ ├── SKILL.md
│ ├── scripts/
│ │ ├── sync_env.py (主同步脚本)
│ │ ├── backup_env.py (备份脚本,可选)
│ │ └── restore_env.py (恢复脚本,可选)
│ └── config/ (配置模板目录)
│ ├── output-styles/ (对话风格配置)
│ ├── CLAUDE.md (全局提示词)
│ └── mcp_config.json (MCP服务器配置)
├── agents/ (Agent 配置目录)
│ ├── multimodal-agent/
│ │ ├── AGENT.md
│ │ └── system.md
│ ├── healthcare-monitor/
│ └── ...
├── mcp/ (MCP 服务器配置)
│ ├── github/
│ │ ├── config.json
│ │ └── README.md
│ ├── lark-mcp/
│ └── ...
└── plugins/ (插件配置)
├── feishu/
│ └── config.json
├── telegram/
└── ...配置目录说明
配置目录说明
agents/ - Agent 配置
agents/ - Agent 配置
用于存放 OpenClaw Agent 的配置:
agents/
├── multimodal-agent/
│ ├── AGENT.md (Agent 描述)
│ └── system.md (System prompt)
├── healthcare-monitor/
│ ├── AGENT.md
│ └── system.md
└── ...同步目标:
~/.openclaw/agents/用于存放 OpenClaw Agent 的配置:
agents/
├── multimodal-agent/
│ ├── AGENT.md (Agent 描述)
│ └── system.md (System prompt)
├── healthcare-monitor/
│ ├── AGENT.md
│ └── system.md
└── ...同步目标:
~/.openclaw/agents/mcp/ - MCP 服务器配置
mcp/ - MCP 服务器配置
用于存放 MCP 服务器的独立配置:
mcp/
├── github/
│ ├── config.json (MCP 服务器配置)
│ └── README.md (使用说明)
├── lark-mcp/
│ └── ...
└── ...同步目标: 集成到 的 mcpServers
~/.claude.json用于存放 MCP 服务器的独立配置:
mcp/
├── github/
│ ├── config.json (MCP 服务器配置)
│ └── README.md (使用说明)
├── lark-mcp/
│ └── ...
└── ...同步目标: 集成到 的 mcpServers
~/.claude.jsonplugins/ - 插件配置
plugins/ - 插件配置
用于存放 OpenClaw 插件配置:
plugins/
├── feishu/
│ └── config.json
├── telegram/
│ └── config.json
└── ...同步目标:
~/.openclaw/plugins/用于存放 OpenClaw 插件配置:
plugins/
├── feishu/
│ └── config.json
├── telegram/
│ └── config.json
└── ...同步目标:
~/.openclaw/plugins/使用方法
使用方法
一、初始化 GitHub 仓库
一、初始化 GitHub 仓库
在主设备上创建仓库:
bash
undefined在主设备上创建仓库:
bash
undefined1. 创建项目目录
1. 创建项目目录
mkdir claude-env-sync
cd claude-env-sync
mkdir claude-env-sync
cd claude-env-sync
2. 复制 env-setup skill
2. 复制 env-setup skill
cp -r ~/.claude/skills/env-setup ./
cp -r ~/.claude/skills/env-setup ./
3. 复制当前配置到 config/
3. 复制当前配置到 config/
cp -r ~/.claude/output-styles/* env-setup/config/output-styles/
cp ~/.claude/CLAUDE.md env-setup/config/
cp -r ~/.claude/output-styles/* env-setup/config/output-styles/
cp ~/.claude/CLAUDE.md env-setup/config/
4. 复制 agents 配置(如果有)
4. 复制 agents 配置(如果有)
cp -r ~/.openclaw/agents/* env-setup/agents/
cp -r ~/.openclaw/agents/* env-setup/agents/
5. 提取 MCP 配置(如果有独立配置)
5. 提取 MCP 配置(如果有独立配置)
mkdir -p env-setup/mcp
mkdir -p env-setup/mcp
(手动复制 MCP 服务器配置)
(手动复制 MCP 服务器配置)
6. 提取插件配置(如果有)
6. 提取插件配置(如果有)
mkdir -p env-setup/plugins
mkdir -p env-setup/plugins
(手动复制插件配置)
(手动复制插件配置)
7. 推送到 GitHub
7. 推送到 GitHub
git init
git add .
git commit -m "Initial Claude env config"
git remote add origin https://github.com/yourusername/claude-env-sync.git
git push -u origin main
undefinedgit init
git add .
git commit -m "Initial Claude env config"
git remote add origin https://github.com/yourusername/claude-env-sync.git
git push -u origin main
undefined二、在新设备上同步
二、在新设备上同步
bash
undefinedbash
undefined1. 克隆仓库到 skills 目录
1. 克隆仓库到 skills 目录
cd ~/.claude/skills
git clone https://github.com/yourusername/claude-env-sync.git
cd ~/.claude/skills
git clone https://github.com/yourusername/claude-env-sync.git
2. 运行同步脚本
2. 运行同步脚本
python ~/.claude/skills/claude-env-sync/env-setup/scripts/sync_env.py
python ~/.claude/skills/claude-env-sync/env-setup/scripts/sync_env.py
3. 重启 Claude Code / OpenClaw Gateway
3. 重启 Claude Code / OpenClaw Gateway
undefinedundefined三、命令行选项
三、命令行选项
bash
undefinedbash
undefined基本用法(同步所有配置)
基本用法(同步所有配置)
python scripts/sync_env.py
python scripts/sync_env.py
强制覆盖已存在的文件
强制覆盖已存在的文件
python scripts/sync_env.py --force
python scripts/sync_env.py --force
只同步特定组件
只同步特定组件
python scripts/sync_env.py --components agents mcp plugins
python scripts/sync_env.py --components agents mcp plugins
指定配置目录
指定配置目录
python scripts/sync_env.py --claude-dir "/path/to/.claude" --openclaw-dir "/path/to/.openclaw"
**同步选项:**
- `output_styles` - 同步对话风格配置
- `claude_md` - 同步全局 CLAUDE.md
- `mcp_config` - 同步 MCP 服务器配置
- `agents` - 同步 Agent 配置
- `mcp` - 同步独立 MCP 服务器配置
- `plugins` - 同步插件配置python scripts/sync_env.py --claude-dir "/path/to/.claude" --openclaw-dir "/path/to/.openclaw"
**同步选项:**
- `output_styles` - 同步对话风格配置
- `claude_md` - 同步全局 CLAUDE.md
- `mcp_config` - 同步 MCP 服务器配置
- `agents` - 同步 Agent 配置
- `mcp` - 同步独立 MCP 服务器配置
- `plugins` - 同步插件配置配置文件格式
配置文件格式
mcp_config.json
mcp_config.json
json
{
"mcpServers": {
"chrome-devtools": {
"type": "stdio",
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
},
"github": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
}
}
}⚠️ 安全提醒:
- 不要在仓库中提交真实的 API keys 或 tokens!
- 敏感信息应使用环境变量或本地配置文件(在 .gitignore 中排除)
- 使用占位符标注需要填写的密钥位置,例如:
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
json
{
"mcpServers": {
"chrome-devtools": {
"type": "stdio",
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
},
"github": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
}
}
}⚠️ 安全提醒:
- 请勿在仓库中提交真实的 API keys 或 tokens!
- 敏感信息应使用环境变量或本地配置文件(在 .gitignore 中排除)
- 使用占位符标注需要填写的密钥位置,例如:
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
Agent 配置
Agent 配置
每个 Agent 目录包含:
- - Agent 描述和能力说明
AGENT.md - - System prompt
system.md
每个 Agent 目录包含:
- - Agent 描述和能力说明
AGENT.md - - System prompt
system.md
插件配置
插件配置
每个插件目录包含:
- 或
config.json- 插件配置config.yaml
每个插件目录包含:
- 或
config.json- 插件配置config.yaml
使用场景
使用场景
场景 1:多设备环境统一
场景 1:多设备环境统一
在多台电脑上保持一致的配置:
bash
undefined在多台电脑上保持一致的配置:
bash
undefined主设备:更新配置后
主设备:更新配置后
git add .
git commit -m "Update config"
git push
git add .
git commit -m "Update config"
git push
其他设备:拉取并同步
其他设备:拉取并同步
git pull
python scripts/sync_env.py
undefinedgit pull
python scripts/sync_env.py
undefined场景 2:团队共享配置
场景 2:团队共享配置
团队成员共享统一的配置:
- 创建团队 GitHub 仓库
- 每个成员克隆到
~/.claude/skills/ - 定期运行 同步更新
sync_env.py
团队成员共享统一的配置:
- 创建团队 GitHub 仓库
- 每个成员克隆到
~/.claude/skills/ - 定期运行 同步更新
sync_env.py
场景 3:快速换电脑
场景 3:快速换电脑
bash
undefinedbash
undefined新电脑上
新电脑上
git clone https://github.com/yourusername/claude-env-sync.git ~/.claude/skills/
python ~/.claude/skills/claude-env-sync/env-setup/scripts/sync_env.py --force
undefinedgit clone https://github.com/yourusername/claude-env-sync.git ~/.claude/skills/
python ~/.claude/skills/claude-env-sync/env-setup/scripts/sync_env.py --force
undefined场景 4:版本管理配置
场景 4:版本管理配置
bash
undefinedbash
undefined回滚到之前的配置
回滚到之前的配置
git log --oneline
git checkout <commit-hash>
python scripts/sync_env.py --force
undefinedgit log --oneline
git checkout <commit-hash>
python scripts/sync_env.py --force
undefined工作流程
工作流程
日常更新流程
日常更新流程
1. 修改本地配置
↓
2. 更新相应目录 (config/, agents/, mcp/, plugins/)
↓
3. git add . && git commit -m "Update xxx"
↓
4. git push
↓
5. 其他设备: git pull && python scripts/sync_env.py1. 修改本地配置
↓
2. 更新相应目录 (config/, agents/, mcp/, plugins/)
↓
3. git add . && git commit -m "Update xxx"
↓
4. git push
↓
5. 其他设备: git pull && python scripts/sync_env.py注意事项
注意事项
配置同步策略
配置同步策略
- MCP 配置:采用合并模式,不会覆盖现有的其他 MCP 服务器
- Agent 配置:直接复制到目标目录,会覆盖同名 Agent
- 插件配置:直接复制到目标目录,会覆盖同名插件
- 不使用 :跳过已存在的文件(除了 MCP 配置,始终合并)
--force - 使用 :覆盖已存在的文件
--force
- MCP 配置:采用合并模式,不会覆盖现有的其他 MCP 服务器
- Agent 配置:直接复制到目标目录,会覆盖同名 Agent
- 插件配置:直接复制到目标目录,会覆盖同名插件
- 不使用 :跳过已存在的文件(除了 MCP 配置,始终合并)
--force - 使用 :覆盖已存在的文件
--force
重启应用
重启应用
同步完成后需要重启才能生效:
- Claude Code - Output styles 会重新加载
- OpenClaw Gateway - Agents/MCP/Plugins 会重新加载
同步完成后需要重启才能生效:
- Claude Code - Output styles 会重新加载
- OpenClaw Gateway - Agents/MCP/Plugins 会重新加载
敏感信息管理
敏感信息管理
- 不要提交真实的 API keys 或 tokens
- 使用环境变量或本地配置文件
- 在 .gitignore 中排除敏感文件
undefined- 请勿提交真实的 API keys 或 tokens
- 使用环境变量或本地配置文件
- 在 .gitignore 中排除敏感文件
undefined.gitignore 示例
.gitignore 示例
config/mcp_config.json.local
config/secrets/
*.key
*.token
.env
undefinedconfig/mcp_config.json.local
config/secrets/
*.key
*.token
.env
undefined跨平台兼容
跨平台兼容
- 脚本自动处理 Windows/macOS/Linux 路径差异
- 配置文件使用 UTF-8 编码
- 脚本自动处理 Windows/macOS/Linux 路径差异
- 配置文件使用 UTF-8 编码
高级用法
高级用法
分支管理
分支管理
bash
undefinedbash
undefined创建设备特定配置分支
创建设备特定配置分支
git checkout -b my-custom-config
git checkout -b my-custom-config
切换回主配置
切换回主配置
git checkout main
undefinedgit checkout main
undefined部分同步
部分同步
bash
undefinedbash
undefined只同步 agents 和 plugins,不改变其他配置
只同步 agents 和 plugins,不改变其他配置
python scripts/sync_env.py --components agents plugins
python scripts/sync_env.py --components agents plugins
只同步 MCP,不改变其他配置
只同步 MCP,不改变其他配置
python scripts/sync_env.py --components mcp
undefinedpython scripts/sync_env.py --components mcp
undefined自动化同步(可选)
自动化同步(可选)
创建定期同步脚本:
bash
undefined创建定期同步脚本:
bash
undefinedsync.sh
sync.sh
#!/bin/bash
cd ~/.claude/skills/claude-env-sync
git pull
python env-setup/scripts/sync_env.py
添加到 cron 或 Task Scheduler 定期执行。#!/bin/bash
cd ~/.claude/skills/claude-env-sync
git pull
python env-setup/scripts/sync_env.py
添加到 cron 或任务计划程序定期执行。故障排查
故障排查
同步失败
同步失败
问题: "config/agents not found"
- 解决: 确认仓库结构正确
问题: ".claude.json not found"
- 解决: 确认 Claude Code/OpenClaw 已安装并运行过一次
问题: Agent 配置没有生效
- 解决: 检查配置格式是否正确,重启 OpenClaw Gateway
问题: "config/agents not found"
- 解决: 确认仓库结构正确
问题: ".claude.json not found"
- 解决: 确认 Claude Code/OpenClaw 已安装并至少运行过一次
问题: Agent 配置没有生效
- 解决: 检查配置格式是否正确,重启 OpenClaw Gateway
Git 相关
Git 相关
问题: 推送失败
- 解决: 检查 GitHub 仓库权限、网络连接
问题: 推送失败
- 解决: 检查 GitHub 仓库权限、网络连接
密钥安全问题
密钥安全问题
问题: 意外提交了密钥
- 解决: 使用 git filter-branch 或 git filter-repo 从历史中删除
bash
undefined问题: 意外提交了密钥
- 解决: 使用 git filter-branch 或 git filter-repo 从历史记录中删除
bash
undefined从历史中删除包含密钥的文件
从历史中删除包含密钥的文件
git filter-branch --force --tree-filter 'git rm -f filename' -- --all
git filter-branch --force --tree-filter 'git rm -f filename' -- --all
强制推送
强制推送
git push origin --force --all
undefinedgit push origin --force --all
undefined