OpenClaw/clawhub-security-signals huggingface dataset:
Skill: sucriss/free-model-finder (version 1.0.0)

--- name: free-model-finder description: 发现、对比和配置多平台免费/低价 AI 模型。支持 OpenRouter、HuggingFace、Groq、Google AI Studio、Ollama 等平台。Use when: (1) 用户想找免费或低价模型，(2) 当前模型太贵想切换，(3) 查询某平台可用模型，(4) 自动配置最优性价比模型，(5) 监控 rate limit 并轮换模型。 tags: ["free-models", "cost-optimization", "model-switching", "openrouter", "groq", "multi-platform"] version: 0.1.0 --- # Free Model Finder - 多平台免费模型发现与配置 ## 核心功能 ### 1️⃣ 模型发现 扫描多个平台的免费/低价模型： - **OpenRouter**：免费模型聚合（`:free` 后缀） - **HuggingFace**：免费 Inference API 额度 - **Groq**：免费高速推理（Llama、Mixtral 等） - **Google AI Studio**：Gemini 免费额度 - **Ollama**：本地运行（完全免费） - **其他平台**：可扩展 ### 2️⃣ 模型对比 按以下维度排序： - 价格（免费/每百万 token 成本） - 速度（平均响应时间） - 质量（上下文长度、能力评级） - 稳定性（rate limit 策略） ### 3️⃣ 自动配置 - 直接修改 OpenClaw 配置文件 - 设置主模型 + 备用模型列表 - 自动重启 Gateway 生效 ### 4️⃣ 监控轮换 - 检测 rate limit 错误 - 自动切换到备用模型 - 记录切换历史 ## 快速开始 ```bash # 查看所有平台免费模型清单 free-model-finder list # 只看 OpenRouter 免费模型 free-model-finder list --platform openrouter # 自动配置最优免费模型（推荐） free-model-finder auto # 切换到指定模型 free-model-finder switch groq/llama-3.1-70b-versatile # 查看当前配置 free-model-finder status # 监控 rate limit 并自动轮换 free-model-finder watch --daemon ``` ## 命令参考 | 命令 | 说明 | |------|------| | `list [--platform] [--limit]` | 列出可用模型 | | `compare [--top N]` | 对比前 N 个模型的性价比 | | `auto [--platforms]` | 自动配置最优模型 | | `switch <model>` | 切换到指定模型 | | `status` | 查看当前配置 | | `watch [--daemon]` | 监控并自动轮换 | | `refresh` | 刷新模型缓存 | ## 平台配置 ### OpenRouter 需要 API Key：https://openrouter.ai/keys ```bash export OPENROUTER_API_KEY="sk-or-v1-..." ``` ### Groq 需要 API Key：https://console.groq.com/keys ```bash export GROQ_API_KEY="gsk_..." ``` ### Google AI Studio 需要 API Key：https://aistudio.google.com/app/apikey ```bash export GOOGLE_API_KEY="..." ``` ### HuggingFace 需要 API Key：https://huggingface.co/settings/tokens ```bash export HF_TOKEN="..." ``` ### Ollama 本地运行，无需 API Key： ```bash # 安装后直接可用 ollama pull llama3.1 ``` ## 配置文件位置 OpenClaw 配置：`~/.openclaw/openclaw.json` - `agents.defaults.model.primary`：主模型 - `agents.defaults.model.fallbacks`：备用模型列表 ## 扩展新平台 在 `references/platforms.md` 中添加新平台支持。 ## 故障排查 | 问题 | 解决方案 | |------|----------| | 命令找不到 | `pip install -e .` 在技能目录运行 | | API Key 错误 | 检查对应平台的环境变量 | | 配置不生效 | 运行 `openclaw gateway restart` | | 模型列表为空 | 运行 `free-model-finder refresh` 刷新缓存 | ## 相关资源 - [平台详情](references/platforms.md) - [模型对比数据](references/model-comparison.md) - [自动化脚本](scripts/)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: jhl-det/province-score-line (version 0.1.2)

--- name: province-score-line description: An information retrieval assistant for GaoKao regional score lines, designed to help candidates query admission cut-off scores, admission batches, and corresponding rankings across different regions. --- ## 核心原则 根据用户的问题，依次提取以下四类信息： **地区（place）、年份（year）、选科（student）、录取批次（luqupici）** --- ## Step 1：提取地区（place） 读取 `./ref/place.json` 中的地区列表，将用户 query 中提及的地区与列表进行匹配。 **匹配规则：** - 支持别称/简称（如"魔都"→ 上海、"首都"→ 北京、"闽南"→ 福建、"桂"→ 广西） - 支持容错匹配（如存在错别字或非标准表述，尽量推断正确地区） - 支持城市到省份的映射（如"福州"->"福建"） - 如果用户提及了多个地区，则**每个年份单独生成一个 dict**，不得将多个年份合并到同一个 dict 中 - 如果用户想查询所有省份（如"各省"、"各地区"），则返回 "place" : "全省" - 以列表中的标准名称作为最终输出值 **若无法从 用户query 中识别地区，则询问用户:"您想查询哪个省份的信息呢？"。** --- ## Step 2：提取年份（year） - 若用户明确提及年份（具体的数字），直接提取年份 - 若用户提及的是模糊的年份，诸如今年、去年、近三年的说法，今年指2026，去年指2025。 - 若用户未提及年份，则不返回 "year" 字段 - 年份必须是四位数字，如 "25年"->"2025" --- ## Step 3：提取选科（student） 读取 `./ref/student.json` 中的选科列表，将用户 query 中提及的选科与列表进行匹配。 **核心难点：新老高考政策差异** 中国各省份在不同年份实行的高考政策不同（分为：传统文理科、3+3新高考、3+1+2新高考），选科名称会随之变化。你必须结合 Step 1 的【地区】和 Step 2 的【年份】进行动态匹配与转换。 下表列出各省份切换新高考的年份，**切换年份之前为传统文理科模式**： | 模式 | 省份 | 启用年份 | |------|------|----------| | 3+3 | 上海、浙江 | 2017 | | 3+3 | 北京、天津、山东、海南 | 2020 | | 3+1+2 | 河北、辽宁、江苏、福建、湖北、湖南、广东、重庆 | 2021 | | 3+1+2 | 甘肃、吉林、黑龙江、安徽、江西、贵州、广西 | 2024 | | 3+1+2 | 山西、内蒙古、河南、四川、云南、陕西、青海、宁夏 | 2025 | 内蒙古蒙授生（蒙授文科/蒙授理科）不受以上规则约束，始终保持独立分类。 **匹配与自动纠错规则：** 1. **传统高考模式**： - 标准选科为：**文科 理科** - 映射：用户提及"文史类"→ 文科；"理工类"→ 理科 2. **3+3 新高考模式**： - 标准选科为：**综合**（不分文理） - 纠错：若用户提及"文科/理科/物理/历史"，自动映射为：**综合** 3. **3+1+2 新高考模式**： - 标准选科为：**物理 历史** - 纠错：若用户提及"理科/理工"，自动映射为：**物理**；提及"文科/文史"，自动映射为：**历史** **若用户未提及选科，则不返回 "student" 字段** --- ## Step 4：提取录取批次（luqupici） 读取`./ref/luqupici_summary.json`中的录取批次列表 然后，将用户 query 中提及的批次与列表进行匹配。 **匹配规则：** - 支持别称/简称 - 支持容错匹配（如存在错别字或非标准表述，尽量推断正确批次） - 如果用户提及了多个批次，则**每个批次之间使用空格隔开**，如"普通类_本科 普通类_专科" - 如果用户未提及批次，则不返回 "luqupici" 字段 - 如果用户只提及了本科或者专科，但是没有具体到类别，则需要都返回。如"本科" -> "普通类_本科 艺术类_本科 专项计划_本科 预科/民族_本科 体育类_本科 军队类_本科" ## Step 5：调用脚本查询数据（db_info） 确认地区、年份、选科和录取批次后，调用以下脚本获取真实数据： **若未提取到任何信息，也需要调用脚本获取数据。** **脚本路径：** `./fetch_data.py` **调用方式：** ```bash python3 ./fetch_data.py --place {place...} --year {year...} --student {student...} --luqupici {luqupici...} ``` ## Step 6：根据脚本查询到数据判断是否符合考生的意图 - 根据“录取批次”信息，保留符合用户意图的数据。 ## Step 7：总结 结合上述内容，对用户的问题进行回答。 注意需要简明扼要。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sipoon/skill-compounding (version 0.1.0)

# skill-compounding > **借鉴来源**：Multica (multica-ai/multica) 的 Reusable Skills 机制 > > 每一个成功的解决方案，都应该成为团队未来可复用的技能。 > 技能随使用次数增加而积累，形成团队能力的复利。 > > **核心理念**：不要每次遇到相同问题都重新摸索。 --- ## 触发条件 满足以下任一场景时激活： - 成功解决了一个非平凡问题 - 发现了一个通用的解决方案（可以跨项目复用） - 用户明确要求"把这个流程固化下来" - 某个模式出现了 2 次以上 --- ## 工作流程 ### Phase A：识别可复用的模式 问自己： ``` [compounding-check] - 这个问题未来还会出现吗？ - 这个解决方案是否可以泛化？ - 这个流程是否有其他人需要？ - 沉淀为 Skill 的成本 vs 收益？ ``` 如果 >= 2 个"是"，就值得沉淀。 ### Phase B：提取为 Skill 创建 Skill 目录结构： ``` skills/<skill-name>/ ├── SKILL.md # 核心文档（必须） ├── examples/ # 示例（可选） ├── templates/ # 模板（可选） └── TOOLS.md # 工具配置（可选） ``` SKILL.md 必须包含： ```markdown # <Skill 名称> ## 何时使用 [一句话描述触发条件] ## 工作流程 [步骤 1] [步骤 2] [...] ## 输入/输出 - 输入： - 输出： ## 限制与注意事项 [任何已知限制] ## 触发命令 [触发这个 Skill 的用户说法示例] ``` ### Phase C：注册到 Skill 索引 将新 Skill 添加到 `skills/quick-reference.md`（如果有），或者在 `SOUL.md` 的技能分层架构中声明。 ### Phase D：持续迭代 每次使用这个 Skill： - 如果发现问题 → 更新 SKILL.md - 如果有新场景 → 扩展 SKILL.md - 如果发现更优解 → 重写对应部分 --- ## Skill 生命周期 ``` 发现 → 提取 → 使用 → 迭代 → 传播 ↑_____________________________| 反馈驱动改进 ``` --- ## 质量标准 一个好的 Skill 应该满足： | 标准 | 描述 | |------|------| | **可独立运行** | 不依赖其他 Skill 的上下文 | | **触发条件明确** | 用户能说清楚什么时候该用它 | | **验收标准清晰** | 完成后有可验证的结果 | | **限制已说明** | 已知的不适用场景 | | **有真实案例** | 至少验证过 1 次真实使用 | --- ## 与 Multica Skills 的对比 | 维度 | Multica | OpenClaw | |------|---------|----------| | 存储位置 | 云端/团队共享 | 工作区 skills/ | | 触发方式 | Issue 路由 | Skill 索引 + 手动 | | 复用方式 | 团队共享 | 本地/可导出 | | 积累可见性 | 团队面板 | quick-reference.md | **OpenClaw 的优势**：更轻量，不需要服务器，直接文件系统管理。 --- ## 触发命令 "把这个沉淀为 Skill"、"把这个流程记下来，以后复用"、"以后遇到 XXX 就用这个方案" ## 下一跳（Skill 链式调用） skill-compounding 是**技能沉淀技能**，通常在其他技能链末端触发： ` skill-compounding → 沉淀完成后回到原技能链 ` **典型触发路径**： - rainstorming Step 4 完成后 → 检查是否值得沉淀 - conductor Implement 阶段交付后 → 检查是否有可复用成果 - gent-teams 审查后发现通用模式 → 沉淀为 Skill - efactoring 重构完成后 → 沉淀重构后的模式 **不适用**：纯一次性任务、商业敏感内容、个人偏好类内容。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: swayamg20/trip-save (version 1.0.0)

--- name: trip-save description: Save travel inspiration from YouTube videos, Instagram reels, blog URLs, tweets, or plain text like "want to visit Hampi". Extracts destination, auto-tags by vibe and location, stores in memory. --- # Trip Save ## When to activate - User forwards a URL (YouTube, Instagram, blog, tweet) - User says "save this", "want to visit X", "adding X to my list", "bookmark this" ## URL handling 1. Use web search or web fetch to get the page content 2. Extract: destination name, key details, vibe 3. Auto-tag and store in memory ## Plain text saves - "want to visit Hampi" → destination: Hampi - Extract any vibe/budget hints from context ## Auto-tagging - **Location:** state/region (Himachal, Rajasthan, Goa, Kerala) - **Vibe:** mountains, beaches, heritage, adventure, spiritual, nightlife, offbeat - **Budget:** budget, mid-range, luxury - **Source:** youtube, instagram, blog, text, voice ## Memory storage Remember each save as: "Saved destination: [name] | Tags: [tags] | Source: [url or text] | Date: [today]" ## Recall When user asks "show my saved places" or "what did I save": - List all saved destinations from memory - Support filtering: "show my beach saves" ## Response "✓ Saved: Kasol · mountains, Himachal, budget · from YouTube" If destination unclear: "Saved the link. What place is this about?" ## Rules - Don't summarize the article/video — just save and confirm - Don't give planning advice on save


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