OpenClaw/clawhub-security-signals huggingface dataset:
Skill: asterisk622/xiaoding-searxng (version 1.0.5)

--- name: searxng description: Privacy-respecting metasearch using your local SearXNG instance. Search the web, images, news, and more without external API dependencies. author: Avinash Venkatswamy version: 1.0.1 homepage: https://searxng.org triggers: - "search for" - "search web" - "find information" - "look up" metadata: {"clawdbot":{"emoji":"🔍","requires":{"bins":["python3"]},"config":{"env":{"SEARXNG_URL":{"description":"SearXNG instance URL","default":"http://localhost:8080","required":true}}}}} --- # SearXNG Search Search the web using your local SearXNG instance - a privacy-respecting metasearch engine. ## Commands ### Web Search ```bash uv run {baseDir}/scripts/searxng.py search "query" # Top 10 results uv run {baseDir}/scripts/searxng.py search "query" -n 20 # Top 20 results uv run {baseDir}/scripts/searxng.py search "query" --format json # JSON output ``` ### Category Search ```bash uv run {baseDir}/scripts/searxng.py search "query" --category images uv run {baseDir}/scripts/searxng.py search "query" --category videos ``` ### Advanced Options ```bash uv run {baseDir}/scripts/searxng.py search "query" --language en uv run {baseDir}/scripts/searxng.py search "query" --time-range day ``` ## Configuration **Required:** Set the `SEARXNG_URL` environment variable to your SearXNG instance: ```bash export SEARXNG_URL=https://your-searxng-instance.com ``` Or configure in your Clawdbot config: ```json { "env": { "SEARXNG_URL": "https://your-searxng-instance.com" } } ``` Default (if not set): `http://localhost:8080` ## Features - 🔒 Privacy-focused (uses your local instance) - 🌐 Multi-engine aggregation - 📰 Multiple search categories - 🎨 Rich formatted output - 🚀 Fast JSON mode for programmatic use ## API Uses your local SearXNG JSON API endpoint (no authentication required by default).


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: chayjan/dingtalk (version 1.0.0)

--- name: dingtalk description: DingTalk channel plugin for OpenClaw - send and receive messages via DingTalk (钉钉) metadata: { "openclaw": { "requires": { "openclaw": ">=2026.2.0" }, }, } --- # DingTalk Channel Plugin for OpenClaw Connect OpenClaw to DingTalk (钉钉) for enterprise messaging. ## Features - Send/receive messages via DingTalk API - Support for both internal apps and webhook robots - DM and group chat policies - User allowlist support ## Configuration ### Method 1: Environment Variables ```bash export DINGTALK_CLIENT_ID="your-app-key" export DINGTALK_CLIENT_SECRET="your-app-secret" ``` ### Method 2: Config File ```bash openclaw config --section channels # Select DingTalk and follow prompts ``` Or manually edit config: ```yaml channels: dingtalk: enabled: true clientId: "ding6kntxc33nvloty5z" clientSecret: "your-secret" dmPolicy: "allowlist" # or "open", "pairing" allowFrom: - "user001" - "user002" groupPolicy: "allowlist" # or "open", "disabled" groupAllowFrom: - "chat001" ``` ### Method 3: Webhook Robot (Group Chat) For group robot webhooks: ```yaml channels: dingtalk: enabled: true webhookUrl: "https://oapi.dingtalk.com/robot/send?access_token=xxxxx" webhookSecret: "SECxxxxx" # optional, for signature verification ``` ## Getting Credentials 1. Go to [DingTalk Open Platform](https://open.dingtalk.com) 2. Create a micro-app or internal robot 3. Copy the **App Key** and **App Secret** 4. For internal apps, ensure these permissions: - Contact management (读取通讯录) - Message notifications (发送工作通知) ## Usage ### Sending Messages ```typescript await message({ channel: "dingtalk", target: "user-id", text: "Hello from OpenClaw!" }); ``` ### Receiving Messages Configure DingTalk callback URL to point to your OpenClaw Gateway: ``` https://your-gateway/webhook/dingtalk ``` ## API Reference - [DingTalk Open Platform](https://open.dingtalk.com/document/isv/server-api-overview) - [Robot Webhook API](https://open.dingtalk.com/document/isv/group-robot) ## Troubleshooting **Error: "invalid timestamp"** - Check your system time is synchronized **Error: "app not authorized"** - Ensure your app has the required permissions in DingTalk admin console **Error: "ip not in whitelist"** - Add your OpenClaw Gateway IP to DingTalk app IP whitelist ## Development This plugin is in beta. Report issues at: https://github.com/openclaw/openclaw ## License MIT


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector:  ()
Skill: codekungfu/crm-management (version 0.1.0)

--- name: "CRM管理" description: "提供CRM管理的可落地指南与SOP。在开展CRM管理相关工作时调用。" --- # CRM管理 (crm-management) ## 数据模型 - 用户基本信息、行为事件、订单与售后、渠道来源、生命周期阶段。 ## 分层与运营 - RFM分层、AIPL模型；场景化触达（欢迎、激活、留存、召回、挽回）。 ## 自动化 - 触发式消息：下单未支付、评价邀请、流失预警；多渠道（短信/邮件/企微）。 ## 指标 - 活跃率、留存率、复购率、CLV、消息到达率与转化率。 ## 合规 - 明示授权与退订机制；敏感信息加密与权限分级。 生成日期：2026-03-17


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sunnycpk/a-share-market-query (version 1.0.0)

--- name: "openclaw-market-intel" description: "获取股票行情与新闻情报并结构化输出。用户要求查询个股/指数、新闻追踪或多源交叉验证时调用。" user-invocable: true disable-model-invocation: false metadata: {"openclaw":{"emoji":"📈","homepage":"https://docs.openclaw.ai/tools/skills","skillKey":"openclaw-market-intel","requires":{"bins":["python3"]}}} --- # OpenClaw Market Intel ## 目标 在用户查询股票、指数或市场主题时，统一拉取多源行情与新闻/搜索情报，输出可执行、可追溯、可降级的结构化结论。 ## 何时调用 - 用户要查个股/指数最新行情与涨跌变化 - 用户要看相关新闻、舆情、催化与风险点 - 用户要求多源交叉验证，避免单源偏差 - 用户要快速生成“行情 + 新闻 + 风险提示”简报 - 用户明确要求输出策略研判（如趋势、风控、仓位倾向） ## 触发判定 - 用户明确“只查信息/不要建议”时，使用 `--mode info` - 用户要求“给策略/给判断/给计划”时，使用 `--mode strategy` - 用户未说明时，默认先输出信息版，再提示可切换策略版 ## 数据源 ### 行情数据源 - Eastmoney（A股/指数优先兜底） - YFinance - AkShare - Tushare - Pytdx - Baostock ### 新闻/搜索数据源 - Tavily - SerpAPI - Brave - Bocha - MiniMax - Local Fallback（自动兜底，不阻塞主流程） ### AI 分析通道（可选） - AIHubMix - Gemini - OpenAI 兼容 - DeepSeek - 通义千问 - Claude ## 执行流程 1. 识别用户意图：标的、市场（A/H/US）、时间范围、关注点 2. 行情采集：优先多源查询，支持失败回退 3. 新闻采集：优先用户指定源，未配置则跳过并降级 4. 情报融合：结构化汇总价格、涨跌、均线、事件与风险 5. 结论输出：一句话结论、关键风险、数据源与时间戳 6. 策略模式：补充策略类型、信号、动作与风险等级 ## 执行脚本 - 脚本路径：`{baseDir}/market_intel.py` - 运行环境：Python 3 ### 命令清单 - `quote`：查询多源最新行情 - `history`：查询多源历史K线 - `news`：查询多源新闻/搜索 - `intel`：一键执行行情 + 历史 + 新闻，支持信息/策略双模式 ### 快速示例 ```bash python3 {baseDir}/market_intel.py quote --symbol 欧菲光 --sources eastmoney,yfinance python3 {baseDir}/market_intel.py quote --symbol 中国铝业 --sources yfinance python3 {baseDir}/market_intel.py news --query "中国铝业 业绩" --sources minimax --max-results 3 python3 {baseDir}/market_intel.py intel --symbol 中国铝业 --query "中国铝业" --mode strategy --strategy cn_review --market-sources yfinance --news-sources minimax ``` ### 参数说明 - `--mode info`：仅返回事实数据（行情/历史/新闻） - `--mode strategy`：在事实数据基础上增加策略研判 - `--strategy`：`auto`、`ma_cross`、`ma_trend`、`bias_guard`、`wave`、`cn_review`、`us_regime` - `--bias-threshold`：乖离率策略阈值，默认 `5.0` ### 环境变量 - `TAVILY_API_KEY` - `SERPAPI_API_KEY` - `BRAVE_API_KEY` - `BOCHA_BASE_URL`、`BOCHA_API_KEY` - `MINIMAX_BASE_URL`、`MINIMAX_API_KEY` - `TUSHARE_TOKEN` - `MARKET_INTEL_HTTP_RETRIES`（默认 3） - `MARKET_INTEL_HTTP_BACKOFF`（默认 0.8） ## 稳定性与降级策略 - 每个数据源独立返回 `ok/error`，单源失败不影响整体结构输出 - 行情在关键源不可用时自动执行回退，输出 `fallback_source_used` - 新闻源未配置时会标记“已跳过”，全部不可用时自动回退 `local_fallback` - 保留统一 JSON 结构，避免下游消费失败 ## 输出结构 ### 基础字段 - `symbol` / `query` / `timestamp` / `type` - `results.<source>.ok` - `results.<source>.data | error` ### 策略字段（`mode=strategy`） - `strategy_used` - `signals` - `summary` - `action` - `risk_level` - `metrics` - `data_basis` ## 输出模板 ```markdown ## 市场情报简报 - 标的：<代码/名称>（<市场>） - 时间：<本地时间> - 一句话结论：<结论> - 行情概览： - 最新价：<price> - 涨跌幅：<pct> - MA5/10/20：<values> - 量能变化：<volume_trend> - 新闻与事件： - 主要事件 1：<title + source + time> - 主要事件 2：<title + source + time> - 舆情倾向：<偏多/中性/偏空> - 关键位与纪律： - 支撑/压力：<levels> - 乖离率风险：<low/medium/high> - 操作检查：<满足/注意/不满足> - 数据源： - 行情：<source_a>, <source_b> - 新闻：<source_c>, <source_d> - 免责声明：仅供参考，不构成投资建议。 ``` ## 规则 - 默认多源交叉，不给单源绝对结论 - 明确区分事实与推断 - 若源间冲突，优先报告冲突并降低置信度 - 缺少关键数据时标注“数据不足” - 输出避免夸张承诺，不使用“稳赚”等措辞


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: ahiven/aria2 (version 1.0.2)

--- name: aria2 description: 使用 aria2 下载磁力链接、种子、HTTP 文件。下载完成后自动转存到 115 网盘并删除本地文件。当用户发送磁力链接(magnet:)、种子文件(.torrent)、或要求下载文件时触发此 skill。 --- # Aria2 下载管理 aria2 以 daemon 模式运行，通过 RPC 接口管理任务。 ## 配置 - **配置文件**: 请根据实际情况调整 `aria2.conf` 路径 - **RPC 端口**: 6800 (默认) - **RPC 密钥**: 请在指令中使用 `<YOUR_RPC_SECRET>` 或配置环境变量 - **下载目录**: 根据主机情况调整 ## 添加下载任务 ### 磁力链接或 HTTP ```bash # 请将 <YOUR_RPC_SECRET> 替换为实际密钥 curl -s http://localhost:6800/jsonrpc -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":"1","method":"aria2.addUri","params":["[REDACTED_SECRET]",["<URL>"]]}' ``` ### 种子文件 ```bash # 先 base64 编码 TORRENT_B64=$(base64 -w0 /path/to/file.torrent) curl -s http://localhost:6800/jsonrpc -H "Content-Type: application/json" \ -d "{\"jsonrpc\":\"2.0\",\"id\":\"1\",\"method\":\"aria2.addTorrent\",\"params\":[\"[REDACTED_SECRET]",\"$TORRENT_B64\"]}" ``` ## 查看任务状态 ### 所有活动任务 ```bash curl -s http://localhost:6800/jsonrpc -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":"1","method":"aria2.tellActive","params":["[REDACTED_SECRET]"]}' | jq '.result[] | {gid, status, completedLength, totalLength, downloadSpeed, files: [.files[].path]}' ``` ### 指定任务 (用 GID) ```bash curl -s http://localhost:6800/jsonrpc -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":"1","method":"aria2.tellStatus","params":["[REDACTED_SECRET]","<GID>"]}' | jq '{status, completedLength, totalLength, downloadSpeed}' ``` ### 等待中的任务 ```bash curl -s http://localhost:6800/jsonrpc -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":"1","method":"aria2.tellWaiting","params":["[REDACTED_SECRET]",0,10]}' ``` ### 已完成/已停止的任务 ```bash curl -s http://localhost:6800/jsonrpc -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":"1","method":"aria2.tellStopped","params":["[REDACTED_SECRET]",0,10]}' ``` ## 控制任务 ### 暂停 ```bash curl -s http://localhost:6800/jsonrpc -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":"1","method":"aria2.pause","params":["[REDACTED_SECRET]","<GID>"]}' ``` ### 继续 ```bash curl -s http://localhost:6800/jsonrpc -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":"1","method":"aria2.unpause","params":["[REDACTED_SECRET]","<GID>"]}' ``` ### 删除 ```bash curl -s http://localhost:6800/jsonrpc -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":"1","method":"aria2.remove","params":["[REDACTED_SECRET]","<GID>"]}' ``` ## 下载完成后自动流程 本 Skill 需要配合主机端的自动转存脚本使用。建议在 `aria2.conf` 中配置 `on-download-complete` 钩子。 ## 检查服务状态 ```bash # 检查 aria2 daemon 是否运行 curl -s http://localhost:6800/jsonrpc -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":"1","method":"aria2.getVersion","params":["[REDACTED_SECRET]"]}' ## 快速命令格式 用户发送类似以下格式时直接添加下载： - `/aria2 magnet:?xt=urn:btih:...` - `/aria2 https://example.com/file.zip` - `下载这个磁力 magnet:?xt=...`


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: finnbusse/webuntis (version 1.0.1)

--- name: webuntis description: Read-only access to Untis/WebUntis student timetables. Use when you need to fetch or summarize a student's current schedule (today/this week/date range), upcoming lessons, rooms, teachers, or substitutions from a WebUntis instance. --- # WebUntis (Untis) timetable Use the bundled script to log in and fetch the timetable via JSON-RPC. ## Security / credentials - **Do not** ask the user to paste passwords into chat. - Prefer a **dedicated read-only student account** if the school allows it. - Credentials must be provided via environment variables (or injected securely by the operator). Single profile: - `WEBUNTIS_BASE_URL` (e.g. `https://xyz.webuntis.com`) - `WEBUNTIS_SCHOOL` (school name / key used by WebUntis) - `WEBUNTIS_USER` - `WEBUNTIS_PASS` - Optional: `WEBUNTIS_ELEMENT_TYPE` (default `5` = student) - Optional: `WEBUNTIS_ELEMENT_ID` (if auto-detect fails) Multiple profiles (parallel): - Set `WEBUNTIS_PROFILE=<name>` or pass `--profile <name>` - Provide env vars prefixed by the profile name, e.g. for profile `cdg`: - `WEBUNTIS_CDG_BASE_URL` - `WEBUNTIS_CDG_SCHOOL` - `WEBUNTIS_CDG_USER` - `WEBUNTIS_CDG_PASS` - optional: `WEBUNTIS_CDG_ELEMENT_TYPE`, `WEBUNTIS_CDG_ELEMENT_ID` ## Quick commands (exec) Today: ```bash cd skills/webuntis/scripts ./webuntis.py today # or pick a profile ./webuntis.py --profile cdg today ``` Range: ```bash cd skills/webuntis/scripts ./webuntis.py range 2026-02-10 2026-02-14 ``` ## Troubleshooting If you get "Could not determine element-id": 1) Run once and capture the error. 2) Add `WEBUNTIS_ELEMENT_ID=<number>` and retry. If auth fails: - Verify `WEBUNTIS_BASE_URL` is correct for your school. - Verify `WEBUNTIS_SCHOOL` matches the school key used by WebUntis. ## Output The script prints one line per lesson/event: `YYYY-MM-DD HH:MM-HH:MM · <subject> · Raum <room> · bei <teacher>`


Security scan verdicts — ClawScan: clean | static analysis:  | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yang1002378395-cmyk/ai-intelligent-image-generation (version 1.0.0)

--- name: ai-intelligent-image-generation version: 1.0.0 description: AI 图像生成，文生图 + 图生图。 metadata: openclaw: emoji: "🤖" requires: bins: [] --- # AI 智能图像生成 ## 描述 AI 图像生成，文生图 + 图生图。 ## 功能 - 文生图（文本生成图片） - 图生图（图片风格转换） - 图片编辑（智能编辑） - 批量生成（批量处理） - 模型定制（自定义模型） ## 定价 - 基础版：¥99/月（1000 张） - 专业版：¥499/月（10000 张） - 企业版：¥1999/月（无限张） ## 适用场景 - 内容创作 - 广告设计 - 电商图片 - 社交媒体 ## 技术栈 - Python + FastAPI - Stable Diffusion - DALL-E API - 图片处理 ## 安装 ```bash git clone https://github.com/openclaw-skills/ai-intelligent-image-generation cd ai-intelligent-image-generation pip install -r requirements.txt python app.py ``` --- 创建：2026-03-13 作者：OpenClaw Skills Team


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sky-lv/skylv-github-actions-helper (version 1.0.0)

--- name: skylv-github-actions-helper slug: skylv-github-actions-helper version: 1.0.0 description: "GitHub Actions workflow generator. Creates CI/CD pipelines for Node.js, Python, Docker. Triggers: github actions, ci cd, workflow, automate build, github ci." author: SKY-lv license: MIT tags: [automation, tools] keywords: [automation, tools] triggers: github-actions-helper --- # GitHub Actions Helper ## Overview Generates GitHub Actions workflows for continuous integration and deployment. ## When to Use - User asks to "set up CI" or "add github actions" - New project needs automated testing - User wants to "deploy with github actions" ## How It Works ### Detect project type Check for: package.json (Node), pyproject.toml (Python), Dockerfile (Docker). ## Node.js CI Template ```yaml name: CI on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: { node-version: "20" } - run: npm ci - run: npm test ``` ## Python CI Template ```yaml name: Python CI on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: { python-version: "3.12" } - run: pip install -r requirements.txt - run: pytest ``` ## Tips - Use actions/checkout@v4 not @v4.2.0 - Use npm ci not npm install for reproducibility - Store secrets in GitHub Secrets


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: mike47512/cities (version 0.1.0)

--- name: "网红城市" description: "提供关于网红城市的推荐清单、打卡路线与指南。用户搜索网红城市或规划相关出行时调用。" --- # 网红城市 ## 筛选项 - 难度/里程/海拔/路况（铺装/土路） - 季节/气候/最佳时段/是否需要预约或许可 - 安全（补给点/紧急撤退/信号覆盖）/亲子或萌宠友好 ## 返回字段 - 路线图/用时/交通方式/补给点与洗手间 - 风景亮点/拍摄位/人流情况/风险点 - 天气预警/装备清单/环保与无痕原则 ## 示例请求 - “杭州 网红城市 雨季友好路线（坡度≤8%）” - “深圳 网红城市 城市步道串联（地铁直达）” ## 更新频率 - 每周迭代，结合新热度与口碑反馈 ## 注意事项 - 高峰期排队较久，建议提前预约或错峰 - 部分项目有拍摄限制或最低消费，按现场规则执行


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: rfdiosuao/feishu-multi-agent-manager (version 2.0.5)

--- id: feishu-multi-agent-manager owner_id: rfdiosuao name: 飞书多 Agent 配置助手 description: 交互式引导配置多 Agent 系统，支持批量创建、凭证验证、角色模板、自动备份 version: 2.0.4 icon: "\U0001F916" author: rfdiosuao metadata: clawdbot: emoji: "\U0001F916" requires: bins: [] --- # 飞书多 Agent 配置助手 🤖 > 交互式引导配置多 Agent 系统，支持批量创建、凭证验证、角色模板 ## ✨ 功能特性 ### 1. 交互式配置向导 - 像聊天一样完成配置 - 询问创建几个 Agent（1-10） - 提供预设角色推荐 ### 2. 批量创建支持 - 一次性创建多个 Agent - 自动验证每个凭证 - 详细的成功/失败报告 ### 3. 飞书 Bot 创建教程 - 7 步详细教程 - 包含检查清单 - 常见问题解答 ### 4. 预设角色模板 - 6 个经典角色（main/dev/content/ops/law/finance） - 每个角色包含完整人设文件 - 支持完全自定义 ### 5. 凭证验证 - 自动验证 AppID 格式 - 自动验证 AppSecret 长度 - 友好的错误提示 ### 6. 工作区隔离 - 每个 Agent 独立 workspace - 记忆文件独立 - 会话存储独立 ## 🚀 使用方式 ### 启动配置向导 ```typescript await main(ctx, { action: 'start_wizard' }); ``` ### 选择 Agent 数量 ```typescript await main(ctx, { action: 'select_count', count: '6' }); ``` ### 查看飞书教程 ```typescript await main(ctx, { action: 'show_tutorial', step: '1', agentName: '大总管' }); ``` ### 批量创建 Agent ```typescript await main(ctx, { action: 'batch_create', agents: [ { agentId: 'main', agentName: '大总管', appId: 'cli_xxx', appSecret: 'xxx', isDefault: true }, { agentId: 'dev', agentName: '开发助理', appId: 'cli_xxx', appSecret: 'xxx' }, { agentId: 'content', agentName: '内容助理', appId: 'cli_xxx', appSecret: 'xxx' } ] }); ``` ### 查看配置状态 ```typescript await main(ctx, { action: 'show_status' }); ``` ## 📋 配置流程 1. **启动向导** - 回复「开始配置」 2. **选择数量** - 告诉 Bot 创建几个 Agent 3. **选择模式** - 预设/自定义/全新 4. **创建飞书应用** - 按照教程创建每个 Bot 5. **验证凭证** - 自动验证 AppID/AppSecret 6. **批量创建** - 一次性创建所有 Agent 7. **重启生效** - 重启 OpenClaw ## 🎯 预设角色 | 角色 | 职责 | 表情 | |------|------|------| | main | 大总管 - 统筹全局 | 🎯 | | dev | 开发助理 - 技术架构 | 🧑‍💻 | | content | 内容助理 - 文案创作 | ✍️ | | ops | 运营助理 - 用户增长 | 📈 | | law | 法务助理 - 合同审核 | 📜 | | finance | 财务助理 - 账目管理 | 💰 | ## 📚 完整文档 查看 [GitHub README](https://github.com/rfdiosuao/openclaw-skills/blob/main/feishu-multi-agent-manager/README.md) ## 🔗 相关链接 - [GitHub 仓库](https://github.com/rfdiosuao/openclaw-skills) - [飞书云文档教程](https://www.feishu.cn/docx/PYlXdsZoEoPPDbxyBRWc9HpRnIe) - [OpenClaw 官方文档](https://docs.openclaw.ai) --- **版本：** 2.0.4 **作者：** rfdiosuao **许可证：** MIT ## 📝 更新日志 ### v2.0.4 (2026-04-05) - ✅ 兼容飞书官方插件 2026.4.1 - ✅ 适配 OpenClaw 2026.3.31+ - ✅ **新增配置前自动备份** - 修改 openclaw.json 前自动创建备份文件 - ✅ **修复路径硬编码** - 动态获取用户主目录，支持不同系统用户 - ✅ 支持话题模式独立上下文配置 - ✅ 支持流式输出配置 ### v2.0.3 (2026-03-26) - ✅ 兼容飞书官方插件 2026.3.25 - ✅ 适配 OpenClaw 2026.3.22+ ### v2.0.2 (2026-03-19) - ✅ 动态路径获取 - ✅ 配置前自动备份 - ✅ 自动复制认证配置 ### v2.0.1 (2026-03-17) - 🐛 修复 accounts 配置格式问题


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: kaarl92/sm-ocr-scanner (version 1.0.0)

--- name: sm-ocr-scanner version: 1.0.0 description: Perform OCR on image files (jpg, png, bmp, gif, tiff) using the system's `tesseract` binary and return extracted plain text. --- # sm-ocr-scanner (funktionierender Skill) ## Überblick Dieser Skill nutzt das lokale **Tesseract‑OCR**‑Programm, um Text aus gängigen Bildformaten zu extrahieren. Er ist sofort einsetzbar, weil `tesseract` bereits auf dem System installiert ist. ## Verwendung ```bash # Aufruf über das Skill‑Skript (empfohlen) ~/.openclaw/workspace/skills/sm-ocr-scanner/scripts/ocr.sh <Pfad‑zur‑Bilddatei> ``` Beispiel: ```bash ~/.openclaw/workspace/skills/sm-ocr-scanner/scripts/ocr.sh /root/.openclaw/media/inbound/916f6187-cc22-4c62-bcfc-7b72198c8a10.png ``` Der erkannte Text wird auf **STDOUT** ausgegeben. ## Optionen - Der Aufruf nutzt `-l eng`, um die englische Sprachdatei zu erzwingen. Für andere Sprachen kannst du das Flag anpassen, z. B. `-l deu` für Deutsch. - Wenn du die Sprache automatisch erkennen lassen möchtest, entferne das `-l`‑Flag. ## Integration in OpenClaw (optional) Falls du den Skill später über das OpenClaw‑CLI ausführen willst, kannst du einen Alias in deiner `~/.bashrc` (oder `~/.zshrc`) hinzufügen: ```bash alias sm-ocr-scanner='~/.openclaw/workspace/skills/sm-ocr-scanner/scripts/ocr.sh' ``` Dann kannst du einfach `ocr-image <datei>` tippen. ## Hinweis Der ursprüngliche Platzhalter‑Skill war nicht funktionsfähig. Durch das Hinzufügen dieses Bash‑Wrappers wird er zu einem echten OCR‑Tool, das sofort einsatzbereit ist.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: soar999/wechat-article-for-ai (version 1.0.0)

--- name: wechat-to-md description: Convert WeChat Official Account (微信公众号) articles to clean Markdown files with locally downloaded images. --- # WeChat Article to Markdown Converter ## What this tool does Converts WeChat public account articles into clean Markdown files with: - YAML frontmatter (title, author, date, source URL) - Locally downloaded images - Preserved code blocks with language detection - Audio/video reference extraction - Clean formatting (no WeChat UI noise) ## Prerequisites - Python 3.10+ - Install dependencies: `pip install -r requirements.txt` - Camoufox browser will be auto-downloaded on first run ## Usage ### CLI (single article) ```bash python main.py "https://mp.weixin.qq.com/s/ARTICLE_ID" ``` ### CLI (batch from file) ```bash python main.py -f urls.txt -o ./output -v ``` ### CLI Options | Flag | Description | |------|-------------| | `-f FILE` | Text file with URLs (one per line) | | `-o DIR` | Output directory (default: ./output) | | `-c N` | Image download concurrency (default: 5) | | `--no-images` | Skip image download, keep remote URLs | | `--no-headless` | Show browser (for solving CAPTCHAs) | | `--force` | Overwrite existing output | | `--no-frontmatter` | Use blockquote metadata instead of YAML | | `-v` | Verbose/debug logging | ### MCP Server Run as an MCP server for AI tool integration: ```bash python mcp_server.py ``` Exposes two tools: - `convert_article(url, output_dir, download_images, concurrency, use_frontmatter)` — Convert a single article - `batch_convert(urls, output_dir, download_images, concurrency)` — Convert multiple articles ### MCP Configuration (for claude_desktop_config.json or similar) ```json { "mcpServers": { "wechat-to-md": { "command": "python", "args": ["mcp_server.py"], "cwd": "<path-to-this-project>" } } } ``` ## Output Structure ``` output/ <article-title>/ <article-title>.md # Markdown file with YAML frontmatter images/ img_001.png img_002.jpg ... ``` ## Common Issues - **CAPTCHA/verification page**: Run with `--no-headless` to manually solve the CAPTCHA in the browser window, then retry. - **Empty content**: WeChat may rate-limit requests. Wait a few minutes and try again. - **Image download failures**: Failed images keep their remote URLs in the markdown. Re-run with `--force` to retry. ## Limitations - Only supports articles from `mp.weixin.qq.com` - Requires a working internet connection and the ability to run a headless browser - WeChat may block automated access; Camoufox helps evade detection but is not guaranteed

path: main.py
content: """Entry point for wechat_to_md CLI."""

from wechat_to_md.cli import main

if __name__ == "__main__":
    main()


path: requirements.txt
content: camoufox[geoip]
markdownify
beautifulsoup4
httpx
mcp


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