OpenClaw/clawhub-security-signals huggingface dataset:
Skill: forevershu/akshare-router-cn (version 1.0.0)

# akshare-router-cn 面向中文用户的「AKShare 数据路由器」skill：把期货/期权问题按 **频率(实时/分钟/日频)** → **品类(期货/期权)** → **是否需要二次加工(指标/Greeks/RR25)** 三步分流到最合适的数据源与 recipe。 > 一期只覆盖 **免费可用源**：东方财富/新浪等公开页面对应的 AKShare 接口。**不包含奇货可查/付费源**。 --- ## 你要做的事（路由协议，必须遵守） 当用户提问时： ### Step 0：抽取意图槽位 - `freq`：realtime | intraday(minute) | daily/历史 - `asset`：futures | options - `need_compute`：none | indicators | greeks_iv | rr25 | (组合) - `scope`：单合约 | 品种全合约 | 全市场/列表 ### Step 1：先判频率（实时优先） - 命中【实时/盘面/盘口/最新价/当前/成交量/持仓/分时/分钟/5m/30m】→ `realtime` 或 `intraday` - 命中【日线/历史/从…到…/近一年/回测】→ `daily/历史` ### Step 2：再判品类（期货 vs 期权） - 命中【期货/主连/次主连/合约如 IF2403/ RB主连】→ futures - 命中【期权/看涨/看跌/行权价/隐含波动率/Delta/Gamma】→ options ### Step 3：最后判是否二次加工 - 命中【MA/EMA/MACD/RSI/布林/ATR/5m指标/30m指标】→ indicators - 命中【隐含波动率/IV/Delta/Gamma/Theta/Vega/Rho】→ greeks_iv - 命中【RR25/25D 风险逆转/Skew】→ rr25（需要 greeks_iv + 规则） ### Step 4：按需加载（只读需要的文件） 1) 先 `read maps/router.yml`：找到对应 recipe 2) 再 `read recipes/<name>.md`：按步骤执行 3) 如果 recipe 引用 method（例如 RR25/指标计算），再 `read methods/<name>.md` --- ## 入口路由表（文件） - `maps/router.yml`：意图 → recipe 文件名（**唯一真源**） - `maps/keywords.yml`：中文关键词归一化（减少误判） - `references/INDEX.md`：AKShare 可用接口索引（只列一期用到的） --- ## MVP 覆盖的用户高频需求 ### 期货 - 实时盘面/成交（某个品种所有合约）：`recipes/futures_realtime_board.md` - 5m/30m 分钟线 + 技术指标：`recipes/futures_kline_indicators.md` ### 期权 - 隐含波动率 + Greeks（基于上交所 ETF 期权）：`recipes/options_iv_greeks.md` - RR25（基于 Delta 近似）：`recipes/options_rr25.md` --- ## 运行方式（给会用工具的 agent） - 数据抓取与计算脚本在 `scripts/`；可用 `exec` 运行，例如： - `python3 skills/akshare-router-cn/scripts/futures_realtime.py --symbol PTA` - `python3 skills/akshare-router-cn/scripts/futures_indicators.py --contract IF2008 --period 30` - `python3 skills/akshare-router-cn/scripts/options_rr25.py --underlying 510050 --trade_date 202603` > TODO：如果未来要把脚本封装成统一 CLI（如 `akrcn ...`），可以在二期做，不影响本期路由文档结构。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jeffaf/pokemon (version 1.0.0)

--- name: pokemon version: 1.0.0 description: "CLI for AI agents to lookup Pokémon info for their humans. Uses PokéAPI. No auth required." homepage: https://pokeapi.co metadata: openclaw: emoji: "⚡" requires: bins: ["bash", "curl", "jq"] tags: ["pokemon", "pokeapi", "games", "entertainment", "cli"] --- # Pokémon Lookup CLI for AI agents to lookup Pokémon info for their humans. "What type is Charizard weak to?" — now your agent can answer. Uses PokéAPI. No account or API key needed. ## Usage ``` "Look up Pikachu" "What are fire type weaknesses?" "Tell me about the ability Levitate" "Search for dragon Pokémon" ``` ## Commands | Action | Command | |--------|---------| | Search | `pokemon search "query"` | | Get details | `pokemon info <name\|id>` | | Type matchups | `pokemon type <name>` | | Ability info | `pokemon ability <name>` | ### Examples ```bash pokemon search pikachu # Find Pokémon by partial name pokemon info 25 # Get details by Pokédex number pokemon info charizard # Get details by name pokemon type fire # Fire type matchups pokemon ability static # Ability description ``` ## Output **Search output:** ``` Pikachu Pikachu-rock-star Pikachu-belle ``` **Info output:** ``` ⚡ Pikachu [#25] Types: Electric Height: 0.4m | Weight: 6kg Base Stats: HP: 35 | Atk: 55 | Def: 40 Sp.Atk: 50 | Sp.Def: 50 | Spd: 90 Abilities: Static, Lightning rod Sprite: https://raw.githubusercontent.com/.../25.png ``` **Compact format:** ``` [#25] Pikachu — Electric, HP: 35, Atk: 55, Def: 40, Spd: 90 ``` **Type output:** ``` 🔥 Type: Fire ⚔️ Offensive: 2x damage to: Grass, Ice, Bug, Steel ½x damage to: Fire, Water, Rock, Dragon 0x damage to: None 🛡️ Defensive: 2x damage from: Water, Ground, Rock ½x damage from: Fire, Grass, Ice, Bug, Steel, Fairy 0x damage from: None ``` **Ability output:** ``` ✨ Ability: Static 📖 Effect: Pokémon with this Ability have a 30% chance of paralyzing attacking Pokémon on contact. 🎯 Short: Has a 30% chance of paralyzing attacking Pokémon on contact. ``` ## Notes - Uses PokéAPI v2 (pokeapi.co) - No rate limit (but be reasonable) - No authentication required - Names are case-insensitive - Use hyphens for multi-word names: `pokemon info mr-mime` - Search returns up to 20 matches --- ## Agent Implementation Notes **Script location:** `{skill_folder}/pokemon` (wrapper) → `scripts/pokemon` **When user asks about Pokémon:** 1. Run `./pokemon search "name"` to find exact name 2. Run `./pokemon info <name|id>` for full stats 3. Run `./pokemon type <type>` for matchup questions 4. Run `./pokemon ability <name>` for ability details **Common patterns:** - "What is X weak to?" → Get info for types, then lookup type matchups - "Best counter for X?" → Get types, then check what's super effective - "Does X have ability Y?" → Get info and check abilities list **Don't use for:** Non-Pokémon game info, competitive tier lists, or fan content.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: hazy2go/content-research (version 1.1.0)

--- name: content-research description: Research trending topics and generate platform-specific content. Triggers on "research [topic]", "what's new in [topic]", "content for [platform]", "create posts about [topic]". Supports Reddit, X/Twitter, Discord, LinkedIn with multiple content angles per platform. --- # Content Research Two-phase workflow: **Research** → **Create** --- ## Phase 1: Research **Triggers:** `research [topic]`, `what's new in [topic]` ### 1. Search Use web search to find recent news: ``` web_search(query="[topic] news", freshness="pw") ``` **Query patterns:** - News: `[topic] news` - Reddit: `site:reddit.com [topic]` - X/Twitter: `site:x.com [topic]` ### 2. Fetch Articles Extract article content: ``` web_fetch(url="[URL]", maxChars=8000) ``` ### 3. Filter - **7-day cutoff** — discard older content - Skip "what is X" explainers - Skip price predictions / TA - Prioritize: launches, partnerships, updates, drama, milestones ### 4. Present ```markdown ## [Topic] Research — [Date] 1. **[Headline]** - [Source] - [X days ago] [2-3 sentence summary] 2. **[Headline]** - [Source] - [X days ago] [2-3 sentence summary] [up to 5 items, newest first] ``` --- ## Phase 2: Content Creation **Triggers:** `create content for [platform]`, `#3 for reddit` ### Platform Formats #### Reddit - Hook title (no clickbait) - 2-4 conversational paragraphs - Include source link - End with discussion prompt **Angles:** 1. **News share** — Straightforward reporting 2. **Discussion** — "What do you think..." 3. **Analysis** — Your take on implications 4. **ELI5** — Simple explanation 5. **Contrarian** — Devil's advocate #### X/Twitter - Under 280 chars (or thread) - Hook first line - Line breaks for readability **Angles:** 1. **Breaking** — Just facts, urgency 2. **Hot take** — Engagement bait opinion 3. **Thread** — Multi-tweet breakdown 4. **Quote dunk** — React to announcement 5. **Meme** — Casual/funny #### Discord - Bullet lists (no tables) - Wrap links: `<https://...>` - Bold/CAPS for emphasis **Angles:** 1. **Alert** — One-liner + link 2. **Summary** — Key bullets 3. **Discussion** — Ask for reactions 4. **Thread** — Detailed breakdown 5. **Meme** — Community vibe #### LinkedIn - Professional tone - Lead with insight - 3-5 short paragraphs - End with question **Angles:** 1. **Industry insight** — What it means 2. **Lessons** — What we learn 3. **Prediction** — Where it's heading 4. **Career** — Professional implications 5. **Case study** — Deep dive --- ## Brand Voice (Optional) For branded content, create a `brand-config.md` file with your voice guidelines: ```markdown # Brand: [Name] ## Voice - [Tone descriptor] - [Communication style] ## Avoid - [Things not to say] ## Include - [Required elements] ``` When generating branded content, reference your brand config for consistency. --- ## Example Session ``` User: research defi Agent: [Returns 5 findings from past 7 days] User: 2 for reddit Agent: [5 Reddit angles for finding #2] User: angle 3 Agent: [Ready-to-post content] ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: skyhahalife-11/minecraft1 (version 1.0.1)

# Minecraft 游戏助手 ## 角色定位 你是 Minecraft Java Edition 的自动化助手，通过截图观察游戏画面，用键盘鼠标指令控制角色行动。 ## 可用指令 - `mc_screenshot()`：截取当前游戏画面（每次行动前必须先截图观察） - `mc_key(key)`：按一个键，如 `mc_key('w')` `mc_key('e')` `mc_key('Escape')` - `mc_key_hold(key, seconds)`：长按某键，如 `mc_key_hold('w', 2.0)` 向前走2秒 - `mc_mouse_move(x, y)`：移动鼠标 - `mc_mouse_click(x, y)`：点击屏幕坐标 - `mc_type(text)`：输入文字 - `mc_chat(message)`：发送聊天消息 ## 常用按键 - 移动：W/A/S/D - 跳跃：space - 疾跑：按两下 W 或 Ctrl+W - 背包：e - 挖掘/攻击：鼠标左键（button 1） - 放置方块：鼠标右键（button 3） - 暂停菜单：Escape ## 行动原则 - 每次行动前先调用 `mc_screenshot()` 观察当前状态 - 行动后再截图确认结果 - 截图是 base64 图片，直接用 imageModel 分析内容 - 告知用户当前观察到的场景和接下来的计划 ## 必须暂停通知用户的情况 - 角色死亡（出现死亡界面） - 遇到未知状况无法判断下一步 - 连续3次操作没有产生预期效果


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: fanqing203/voice-listener (version 0.1.0)

# Voice Listener Skill 百度语音识别 + 智能唤醒技能 ## 功能 - 🎤 百度语音识别（高准确度） - ✨ 智能唤醒模式："小龙虾"激活，"停止"暂停 - 🔄 持续监听：激活后所有语音自动输入 - 📋 无需每次都说唤醒词 ## 快速开始 ### 方式1：通过OpenClaw技能系统调用（推荐） 在对话中直接说或输入： ``` 启动语音监听 ``` OpenClaw会自动调用此技能并启动语音识别程序。 ### 方式2：启动脚本 双击运行： ``` voice_input_baidu_smart.bat ``` ### 方式3：命令行 在技能目录下运行： ```bash python start_voice_listener.py ``` ## 使用方法 ### 激活模式 1. 双击 `voice_input_baidu_smart.bat` 启动程序 2. 程序进入待机模式 3. 说：**"小龙虾"** 4. 程序进入激活模式 5. 所有语音都会自动识别并输入 ### 持续输入 激活后，你说的话会自动输入到光标位置： ``` 说: "你好" → 自动输入 说: "帮我打开淘宝" → 自动输入 说: "今天天气怎么样？" → 自动输入 ``` ### 暂停输入 说：**"停止"** 程序回到待机模式，不会再输入你的语音。 ## 配置文件 ### 百度 API 配置 编辑 `baidu_config.json`： ```json { "APP_ID": "你的APP_ID", "API_KEY": "你的API_KEY", "SECRET_KEY": "你的SECRET_KEY" } ``` ### 修改唤醒词 编辑 `voice_input_baidu_smart.py`： ```python # 唤醒词 WAKE_WORD = "小龙虾" # 改成你喜欢的词 # 停止词 STOP_WORD = "停止" # 改成你喜欢的词 ``` ## 工作流程 ``` [待机模式] ↓ 说: "小龙虾" → [激活模式] ↓ 持续语音输入... ↓ 说: "停止" → [待机模式] ``` ## 文件说明 ### 核心文件 - `voice_input_baidu_smart.py` - 智能唤醒模式（推荐） - `voice_input_baidu_smart.bat` - 启动脚本 - `baidu_config.json` - 百度API配置 ### 其他版本 - `voice_input_baidu.py` - 简单持续监听（无唤醒词） - `voice_input_baidu_wakeup.py` - 单次唤醒版本 - `BAIDU_README.md` - 百度API使用指南 - `SMART_WAKEUP_README.md` - 智能唤醒详细指南 ### 配置文件 - `baidu_config.json` - 百度API密钥配置 ## 技术参数 ### 音频配置 - 采样率：16000 Hz（百度要求） - 声道：1（单声道） - 格式：WAV - 静音阈值：0.02（可调） - 静音时长：1.5 秒（说话结束后停止录音） - 最短语音：0.5 秒（防止误触发） ### API 配置 - 识别引擎：百度语音识别 API - Token API：https://aip.baidubce.com/oauth/2.0/token - 识别 API：https://vop.baidu.com/server_api - 免费额度：50,000 次/天 - 语言：普通话（支持简单英文） ## 优势 | 特性 | 说明 | |------|------| | ✅ 高准确度 | 百度语音识别准确度高 | | ✅ 智能唤醒 | 唤醒后持续工作 | | ✅ 易控制 | 明确的激活/停止 | | ✅ 免费额度高 | 每天50,000次 | | ✅ 配置简单 | 只需三个API密钥 | ## 常见问题 ### 问题1：Token获取失败 **错误：** 无法获取百度Access Token **解决：** 1. 检查 `baidu_config.json` 中的密钥是否正确 2. 检查网络连接 3. 重新登录百度控制台，检查API密钥状态 ### 问题2：唤醒词检测不到 **解决：** 1. 清楚地说"小龙虾" 2. 在安静环境下使用 3. 靠近麦克风 ### 问题3：停止词检测不到 **解决：** 1. 清楚地说"停止" 2. 或者按 `Ctrl+C` 停止程序 ## API 密钥申请 ### 获取步骤 1. 访问：https://ai.baidu.com/ 2. 注册/登录账号 3. 进入控制台：https://console.bce.baidu.com/ai/ 4. 创建应用 5. 选择"语音识别" 6. 获取 APP ID, API Key, Secret Key 7. 填入 `baidu_config.json` ### 文档 - 百度AI开放平台：https://ai.baidu.com/ - 语音识别文档：https://ai.baidu.com/ai-doc/SPEECH/Vk38lxily - 控制台地址：https://console.bce.baidu.com/ai/ ## 输出 识别结果： - 自动输入到光标位置 - 同时在控制台显示识别文本 - 失败时复制到剪贴板，手动粘贴 ## 技术栈 - 音频处理：`sounddevice` - 键盘控制：`keyboard` - 剪贴板：`pyperclip` - 语音识别：百度 REST API - HTTP 请求：`requests`

path: baidu_config.example.json
content: APP_ID: your_app_id_here
API_KEY: your_api_key_here
SECRET_KEY: your_secret_key_here

Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: mtsatryan/ah-m365-admin (version 1.0.0)

--- name: m365-admin description: '> Microsoft 365 administrator specializing in Exchange Online, Teams, SharePoint, licensing, Graph API automation, and secure identity operations.' --- You are an M365 automation and administration expert responsible for designing, building, and reviewing scripts and workflows across major Microsoft cloud workloads. ## Core Capabilities ### Exchange Online - Mailbox provisioning + lifecycle - Transport rules + compliance config - Shared mailbox operations - Message trace + audit workflows ### Teams + SharePoint - Team lifecycle automation - SharePoint site management - Guest access + external sharing validation - Collaboration security workflows ### Licensing + Graph API - License assignment, auditing, optimization - Use Microsoft Graph PowerShell for identity and workload automation - Manage service principals, apps, roles ## Checklists ### M365 Change Checklist - Validate connection model (Graph, EXO module) - Audit affected objects before modifications - Apply least-privilege RBAC for automation - Confirm impact + compliance requirements ## Example Use Cases - “Automate onboarding: mailbox, licenses, Teams creation” - “Audit external sharing + fix misconfigured SharePoint sites” - “Bulk update mailbox settings across departments” - “Automate license cleanup with Graph API” ## Integration with Other Agents - **azure-infra-engineer** – identity / hybrid alignment - **powershell-7-expert** – Graph + automation scripting - **powershell-module-architect** – module structure for cloud tooling - **it-ops-orchestrator** – M365 workflows involving infra + automation


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: leooooooow/offer-explainer-rewriter (version 1.0.0)

# Offer Explainer Rewriter Rewrite unclear, jargon-heavy, or weak offer explanations into simple language that makes the value obvious and easier to convert on. Use this skill when a user has an offer, package, bundle, promotion, subscription, or product explanation that feels confusing, overly technical, or too abstract. It is especially useful for ecommerce offers, creator-led sales content, landing page copy, TikTok Shop scripts, product promos, and founder explanations. ## Problem it solves A lot of good offers underperform because people do not understand them quickly enough. The product may be strong, but the explanation is bloated, vague, or too internal-language heavy. This skill rewrites the explanation into clear value-first language without breaking the economics of the offer. ## Use when - An offer sounds confusing or too wordy - People do not immediately understand what they get - A bundle or promo needs a clearer explanation - A founder/product team writes like insiders instead of buyers - A landing page, ad, or script needs a simpler offer description ## Do not use when - The user needs pricing strategy rather than rewriting - The offer itself is broken and needs redesign, not explanation - There is not enough information to understand the actual offer structure ## Inputs to ask for - Current offer wording - What the buyer gets - Price and format - Main buyer objection or confusion point - Audience and platform/context - Any constraints: must-keep terms, compliance limits, pricing clarity ## Workflow 1. Clarify the real offer mechanics and what the buyer receives 2. Identify where the current explanation creates confusion 3. Rewrite the offer in plain, buyer-first language 4. Create variants for different contexts: ad, landing page, video, creator script 5. Check that the rewrite preserves economics and key terms 6. Recommend the clearest version for immediate use ## Output requirements Return: 1. Short diagnosis of what is unclear in the original offer explainer 2. Plain-language rewritten offer explanation 3. 3-5 alternate versions by context or tone 4. Optional shorter “one-line version” 5. Optional objection-handling phrasing if confusion is predictable 6. Recommended best version and where to use it ## Quality standards - The value should become obvious within seconds - Rewrites should remove jargon without losing specificity - Offer mechanics must remain accurate - Language should feel conversion-friendly, not corporate - Final copy should be usable in a landing page, creator script, or promo asset ## Example prompts - Rewrite this offer so buyers understand it instantly - Make this bundle explanation clearer for TikTok Shop content - Turn this internal product language into plain English that sells


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: lead-generator (version 0.1.0)

--- name: lead-generator description: 潜客挖掘 - 自动搜索潜在客户，生成线索列表。支持行业、关键词搜索，导出联系方式。适用于销售、市场人员。 --- # 潜客挖掘 (Lead Generator) ## 功能 - 按行业/关键词搜索潜在客户 - 抓取联系信息 - 生成潜客列表 - 导出 CSV/Excel ## 使用方式 ```bash lead-generator "AI 初创公司" --location China ``` ## 价格 - 免费版：10条/次 - 专业版：¥199/月：无限制 - 企业版：¥599/月：API接入


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kaicianflone/consensus-persona-respawn (version 1.1.13)

--- name: consensus-persona-respawn description: Ledger-informed persona lifecycle management. Replaces low-performing personas with successor personas derived from mistake patterns in board decision history, preserving adaptive governance over long-running automation. Reputation updates are computed by consensus-persona-engine. version: 1.1.13 homepage: https://github.com/kaicianflone/consensus-persona-respawn source: https://github.com/kaicianflone/consensus-persona-respawn upstream: consensus-guard-core: https://github.com/kaicianflone/consensus-guard-core requires: bins: - node - tsx env: - CONSENSUS_STATE_FILE - CONSENSUS_STATE_ROOT metadata: openclaw: requires: bins: - node - tsx env: - CONSENSUS_STATE_FILE - CONSENSUS_STATE_ROOT install: - kind: node package: consensus-persona-respawn --- # consensus-persona-respawn `consensus-persona-respawn` is the adaptive maintenance loop for persona governance. ## What this skill does - identifies dead/weak personas by trigger or reputation threshold - mines historical decision artifacts for mistake patterns - generates successor persona profiles informed by those failures - writes `persona_respawn` and updated `persona_set` artifacts - keeps governance panel quality from stagnating ## Why this matters A static evaluator panel drifts over time. This skill provides lifecycle renewal so consensus quality improves instead of degrading. ## Ecosystem role Consumes persona-engine outputs for long-term adaptation and ties directly into board-ledger evidence. ## Best use cases - long-running agent teams - recurring decision domains with repeated failure classes - autonomous systems requiring evaluator maintenance ## Runtime and network behavior - runtime binaries: `node`, `tsx` - network calls: none in shipped respawn logic - environment config read by this package: `CONSENSUS_STATE_FILE`, `CONSENSUS_STATE_ROOT` - filesystem writes: board/state artifacts under the configured consensus state path ## Dependency trust model - `consensus-guard-core` is the first-party consensus package used in runtime execution - versions are semver-pinned in `package.json` for reproducible installs - this skill does not request host-wide privileges and does not mutate other skills ## Install ```bash npm i consensus-persona-respawn ``` ## Quick start ```bash node --import tsx run.js --input ./examples/input.json ``` ## Tool-call integration This skill is wired to the consensus-interact contract boundary (via shared consensus-guard-core wrappers where applicable): - readBoardPolicy - getLatestPersonaSet / getPersonaSet - writeArtifact / writeDecision - idempotent decision lookup This keeps board orchestration standardized across skills. ## Invoke Contract This skill exposes a canonical entrypoint: - `invoke(input, opts?) -> Promise<OutputJson | ErrorJson>` `invoke()` executes persona replacement based on lineage and failure patterns. Reputation deltas are expected from consensus-persona-engine outputs.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: miaoxingjun/asclaude-monitor (version 1.0.0)

# asclaude-monitor: 智能任务与系统健康监控中心 📊🔔 > **从“被动响应”到“主动关怀”，让您的 AI 助手拥有全天候的系统感知力。** ## 🌟 核心亮点 **asclaude-monitor** 是 OpenClaw 环境下的“运维驾驶舱”。它集成了系统资源监视、定时任务管家以及异步任务追踪功能。通过这套工具，黑米能够主动发现环境隐患，确保您的自动化流程（如股票监控、新闻抓取）稳定运行，不再出现“静默失败”。 ### 🚀 功能详解 1. **系统健康自检 (Health Check):** * **磁盘与内存:** 实时监控工作区存储空间，防止日志或归档文件占满磁盘。 * **网关状态:** 快速确认 OpenClaw Gateway 是否在线，排查网络连接问题。 2. **Cron 任务管家:** * **一键清单:** 优雅地列出所有定时任务，包含运行时间表和状态。 * **主动预警:** 配合 Heartbeat 机制，定期检查关键任务是否执行成功。 3. **子代理追踪 (Sub-agent Watch):** * 监控后台运行的复杂任务进度。 * 当任务卡死或超时时，提供快速响应建议。 4. **主动提醒引擎:** * 在关键节点（如任务完成、系统空闲）主动通过飞书或聊天窗口推送状态。 ## 🛠️ 使用指南 - **运行健康检查:** `python scripts/health_check.py` - **查看定时任务:** `python scripts/cron_manager.py` --- *由 黑米 (HeiMi) 为您打造的 AI 运维中枢，让每一次自动化运行都心中有数。* 🌾

path: scripts/cron_manager.py
content: #!/usr/bin/env python3
"""
Cron Job Manager
Lists and manages OpenClaw cron jobs.
"""
import subprocess
import sys

def list_jobs():
    try:
        result = subprocess.run(["openclaw", "cron", "list"], capture_output=True, text=True, timeout=10)
        return result.stdout
    except Exception as e:
        return f"Error listing jobs: {str(e)}"

if __name__ == "__main__":
    print("📅 **Current Cron Jobs:**")
    print(list_jobs())


path: scripts/health_check.py
content: #!/usr/bin/env python3
"""
System Health Check Tool
Monitors disk space, memory, and OpenClaw gateway status.
"""
import subprocess
import shutil
import os

def check_disk_usage(path="/"):
    total, used, free = shutil.disk_usage(path)
    gb = 1024 ** 3
    return f"Total: {total//gb}GB | Used: {used//gb}GB ({used/total*100:.1f}%) | Free: {free//gb}GB"

def check_gateway_status():
    try:
        result = subprocess.run(["openclaw", "gateway", "status"], capture_output=True, text=True, timeout=5)
        if "running" in result.stdout.lower():
            return "🟢 Gateway is Running"
        return "🔴 Gateway is NOT Running"
    except:
        return "⚠️ Could not check Gateway status"

if __name__ == "__main__":
    print("🔍 **System Health Report**")
    print(f"💾 **Disk Usage (Workspace):** {check_disk_usage(os.path.expanduser('~/.openclaw/workspace'))}")
    print(f"⚙️ **OpenClaw Status:** {check_gateway_status()}")


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