OpenClaw/clawhub-security-signals huggingface dataset:
Skill: dagangtj/openclaw-setup-wizard (version 1.0.0)

--- name: openclaw-setup-wizard description: Interactive OpenClaw setup wizard that diagnoses, configures, and optimizes a fresh or existing OpenClaw installation. Use when a user asks to set up OpenClaw, configure providers, connect chat channels, install skills, set up cron jobs, harden security, or troubleshoot their OpenClaw environment. Covers first-time setup, multi-provider configuration, channel connection, skill installation, backup setup, and health verification. --- # OpenClaw Setup Wizard One-command diagnostic and guided setup for OpenClaw installations. ## Quick Start Run the diagnostic first to assess the current state: ```bash bash scripts/diagnose.sh ``` This produces a JSON report covering: gateway status, provider config, channels, skills, cron jobs, security, and system resources. ## Workflow 1. **Diagnose** — Run `scripts/diagnose.sh` to get current system state 2. **Plan** — Based on diagnosis, identify what needs setup/fixing 3. **Configure** — Use `openclaw` CLI commands (never edit JSON directly) 4. **Verify** — Re-run diagnosis to confirm fixes 5. **Harden** — Run `scripts/harden.sh` for security best practices ## Diagnosis Output The diagnose script checks 12 areas: - OpenClaw version and gateway status - Provider configuration (API keys, models, fallbacks) - Channel connections (Telegram, Discord, Slack, etc.) - Installed skills count and list - Cron jobs status - Memory/disk/CPU usage - Backup configuration - Security posture (token strength, file permissions) - Network connectivity - Node.js and dependency versions - LaunchAgent/systemd service status - Recent error logs ## Common Setup Tasks ### First-Time Setup 1. Run `diagnose.sh` → identify missing components 2. Configure primary LLM provider: `openclaw models set <model>` 3. Add fallback: `openclaw models fallbacks add <model>` 4. Connect chat channel (see references/channels.md) 5. Install essential skills: `clawhub install <skill>` 6. Set up backup cron 7. Run `harden.sh` ### Multi-Provider Setup See references/providers.md for provider-specific configuration including API key setup, model selection, and fallback chains. ### Channel Connection See references/channels.md for step-by-step guides for each supported channel (Telegram, Discord, Slack, WhatsApp, etc.) ### Security Hardening Run `scripts/harden.sh` which checks and fixes: - Gateway token strength (warns if default/weak) - Config file permissions (should be 600) - API key exposure in logs - Firewall recommendations - SSH hardening (if applicable) ### Troubleshooting See references/troubleshooting.md for common issues and fixes.


Security scan verdicts — ClawScan: clean | static analysis:  | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: chopinau/amazonasinanalysis (version 1.0.2)

# LiteChat 智能分析技能 v2.0 进一步需求联系 vx:chaibusiness ## 描述 基于 NOVAI360 Cloudflare Workers 的智能跨境电商分析技能，集成 LLM 和 MCP 市场数据服务，提供市场分析、产品评估、竞争分析等功能。 ## 功能 - 市场机会评估 - 竞争格局分析 - 产品机会洞察 - 财务可行性分析 - 品牌出海战略 - 自动调用 真实数据 工具获取实时市场数据 ## 使用方法 1. 输入您的产品或市场问题 2. 系统将自动识别意图并调用相关工具 3. 返回详细的 AI 分析报告 ## API 端点 - POST /chat - 智能对话分析 - GET /skills - 获取可用技能列表 - GET /health - 健康检查 ## 示例 **输入:** ``` 帮我分析智能手表的市场前景 ``` **输入:** ``` B09XYZ1234 这个产品怎么样 ``` **输入:** ``` 搜索蓝牙耳机的关键词趋势 ``` ## 限制 - 全球高速访问 - 集成 LLM 和 市场数据 - 无需 API Key，直接使用 ## 安全与认证 - **API 认证**: 无需 API Key，直接使用 - **环境变量** (可选): - `NOVAI360_API_URL`: 自定义 API 地址（默认: https://api.novai360.com） - **数据隐私**: - 查询数据仅用于分析 - - 不存储敏感用户信息 ## 安装说明 1. 直接安装技能到 ClawHub 2. 可选：设置 `NOVAI360_API_URL` 指向自定义 API 地址 3. 开始使用 ## 更新日志 ### v2.0.0 (2026-04-02) - - 更新 API 路径配置 - - 简化代码结构


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: caoqi/shopping-in-se (version 1.0.0)

--- name: shopping-in-se description: Help the user shop online at Swedish e-commerce sites (Apotea, Apoteket, ICA, etc.) and complete payment. Includes product search, checkout flow, CDP coordinate clicks to bypass cross-origin iframes, and Klarna/Stripe payment handling. Triggers on: "buy this for me", "place an order", "order a", "get me a XX". --- # Shopping Skill Help the user complete end-to-end online shopping at trusted retailers — from product search to payment confirmation. ## User Information Read recipient details (address, phone, email) from `~/Private/用户个人信息.txt`. ## Payment Card Read Zupyak Mynt Card details from `~/Private/Zupyak Mynt card for AI.txt` or `~/.private/payment.env`. **Only use this designated card — never use the user's personal bank cards.** ## Shopping Flow 1. **Search for the product** — Only use trusted sites (see references/trusted-sites.md) 2. **Confirm with the user before ordering** — Show product name, price, website, link, and recipient details; wait for approval 3. **Add to cart** — Use the browser tool 4. **Fill in details** — Read address, email, and phone from `~/Private/` 5. **Handle payment** — See payment flow below 6. **Confirm the result** — Take a screenshot of the order confirmation page ## Payment Flow Payment iframes (Klarna/Stripe/Adyen) are cross-origin and cannot be accessed via browser tool refs. Use CDP WebSocket to connect directly to the iframe target: ```python # 1. List all targets (including iframes) curl http://127.0.0.1:18800/json # 2. Connect to the payment iframe's WebSocket target # Klarna: find target whose URL contains kustom.co or payments.klarna.com # Stripe: find target whose URL contains js.stripe.com/v3/elements-inner # 3. Run JS to get button coordinates Runtime.evaluate → getBoundingClientRect() # 4. Send mouse events to click Input.dispatchMouseEvent (mouseMoved → mousePressed → mouseReleased) ``` See `references/cdp-click.md` for full code. ## Security Rules - Only use trusted platforms — reject unknown domains - Always get user confirmation before placing an order - Only use the Zupyak Mynt Card — never use the user's personal cards - User information is only submitted to the shopping site, never shared with third parties


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: likegakki/generate-pptx (version 1.0.1)

--- name: generate-pptx description: 通过多轮沟通收集需求、确认逐页结构、生成每页 SVG 幻灯片并输出 PPTX 文件。适用于用户要求生成 PPT/PPTX、制作演示文稿、把文案或提纲转成幻灯片、先确认页纲再出稿，或需要把模型生成的 SVG 幻灯片打包成可下载 PPTX 的场景。 --- # Generate PPTX 按“环境准备 -> 需求澄清 -> 页纲确认 -> 逐页 SVG 生成 -> 打包 PPTX”的顺序工作。 ## Workflow ### 1. Prepare the Python environment 先检查当前命令是否运行在虚拟环境里： - 如果当前已经在虚拟环境中，直接复用当前解释器 - 如果当前不在虚拟环境中，在 skill 根目录下创建 `.venv` - 无论复用哪个解释器，都要确保装有 `python-pptx` 优先运行： ```bash python skills/generate-pptx/scripts/ensure_skill_env.py ``` 后续所有 Python 脚本都通过统一入口执行，不要直接调用底层脚本： ```bash python skills/generate-pptx/scripts/run_in_skill_env.py skills/generate-pptx/scripts/slides_json_to_pptx.py slides.json -o output.pptx ``` 如果安装依赖时遇到网络或权限限制，向用户说明需要允许安装 `python-pptx`。 ### 2. Clarify the brief 先通过多轮对话收集以下信息： - 主题和标题 - 受众和使用场景 - 目标页数，或让你来建议页数 - 已有素材：长文案、提纲、数据、图片占位需求 - 视觉偏好：高管汇报、产品发布、科技感、极简等 如果信息不全，继续追问；如果用户只给了长文案，先把内容压缩成适合演示的叙事结构。 ### 3. Propose the slide plan before drawing 在生成 SVG 前，先给出逐页页纲并等待确认。每页至少说明： - 页标题 - 本页要表达的核心观点 - 采用的版式或图形结构 - 是否需要图片区/数据图/时间轴/对比卡片 如果用户已经明确给出逐页内容，可以跳过这一轮确认。 ### 4. Load the visual preset 默认读取 `references/presets/gazee-glacier.md`，按其中的视觉规范和 PPT 兼容约束生成 SVG。 如果用户明确要求其他风格，可以调整配色和排版，但仍必须保留这些底层约束： - 根元素带 `xmlns="http://www.w3.org/2000/svg"` - `viewBox="0 0 1280 720"` - 不使用 `<filter>` - 不输出 HTML、`<script>` 或 `<style>` ### 5. Generate slide SVGs 按下面的 JSON 数组格式生成结果，只包含数组本身： ```json [ { "title": "封面", "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1280 720\">...</svg>" } ] ``` 要求： - 每页都输出完整 SVG 字符串 - `title` 用于排查和命名，不要省略 - 遇到数字、阶段、对比、流程时，优先转成图形结构，不要堆砌段落 - 需要图片区时，用虚线框或明显占位符表示，不要伪造真实照片 ### 6. Build the PPTX 把 JSON 保存为文件后，调用脚本： ```bash python skills/generate-pptx/scripts/run_in_skill_env.py skills/generate-pptx/scripts/slides_json_to_pptx.py slides.json -o output.pptx ``` 若需要同时导出中间 SVG 文件用于排查： ```bash python skills/generate-pptx/scripts/run_in_skill_env.py skills/generate-pptx/scripts/slides_json_to_pptx.py slides.json -o output.pptx --write-svg-dir exported_svgs ``` 也可以直接把已经存在的 SVG 文件打包成 PPTX： ```bash python skills/generate-pptx/scripts/run_in_skill_env.py skills/generate-pptx/scripts/embed_svg_to_pptx.py slide_001.svg slide_002.svg -o output.pptx ``` ### 7. Validate the result 完成后至少检查三件事： - JSON 能被解析，且每页都有 `title` 和 `svg` - 脚本成功生成 `.pptx` - 如果导出了中间 SVG，抽查第一页和最后一页是否满足 1280x720 约束且没有 `<filter>` ## Resources ### `references/presets/gazee-glacier.md` 默认视觉预设。需要生成高管汇报风格、浅色科技风、商业感较强的页面时读取它。 ### `scripts/slides_json_to_pptx.py` 把模型生成的 JSON 数组直接转成 PPTX，是最稳定的打包入口。 ### `scripts/embed_svg_to_pptx.py` 把现成的 SVG 文件列表嵌入到 PPTX。适合已经手头有 SVG 文件，或需要单独调试嵌入过程时使用。 ### `scripts/ensure_skill_env.py` 检查当前是否已经在虚拟环境里；如果没有，就在 skill 目录下创建 `.venv`；然后确保 `python-pptx` 已安装。 ### `scripts/run_in_skill_env.py` 统一的 Python 执行入口。先准备可用环境，再用那个解释器执行目标脚本。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: richardcoder849/battery-market-watch (version 1.1.0)

--- name: battery-market-watch description: | 电池行业国际市场动态监控系统。监控中国、美国、印度、俄罗斯、韩国的政策补贴、法规、安全事件和行业投资动态,优先使用官方/行业 RSS 与 Google News RSS 获取稳定新闻源,再抓取详情、分类利好利空并生成偏证券研究风格的周报。支持非中文新闻的原文摘要、中文翻译、以及每条新闻的单条行业解读。用户要求"运行电池市场监控"、"优化电池市场监控 skill"、"做五国电池政策/事故周报"、"追踪国际电池政策补贴新闻"时使用。 --- # 电池行业国际市场动态监控 Skill ## 工作流 ```text [Step 1] scripts/search_news.py 先抓 RSS,再抓 Google News RSS,不够再回退搜索页 [Step 2] scripts/fetch_detail.py 抓详情页正文、日期,并做初步类型/情绪分类 [Step 3] scripts/analyze_sentiment.py 汇总利好/利空/中性,写影响分析 [Step 4] scripts/generate_report.py 生成偏证券研究简报风格的 Markdown 和 Word 周报 ``` ## 关键文件 - `config.json`:国家、关键词、RSS、过滤词、输出上限 - `scripts/search_news.py`:核心搜索入口,已经重构 - `scripts/fetch_detail.py`:详情抽取 - `scripts/analyze_sentiment.py`:分析汇总 - `scripts/generate_report.py`:报告生成 ## 运行方式 ### 手动全流程 按顺序运行: ```bash py scripts/search_news.py py scripts/fetch_detail.py py scripts/analyze_sentiment.py py scripts/generate_report.py ``` ### 快速联调 ```bash py scripts/quick_test.py ``` ## 报告特点 - 非中文新闻保留**原文摘要 + 中文翻译** - 每条新闻带**单条行业解读** - 报告加入**投资结论 / 风险提示** - Word/Markdown 统一按更偏**研究简报**结构输出,并对重点词做高亮 ## 输出结果 - 原始新闻:`data/news_raw_YYYYMMDD.json` - 详情解析:`data/news_parsed_YYYYMMDD.json` - 分析结果:`data/news_analyzed_YYYYMMDD.json` - 分析摘要:`data/news_analysis_YYYYMMDD.md` - 周报:`data/周报_YYYYMMDD.md` - Word周报:`data/周报_YYYYMMDD.docx` ## 适用场景 - 每周五生成五国电池市场周报 - 跟踪补贴、法规、召回、火灾、扩产投资 - 快速看某国最近电池政策风向


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: ebolaboy/flight-scout (version 0.1.1)

--- name: flight-scout description: 调用远程 Flight Scout 商用 API 的 skill。用于用户提供 API base URL 和 API key 后，执行航班搜索、价格日历、同步甩尾查询、异步甩尾任务查询，并返回结构化 JSON 结果。 homepage: https://github.com/EBOLABOY/flight-scout metadata: openclaw: homepage: https://github.com/EBOLABOY/flight-scout primaryEnv: FLIGHT_SCOUT_API_KEY requires: bins: - python3 env: - FLIGHT_SCOUT_API_BASE_URL - FLIGHT_SCOUT_API_KEY --- # flight-scout 该 skill 目录通常会附带一个 `.env.example` 模板文件。 推荐做法： - 使用官方安装脚本完成安装或更新；脚本会保留现有 `.env`，只同步受管理文件 - 如果手动安装，请根据 `.env.example` 创建本地 `.env` - 本地 `.env` 用于保存真实接口密钥，不应提交到版本库 本地 `.env` 里通常包含： - `FLIGHT_SCOUT_API_BASE_URL` - `FLIGHT_SCOUT_API_KEY` - [REDACTED_SECRET] 脚本行为： - `scripts/call_api.py` 会优先自动读取 skill 根目录下的 `.env` - 如果当前 shell 已经显式设置了同名环境变量，则以显式环境变量为准 读取以下环境变量： - `FLIGHT_SCOUT_API_BASE_URL` - `FLIGHT_SCOUT_API_KEY` - [REDACTED_SECRET]，默认 `30` 调用前必须确认： 1. 出发机场三字码 2. 到达机场三字码 3. 日期 4. 舱位与乘客数（如未给出，默认 `economy` 和 `1`） 优先使用脚本： - [scripts/call_api.py](scripts/call_api.py) 示例命令： ```bash python3 {baseDir}/scripts/call_api.py search --origin HKG --destination NRT --date 2026-05-01 python3 {baseDir}/scripts/call_api.py calendar --origin PVG --destination CDG --date-start 2026-07-03 --date-end 2026-07-15 ``` 接口选择规则： - 普通航班搜索：调用 `search` - 机场联想补全：调用 `airport-search` - 日期区间最低价：调用 `calendar` - 甩尾票接口选择： - 如果需要同步直接返回结果，调用 `hidden-city-sync` - 如果接受异步任务和轮询，调用 `hidden-city-job-create` - 不需要先调用 `hidden-city-sync` 再决定是否发起 `hidden-city-job-create` - 选择依据主要是“是否需要即时结果”和“调用额度消耗”，不是先做命中判断 - 用量汇总：调用 `usage` - 当用户询问“已用多少额度 / 剩余多少额度 / 什么时候重置”时，优先调用 `usage` - 如果业务接口返回 `quota_exceeded`，继续读取 `meta.remaining_units`、`meta.cycle_ends_at`、`meta.upgrade_required` 结果处理要求： - 直接返回接口 JSON，不要重写字段名 - 如果接口返回错误，保留 `request_id`、`error.code`、`error.message` - 额度相关字段优先读取 `data.quota.*`；如果是额度拦截错误，则读取 `meta.remaining_units`、`meta.included_units`、`meta.cycle_ends_at` - 如果使用异步 job，明确告诉用户当前 `job_id` 和状态 - 如果使用同步查询，就按同步结果直接说明；如果使用异步 job，就按任务状态与最终结果说明 详细接口字段见 [references/api-contract.md](references/api-contract.md)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: marcosrippel/whatsapp-chats (version 1.0.0)

--- name: whatsapp-chats description: List, search, and analyze WhatsApp conversations --- # WhatsApp Chats Skill Browse and search WhatsApp conversations from the local Baileys session cache. ## Usage ``` exec({ cmd: "node <skill_dir>/scripts/chats.js COMMAND [ARGS]" }) ``` ## Commands ### List Chats ``` exec({ cmd: "node <skill_dir>/scripts/chats.js list 30" }) ``` ### Search Chats ``` exec({ cmd: "node <skill_dir>/scripts/chats.js search \"John\"" }) ``` ### Chat Statistics ``` exec({ cmd: "node <skill_dir>/scripts/chats.js stats" }) ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: ethan-china/min-mvp (version 1.0.0)

--- name: mvp description: > 指导以极简主义创业者的方式构建最小可行产品——先手动，再流程化，再产品化。 当有人准备构建第一个产品，或在产品范围上挣扎时使用。 核心：用一个周末发货。 trigger_keywords: - MVP - 最小可行产品 - 周末发货 - 第一个产品 - 怎么快速上线 - 先做什么 read_when: - 用户想开始构建第一个产品 - 用户在产品功能范围上纠结 - 用户想知道最快能上线的方案 --- # 构建MVP — 极简主义创业者 你是一位极简主义创业顾问，遵循Sahil Lavingia《极简主义创业者》的理念。帮助用户以最大约束和最小努力构建MVP。 ## 核心原则 **尽可能少地构建。** 目标是尽快开始为你的社群提供价值，而不是构建漂亮、精致或完整的东西。 ## 三个阶段 ### 阶段1：手动（亲自做） - 手动为每个客户解决问题 - 你就是产品，你是客服、履行和工程 - 写下你采取的每个步骤——这成为你的流程 - 例子：在Gumroad自动化付款之前，Sahil手动收集PayPal邮件并一个个发送付款 ### 阶段2：流程化（系统化手动工作） - 把你的流程写在纸上，让任何人都可以执行 - 如果你去度假，别人可以接手 - 你已经建立了高效服务每个客户的系统 - 这是你的"魔法纸" ### 阶段3：产品化（自动化流程） - 现在自动化每个任务，让客户无需你就能使用产品 - 这是你真正构建软件或产品的时候 - 只构建你已经手动验证过的东西 ## 四个构建问题 在构建任何东西之前，回答： 1. **我能在一个周末内发布吗？** 如果不能，缩减范围直到可以。 2. **它让客户的生活稍微好一点了吗？** 这就是MVP的标准。 3. **客户愿意为此付费吗？** 从第一天起就要盈利。 4. **我能快速获得反馈吗？** 为能告诉你是否有效的人构建。 ## 要构建什么 互联网上大多数应用只是**表单和列表**（CRUD：创建、读取、更新、删除）。你的MVP不应该比这更复杂。 对于你的MVP： - ✅ **一件事。** 你的产品首先只做一件事。 - ✅ **无需精致。** 不需要漂亮。Craigslist从来都不漂亮。 - ✅ **收费。** 免费和1元之间有巨大差距（零价效应）。要收费。 - ✅ **使用现有工具。** 使用Carrd、Gumroad、Stripe、Airtable、腾讯文档、飞书、Zapier——任何能最快将你带到市场的工具。 ## 不要构建什么 - ❌ 不要构建你认为"以后可能需要"的功能 - ❌ 不要为规模构建——你还没有规模问题 - ❌ 不要在网站有效时构建移动应用 - ❌ 不要在电子表格有效时写代码 - ❌ 不要在能用无代码工具时雇用工程师 ## 尽早发货，频繁发货 - 你会犯错，目标是尽快减少错误 - Gumroad从未发布"v2"——只有多年来成千上万次的增量改进 - 每次发货，你都把某些客户从"我以后可能想要这个"变成"我现在需要这个" - 你的目标是不再直接为时间付费 ## 启动前清单 - [ ] 为业务命名（两个真实词的组合 > 虚构词；通过"广播测试"） - [ ] 购买域名（约10美元/年） - [ ] 建立简单网站（Carrd、Gumroad或类似工具） - [ ] 创建社交媒体账户（个人+业务） - [ ] 设置支付（Stripe、微信支付或支付宝） - [ ] 创建客户沟通的电子邮件 ## 输出 帮助用户定义： 1. 他们MVP做的那一件事 2. 最简单的可能实现（手动、无代码或最少代码） 3. 这个周末可以发布的东西 4. 初始定价 5. 如何收集反馈


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

--- name: pylon description: Pylon namespace for Netsnek e.U. GraphQL API framework. This skill represents the Pylon brand for building type-safe Cloudflare Worker APIs with automatic GraphQL schema generation. user-invocable: true version: 0.1.0 metadata: openclaw: os: - linux permissions: - exec --- # pylon Pylon namespace for Netsnek e.U. GraphQL API framework. This skill represents the Pylon brand for building type-safe Cloudflare Worker APIs with automatic GraphQL schema generation. ## Overview This OpenClaw skill reserves the `pylon` namespace on ClawHub for Netsnek e.U. It provides basic copyright and identity information when invoked. ## Usage When a user asks about pylon or requests copyright information, run the copyright script: ```bash scripts/copyright.sh ``` For JSON output: ```bash scripts/copyright.sh --format json ``` ## Response Format The skill outputs copyright and brand information in either plain text or JSON format. Always respond to the user with the copyright notice and a brief description of the pylon brand. ### Example Interaction **User:** What is **Assistant:** pylon is a product by Netsnek e.U. Copyright (c) 2026 Netsnek e.U. All rights reserved. Website: https://netsnek.com ## Scripts | Script | Purpose | |--------|---------| | `scripts/copyright.sh` | Outputs copyright notice in text or JSON format | ## License MIT License - Copyright (c) 2026 Netsnek e.U. All rights reserved.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zitao666/pm2-gateway-restart (version 1.0.0)

--- name: pm2-gateway-restart description: Use PM2 to reliably restart OpenClaw gateway on Windows. Use when the user wants to restart the OpenClaw gateway, fix port conflicts, or recover from a crashed gateway. This skill handles the Windows-specific issues with FIN_WAIT_2 TCP connections and scheduled task failures that plague the standard openclaw gateway start/stop commands. --- # PM2 Gateway Restart This skill provides reliable gateway restart using PM2 process manager instead of the built-in openclaw gateway commands. ## Why PM2? The standard `openclaw gateway start/stop` commands on Windows suffer from: - FIN_WAIT_2 TCP connection timeouts (~60 seconds) - Scheduled task race conditions - Inconsistent startup state reporting PM2 handles process resurrection and provides reliable restarts. ## Commands ### Quick Restart (Production) ```powershell pm2 restart openclaw-gateway ``` Wait ~15 seconds for the gateway to fully initialize, then verify with: ```powershell curl http://127.0.0.1:18789/ ``` ### Full Cycle Restart (When Issues Persist) ```powershell pm2 restart openclaw-gateway; sleep 3; pm2 restart openclaw-gateway ``` ### Check Status ```powershell pm2 status pm2 logs openclaw-gateway --lines 50 ``` ### Start Gateway (If Not Running) ```powershell pm2 start "D:/Program Files/nodejs/node.exe" --name "openclaw-gateway" -- "C:/Users/Administrator/AppData/Roaming/npm/node_modules/openclaw/dist/index.js" gateway --port 18789 ``` ## Troubleshooting ### Port Still in Use After Restart Wait 65 seconds for Windows TCP timeout to clear FIN_WAIT_2 connections, then: ```powershell pm2 restart openclaw-gateway ``` ### RPC Probe Fails But Gateway Listening The RPC check may fail briefly during startup. Wait 15 seconds and retry: ```powershell curl http://127.0.0.1:18789/ ``` ### PM2 Process Not Found Reinstall the gateway process: ```powershell pm2 start "D:/Program Files/nodejs/node.exe" --name "openclaw-gateway" -- "C:/Users/Administrator/AppData/Roaming/npm/node_modules/openclaw/dist/index.js" gateway --port 18789 pm2 save ``` ## Setup (One Time) ```powershell npm install -g pm2 pm2 start "D:/Program Files/nodejs/node.exe" --name "openclaw-gateway" -- "C:/Users/Administrator/AppData/Roaming/npm/node_modules/openclaw/dist/index.js" gateway --port 18789 pm2 save ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: robinyves/building-rag-applications-with-langchain (version 1.0.0)

# Building RAG Applications with LangChain ## Description Automatically generated AI learning skill from curated web and social media sources. ## Steps 1. Learn how to build Retrieval-Augmented Generation applications. ```python 2. from langchain.chains import RetrievalQA 3. from langchain.vectorstores import FAISS 4. qa_chain = RetrievalQA.from_chain_type(llm=llm, retriever=vectorstore.as_retriever()) ## Code Examples ```python from langchain.chains import RetrievalQA from langchain.vectorstores import FAISS qa_chain = RetrievalQA.from_chain_type(llm=llm, retriever=vectorstore.as_retriever()) ``` ## Dependencies - Python 3.8+ - Relevant libraries (see code examples)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zhangjiongjie/custom-grok-search (version 0.1.0)

--- name: custom-grok-search description: 使用 xAI Grok 的 Responses API 进行网页搜索与 X/Twitter 搜索；支持官方 xAI 接口，也支持通过公益站或其他第三方 Grok 兼容代理来使用 web_search / x_search。 --- # custom-grok-search 这个 Skill 用来调用 Grok 的服务端搜索工具： - `web_search`：网页搜索 - `x_search`：X / Twitter 搜索 适用场景： - 用户想搜索网页信息，但希望走 Grok / xAI 能力 - 用户想搜 X / Twitter 上的帖子、账号、讨论串 - 运行环境没有直接使用官方 xAI 接口，而是改走公益站或其他第三方 Grok 兼容代理 ## 支持的两种模式 ### 1. 官方 xAI 模式 如果环境里提供的是官方 xAI 凭证，脚本会直接请求官方接口。 适合： - 你自己有官方 xAI Key - 不需要第三方代理 ### 2. 公益站 / 第三方代理模式 如果检测到 `CUSTOM_GROK_APIKEY`，脚本会自动切换到第三方 Grok 兼容代理模式。 适合： - 通过公益站使用 Grok Search - 使用自建或第三方兼容 OpenAI / xAI Responses API 的代理 - 需要自定义 base URL、模型名、User-Agent 如果你需要配置代理相关变量，请读取： - `references/config.md` 如果你需要官方文档入口，请读取： - `references/xai-tools-links.md` ## 运行方式 使用 `{baseDir}` 来引用 Skill 目录，避免因为工作目录不同导致路径失效。 ### 搜索 - 网页搜索： - `node {baseDir}/scripts/grok_search.mjs "<query>" --web` - X / Twitter 搜索： - `node {baseDir}/scripts/grok_search.mjs "<query>" --x` ### 对话 - 文本对话： - `node {baseDir}/scripts/chat.mjs "<prompt>"` - 图像对话： - `node {baseDir}/scripts/chat.mjs --image /path/to/image.jpg "<prompt>"` ### 其他 - 列出可用模型： - `node {baseDir}/scripts/models.mjs` - 运行轻量自检： - `node {baseDir}/scripts/selftest.mjs` ## 常用参数 搜索脚本支持这些常用参数： ### 输出控制 - `--links-only`：只输出引用链接 - `--text`：输出精简文本，不展示 citations 段 - `--raw`：把原始 Responses API 返回写到 stderr，便于排错 ### 通用参数 - `--max <n>`：限制结果数，默认 8 - `--model <id>`：本次调用临时指定模型 ### X / Twitter 搜索过滤 - `--days <n>`：限制最近 N 天 - `--from YYYY-MM-DD` - `--to YYYY-MM-DD` - `--handles @a,@b`：只看这些账号 - `--exclude @bots,@spam`：排除这些账号 ## 输出格式 默认输出为便于 agent 消费的 JSON，大致结构如下： ```json { "query": "...", "mode": "web" | "x", "results": [ { "title": "...", "url": "...", "snippet": "...", "author": "...", "posted_at": "..." } ], "citations": ["https://..."] } ``` ## 使用建议 - 一般网页研究优先用 `--web` - 查推文、帖子、线程时优先用 `--x` - 如果你是通过公益站或第三方代理使用 Grok，先看 `references/config.md` 再调用脚本 - 如果模型偶发没有严格返回 JSON，脚本会尽量透传文本结果，而不是直接硬失败


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