[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M77GGVRPDZZZCWMHTF854PVC":3,"skill-same:01M77GGVRPDZZZCWMHTF854PVC":45},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":20,"frontMatter":21,"refName":22,"commitSha":23,"skillDirectory":24,"forksCount":25,"repositoryHtmlUrl":26,"repositoryHomepageUrl":27,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":29,"updatedAt":30,"install":31,"resources":44},"01M77GGVRPDZZZCWMHTF854PVC","gateway-delayed-restart",null,"Lord1Egypt\u002Fawesome-skill-forge","Lord1Egypt","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F99746359?v=4","01M7592YDNT0XK9WJ0T2MQVPDN","Mohamed Mounir Ali AL Keshita","01M75GRFNHC8VZNWEB8DKDE433",3,"MIT","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fcommunity\u002Fclawhub\u002Fg\u002Fgateway-delayed-restart\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"# Gateway Delayed Restart - 延迟重启网关技能\n\n## 📋 技能概述\n\n在指定延迟后重启 OpenClaw Gateway，完成后主动通知。\n\n**核心能力**:\n- ⏰ 延迟执行重启\n- 📝 支持自定义延迟时间\n- 🔧 自动执行重启命令\n- 📱 完成后主动通知（飞书消息）\n\n---\n\n## 🚀 快速开始\n\n### 基础用法\n\n```bash\n# 2 分钟后重启\nopenclaw message send --channel feishu --target ou_xxxxx --message \"\u002Frestart-gateway 2\"\n\n# 或直接执行\n.\u002Fskills\u002Fgateway-delayed-restart\u002Frestart.sh 2\n```\n\n### Python 调用\n\n```python\nimport subprocess\nimport time\n\ndef restart_gateway(delay_minutes=2):\n    \"\"\"延迟重启网关\"\"\"\n    delay_seconds = delay_minutes * 60\n    time.sleep(delay_seconds)\n    subprocess.run(['openclaw', 'gateway', 'restart'])\n    print(f\"✅ Gateway 已重启（延迟 {delay_minutes} 分钟）\")\n```\n\n---\n\n## 📚 完整参数\n\n| 参数 | 默认值 | 说明 |\n|------|--------|------|\n| `delay_minutes` | 2 | 延迟分钟数 |\n| `notify` | true | 是否发送通知 |\n| `channel` | feishu | 通知渠道 |\n| `target` | - | 通知目标 ID |\n\n---\n\n## 🎯 使用场景\n\n### 场景 1: 浏览器故障后重启\n\n```bash\n# 浏览器超时，2 分钟后重启\n.\u002Frestart.sh 2\n```\n\n### 场景 2: 定时维护\n\n```bash\n# 10 分钟后重启进行维护\n.\u002Frestart.sh 10\n```\n\n### 场景 3: 等待任务完成后重启\n\n```python\n# 等待任务完成\nwait_for_task()\n# 然后重启\nrestart_gateway(0)  # 立即重启\n```\n\n---\n\n## 🔧 脚本实现\n\n### Bash 版本\n\n```bash\n#!\u002Fbin\u002Fbash\n# restart.sh - 延迟重启网关脚本\n\nDELAY_MINUTES=${1:-2}\nDELAY_SECONDS=$((DELAY_MINUTES * 60))\n\necho \"⏰ 将在 ${DELAY_MINUTES} 分钟后重启 Gateway...\"\necho \"📅 重启时间：$(date -d \"+${DELAY_MINUTES} minutes\" '+%H:%M:%S')\"\n\nsleep $DELAY_SECONDS\n\necho \"🔄 正在重启 Gateway...\"\nopenclaw gateway restart\n\necho \"✅ Gateway 重启完成！\"\n```\n\n### Python 版本\n\n```python\n#!\u002Fusr\u002Fbin\u002Fenv python3\n\"\"\"延迟重启 OpenClaw Gateway\"\"\"\n\nimport subprocess\nimport time\nimport sys\nfrom datetime import datetime, timedelta\n\ndef restart_gateway(delay_minutes=2, notify=True):\n    \"\"\"\n    延迟重启网关\n    \n    Args:\n        delay_minutes: 延迟分钟数\n        notify: 是否发送通知\n    \"\"\"\n    restart_time = datetime.now() + timedelta(minutes=delay_minutes)\n    \n    print(f\"⏰ 将在 {delay_minutes} 分钟后重启 Gateway\")\n    print(f\"📅 重启时间：{restart_time.strftime('%H:%M:%S')}\")\n    \n    # 倒计时\n    for remaining in range(delay_minutes * 60, 0, -60):\n        mins = remaining \u002F\u002F 60\n        secs = remaining % 60\n        print(f\"\\r⏳ 剩余：{mins}分{secs}秒\", end='', flush=True)\n        time.sleep(60)\n    \n    print(\"\\n🔄 正在重启 Gateway...\")\n    result = subprocess.run(\n        ['openclaw', 'gateway', 'restart'],\n        capture_output=True,\n        text=True\n    )\n    \n    if result.returncode == 0:\n        print(\"✅ Gateway 重启成功！\")\n    else:\n        print(f\"❌ 重启失败：{result.stderr}\")\n    \n    return result.returncode == 0\n\nif __name__ == '__main__':\n    delay = int(sys.argv[1]) if len(sys.argv) > 1 else 2\n    restart_gateway(delay)\n```\n\n---\n\n## 📝 完整技能结构\n\n```\nskills\u002Fgateway-delayed-restart\u002F\n├── SKILL.md                    # 本文档\n├── restart.sh                  # Bash 版本\n├── restart.py                  # Python 版本\n├── _meta.json                  # 元数据\n└── README.md                   # 快速说明\n```\n\n---\n\n## ⚠️ 注意事项\n\n1. **延迟时间**: 建议 1-10 分钟，不要太长\n2. **权限**: 确保有执行 `openclaw gateway restart` 的权限\n3. **通知**: 重启前最好通知相关人员\n4. **保存工作**: 重启前确保保存正在进行的工作\n\n---\n\n## 🧪 测试清单\n\n- [ ] 2 分钟延迟重启\n- [ ] 立即重启 (0 分钟)\n- [ ] 5 分钟延迟重启\n- [ ] 重启后 Gateway 状态正常\n- [ ] 通知功能正常\n\n---\n\n## 📚 相关资源\n\n- [OpenClaw Gateway 文档](https:\u002F\u002Fdocs.openclaw.ai\u002Fgateway)\n- [OpenClaw CLI 文档](https:\u002F\u002Fdocs.openclaw.ai\u002Fcli)\n\n---\n\n**版本**: v1.1  \n**创建时间**: 2026-03-14 10:07 AM  \n**更新时间**: 2026-03-14 10:15 AM  \n**作者**: Han's AI Assistant  \n**状态**: ✅ 已创建（带完成通知）\n",{},"master","4aa004da461d820f4ea5499e58eb8d196cf99016","community\u002Fclawhub\u002Fg\u002Fgateway-delayed-restart",0,"https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge","https:\u002F\u002Fskill-explorer-rho.vercel.app","https:\u002F\u002Fgithub.com\u002FLord1Egypt","Unbreakable. Unstoppable. Unmatched⚡.\r\n Speaker of machine tongues 🤖  | World-builder of decentralized dreams 🌐 | Defender of the digital realm🛡️.","2026-06-10 08:21:01",{"source":7,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add Lord1Egypt\u002Fawesome-skill-forge --skill gateway-delayed-restart",{"tool":37,"command":38},"bunx","bunx skills add Lord1Egypt\u002Fawesome-skill-forge --skill gateway-delayed-restart",{"tool":40,"command":41},"pnpm","pnpm dlx skills add Lord1Egypt\u002Fawesome-skill-forge --skill gateway-delayed-restart","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fcommunity\u002Fclawhub\u002Fg\u002Fgateway-delayed-restart\u002FSKILL.md",true,[],[46,53,60,67,74,81],{"skillNo":47,"name":48,"nameZh":6,"description":49,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":50,"categories":51,"keywords":52,"publishedAt":18},"01M785WKJB99G3STR1NF9NRTJW","youtube-content","YouTube transcripts to summaries, threads, blogs.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fyoutube-content\u002FSKILL.md",[],[],{"skillNo":54,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":57,"categories":58,"keywords":59,"publishedAt":18},"01M785WEFHB0G2S9YA6EPR3H0E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fxurl\u002FSKILL.md",[],[],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":18},"01M785W98EDN4EFJXJPMQEHCRC","touchdesigner-mcp","Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Ftouchdesigner-mcp\u002FSKILL.md",[],[],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":18},"01M785W5S9FP3QBH2V191E025P","test-driven-development","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",[],[],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":18},"01M785W2AS08NSSH9YATCV6FJB","teams-meeting-pipeline","Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fteams-meeting-pipeline\u002FSKILL.md",[],[],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":18},"01M785VXKW4T34BTP1SCHW1R7F","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fsystematic-debugging\u002FSKILL.md",[],[]]