Opencode-config-backup opencode-config-safety
OpenCode配置安全工具 - LLM即将发送重启OpenCode消息前的强制拦截器,确保执行防报错筛查与备份流程
install
source · Clone the upstream repo
git clone https://github.com/jieni777/opencode-config-backup
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jieni777/opencode-config-backup "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/opencode-config-safety" ~/.claude/skills/jieni777-opencode-config-backup-opencode-config-safety && rm -rf "$T"
manifest:
skills/opencode-config-safety/SKILL.mdsource content
OpenCode配置安全管理
🚨 拦截触发条件
当LLM准备向用户发送以下消息时,必须自动激活此技能:
- "请重启OpenCode"
- "插件已安装好,请重启"
- "MCP已配置完成,请重启"
- "配置已修改,可以重启了"
- "重启OpenCode后插件会生效"
- "Skills已添加完成,请重启"
- "修改已完成,请重启客户端"
- 类似"请重启OpenCode"的任何消息
⚠️ 激活此Skill后,LLM必须执行的流程
不要直接发送上述消息!在发送前,必须先执行防报错筛查流程!
🔒 强制执行步骤
步骤1: 检查配置是否已修改
- 刚刚是否修改了
?~/.config/opencode/opencode.json - 是否添加/修改了MCP?
- 是否添加/修改了Skills?
- 是否安装了新插件?
如果配置有修改,必须继续执行以下步骤:
步骤2: 备份配置
cp ~/.config/opencode/opencode.json ~/.config/opencode/opencode.json.backup_$(date +%Y%m%d_%H%M%S)
步骤3: 验证JSON语法
python3 -m json.tool ~/.config/opencode/opencode.json > /dev/null && echo "✅ JSON语法正确" || echo "❌ JSON语法错误"
步骤4: 验证timeout设置 (8000-15000ms)
cat ~/.config/opencode/opencode.json | jq -r '.mcp[].timeout' | while read t; do if [ "$t" -ge 8000 ] && [ "$t" -le 15000 ]; then echo "✅ timeout=$t (符合规范)" else echo "❌ timeout=$t (不符合规范,建议8000-15000)" fi done
步骤5: 验证MCP命令格式
cat ~/.config/opencode/opencode.json | jq -r '.mcp | to_entries[] | "\(.key): \(.value.command // \"remote\")"'
步骤6: 记录修改内容
echo "=== OpenCode配置修改记录 ===" >> ~/.config/opencode/config_changes.log echo "时间: $(date)" >> ~/.config/opencode/config_changes.log
步骤7: 验证全部通过后,才能发送"请重启OpenCode"消息
🚫 禁止行为
LLM绝对不能直接发送以下消息而不执行筛查:
- "请重启OpenCode"
- "插件已安装好,请重启"
- "MCP已配置完成,请重启"
- 任何类似"请重启OpenCode"的消息
必须先激活此Skill,执行防报错筛查流程!
💡 工作流程
LLM准备发送"请重启OpenCode" ↓ 自动激活此Skill (opencode-config-safety) ↓ LLM阅读此规则 ↓ 检查是否修改了配置 ↓ 如果是 → 执行备份、验证、记录流程 ↓ 验证通过 → 发送"请重启OpenCode"消息
🚨 违反此规则的后果
如果LLM直接发送"请重启OpenCode"而不执行筛查:
- ❌ 可能导致OpenCode客户端因配置错误而无法启动
- ❌ 可能导致MCP服务连接失败
- ❌ 可能导致配置损坏无法恢复
- ❌ 这是LLM的严重失职!
✅ 正确做法示例
LLM修改完MCP配置后,准备发送消息:
错误做法(❌ 禁止):
"配置已修改完成,请重启OpenCode使配置生效。"
正确做法(✅ 强制):
# 激活Skill,执行筛查... ✅ 备份配置完成 ✅ JSON语法验证通过 ✅ timeout设置验证通过 ✅ MCP命令格式验证通过 ✅ 配置验证全部通过 "配置已修改完成,请重启OpenCode使配置生效。"
🎯 核心原则
任何时候准备发送"请重启OpenCode"消息前,必须先触发此Skill,执行防报错筛查流程!