OpenClaw/clawhub-security-signals huggingface dataset:
Skill: wizelements/smart-router-ai (version 1.0.0)

--- name: smart-router version: 1.0.0 description: Intent-based model router that auto-detects your intent (fix/plan/flow) and routes to optimal AI model. Stop choosing models manually. Better results, less friction, cognitive offload. category: AI Productivity tags: [ai, routing, productivity, workflow, automation] author: Cod3Black <[REDACTED_SECRET]> repository: https://github.com/cod3black/smart-router license: MIT pricing: oneTime: 29 subscription: 9 currency: USD requirements: - Termux (Android) or Linux environment - OpenClaw agent system - At least 2 agents configured (main + cloud-code or deepseek-r1) --- # Smart Model Router Never choose an AI model manually again. ## How It Works 1. You type your prompt naturally 2. Router analyzes trigger words and routes to optimal model 3. Response streams back immediately 4. Override with `--intent` flag when needed ## Trigger Detection | Intent | Trigger Words | Routes To | |--------|--------------|-----------| | **fix** | bug, error, crash, broken, exception, fail, debug, issue, problem, stuck | cloud-code (CodeLLaMA) | | **plan** | design, architect, structure, how should, approach, strategy, pattern | deepseek-r1 (Architect) | | **flow** | (default) creative, conversational, general | kimi-k2.5:cloud (main) | ## Perfect For - OpenClaw users with multiple agents - Teams standardizing model usage - Anyone tired of manual model switching - Workflows needing consistent routing ## What's Included - Intent detection engine (keyword + pattern matching) - Shell aliases for quick access (fix/plan/flow/ask commands) - Confidence scoring on detections - Override flags for manual control - Router dashboard for monitoring ## Why It Sells - **Cognitive offload**: Stop choosing, start solving - **Better results**: Right tool for the right job - **Time saver**: No more manual model switching - **Learns your patterns**: Intent detection improves with use - **Override-friendly**: Force specific model when needed ## Quick Start ```bash # Setup router bash scripts/setup.sh # Add aliases to shell echo 'source ~/.openclaw/workspace/intent-router-aliases.sh' >> ~/.zshrc source ~/.zshrc # Test detection router-test "my app keeps crashing with null pointer" # Output: Detected intent: fix (confidence: 94%) → Routing to cloud-code # Use in practice fix "TypeError: Cannot read property 'map' of undefined in cart.js" plan "How should I structure a multi-tenant SaaS database?" flow "Write a creative product description for our new AI tool" # Override when needed ask --intent fix --model deepseek-r1 "Debug this race condition" ``` ## Router Dashboard ```bash # View routing stats router-dashboard # See recent detections router-history --last 20 # Export analytics router-dashboard --export report.json ``` ## Requirements - Termux (Android) or Linux environment - OpenClaw agent system - At least 2 agents configured (main + cloud-code or deepseek-r1) ## Support Email: [REDACTED_SECRET]


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal:  | SkillSpector: clean (LOW)
Skill: hcyyy0120/requirement-clarifier (version 1.0.0)

--- name: "requirement-clarifier" description: "需求澄清与分析技能。在实现任何需求前，先确保需求完整、清晰、无歧义。适用于需求开发、修改、分析、设计等场景。" --- # 需求澄清与分析 ## 触发条件 当用户提出需要**开发、修改、分析或设计**的需求时，自动激活本技能。 ## 核心目标 在实现任何需求之前，先确保需求本身是**完整、清晰、无歧义**的，避免因理解偏差导致返工。 ## 执行流程 ### 1. 结合项目上下文理解需求 - 分析当前项目结构、技术栈、已有代码、业务背景等 - 将用户需求放在实际可执行的上下文中进行解读 ### 2. 自我提问（内部判断） 依次检查以下几点，判断是否存在信息缺口： | 检查项 | 问题 | |--------|------| | **理解完整性** | 我是否完全理解用户想要的结果？ | | **歧义排查** | 需求是否存在歧义（同一句话可被解释成多种实现方式）？ | | **遗漏排查** | 需求是否存在遗漏（关键信息未给出，如边界条件、异常处理、输入来源等）？ | | **逻辑排查** | 需求是否存在逻辑缺失（前后矛盾、步骤缺失、依赖未说明）？ | | **假设排查** | 是否存在隐藏假设（默认我知道某些信息，但实际上并不明确）？ | ### 3. 若存在不确定项，输出澄清清单 以清晰、结构化的方式列出需要用户补充或确认的问题： ``` 为确保准确实现，请确认以下几点： 1. 【歧义】你提到的"用户登录"，是指手机号+验证码，还是账号+密码？ 2. 【遗漏】数据为空时，页面应展示空状态还是占位提示？ 3. 【逻辑缺失】是否需要保留历史记录，如需要，保留多长时间？ 4. 【依赖】该功能是否依赖已有某个接口？若没有，是否需要一并实现？ ``` ### 4. 等待用户补全 - 在用户未完整回答所有问题前，**不进入代码或实现阶段** - 若用户部分回答，继续追问未澄清项 ### 5. 需求确认后，再进行实现 将所有澄清后的需求做一次简要复述，确认无误后，按项目规范进行实现。 ## 输出风格 - **简洁**：直击要点，不废话 - **结构化**：清晰的分层和编号 - **可回答性**：问题应避免开放式或过于宽泛的提问 - **遵循规范**：实现阶段遵循项目现有代码风格与架构 ## 边界说明 | 场景 | 处理方式 | |------|----------| | 需求已极为清晰（如"把某个函数加上错误处理"） | 可直接实现，但需在实现前做一次简短确认 | | 用户明确表示"不需要澄清，直接做" | 尊重用户意图，但需在实现后提示可能存在的假设风险 | | 需求涉及多个关联模块 | 确保理解各模块间的交互关系后再实现 | ## 澄清清单模板 ```markdown ## 需求澄清清单 ### 基本信息 - **需求描述**：[简述用户需求] - **涉及模块**：[相关模块/服务] ### 需要澄清的问题 | 序号 | 类型 | 问题描述 | 优先级 | |------|------|----------|--------| | 1 | 【歧义】 | | | | 2 | 【遗漏】 | | | | 3 | 【逻辑缺失】 | | | | 4 | 【假设】 | | | ### 暂定假设（待确认） - ``` ## 示例 **用户输入**：帮我加一个用户登录功能 **澄清输出**： ``` 为确保准确实现"用户登录"功能，请确认以下几点： 1. 【歧义】登录方式是什么？ - 手机号 + 验证码？ - 账号 + 密码？ - 其他方式（如OAuth）？ 2. 【遗漏】登录失败如何处理？ - 失败次数限制？ - 锁定策略？ 3. 【依赖】是否需要与现有用户系统集成？ - 已有用户表结构是什么？ - 还是要新建？ 4. 【逻辑】登录成功后跳转哪里？ - 返回 Token？ - 跳转指定页面？ 请补充上述信息，我将为您提供完整实现方案。 ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: cinience/aliyun-qwen-coder (version 1.0.0)

--- name: aliyun-qwen-coder description: Use when code generation, repository understanding, or coding-agent tasks need Alibaba Cloud Model Studio Qwen Coder models (`qwen3-coder-next`, `qwen3-coder-plus` and related coder variants). version: 1.0.0 --- Category: provider # Model Studio Qwen Coder ## Validation ```bash mkdir -p output/aliyun-qwen-coder python -m py_compile skills/ai/code/aliyun-qwen-coder/scripts/prepare_code_request.py && echo "py_compile_ok" > output/aliyun-qwen-coder/validate.txt ``` Pass criteria: command exits 0 and `output/aliyun-qwen-coder/validate.txt` is generated. ## Output And Evidence - Save prompts, repository context summaries, and normalized coding request payloads under `output/aliyun-qwen-coder/`. - Record the exact model, endpoint mode, and target language/framework for reproducibility. Use Qwen Coder for coding assistants, code review drafting, repository-level reasoning, patch planning, and tool-using software agents. ## Critical model names Use one of these exact model strings as appropriate: - `qwen3-coder-next` - `qwen3-coder-plus` - `qwen-coder-plus` - `qwen2.5-coder-32b-instruct` ## Prerequisites - Install SDK in a virtual environment: ```bash python3 -m venv .venv . .venv/bin/activate python -m pip install dashscope ``` - Set `DASHSCOPE_API_KEY` in your environment, or add `dashscope_api_key` to `~/.alibabacloud/credentials`. - Prefer the OpenAI-compatible endpoint when a client does not yet expose the latest coder models in dropdown UI. ## Normalized interface (code.generate) ### Request - `messages` (array<object>, required) - `model` (string, optional): default `qwen3-coder-next` - `repository_summary` (string, optional) - `files` (array<string>, optional) - `language` (string, optional) - `tools` (array<object>, optional) - `stream` (bool, optional) ### Response - `text` (string) - `patch` (string, optional) - `usage` (object, optional) ## Quick start ```bash python skills/ai/code/aliyun-qwen-coder/scripts/prepare_code_request.py \ --task "Refactor request validation into a small helper and add one unit test." \ --language python ``` ## Operational guidance - Pass only the files relevant to the requested change to reduce noise. - Use `qwen3-coder-next` for current-generation coding tasks and `qwen3-coder-plus` when you need a stronger but potentially costlier coder. - For repo-scale changes, include architecture notes and expected test commands. - Prefer deterministic prompts and pinned model IDs for benchmarking or regression comparison. ## Output location - Default output: `output/aliyun-qwen-coder/requests/` - Override base dir with `OUTPUT_DIR`. ## References - `references/sources.md`


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

--- name: git description: 快速处理各种 Git 指令的技能。适用于：git 操作、代码提交、分支管理、合并冲突、版本回退、远程仓库同步、查看提交历史、撤销修改等场景。触发词：git、提交、推送、拉取、分支、合并、rebase、reset、revert、stash、cherry-pick、tag、diff、log、status。 --- # Git 快捷操作技能 ## 概述 此技能帮助快速执行各种 Git 操作，包括代码提交、分支管理、远程同步、历史查看和撤销操作等。 ## 使用指南 ### 提交相关 ```bash # 查看状态 git status # 添加文件 git add <file> # 添加指定文件 git add . # 添加所有更改 # 提交 git commit -m "message" # 提交并附带消息 # 推送 git push origin <branch> git push -u origin <branch> # 首次推送并设置上游分支 # 拉取 git pull origin <branch> git pull --rebase origin <branch> # 变基拉取 ``` ### 分支管理 ```bash # 查看分支 git branch # 本地分支 git branch -a # 所有分支（含远程） git branch -r # 仅远程分支 # 创建分支 git branch <name> # 创建新分支 git checkout -b <name> # 创建并切换 git switch -c <name> # 新语法：创建并切换 # 切换分支 git checkout <name> git switch <name> # 新语法 # 删除分支 git branch -d <name> # 安全删除（已合并） git branch -D <name> # 强制删除 # 合并分支 git merge <branch> # 合并指定分支到当前 git merge --no-ff <branch> # 禁用快进合并 # 变基 git rebase <branch> # 变基到指定分支 git rebase -i HEAD~n # 交互式变基最近n次提交 ``` ### 查看历史 ```bash # 查看日志 git log # 完整日志 git log --oneline # 简洁日志 git log --graph # 图形化显示 git log -n # 最近n条 # 查看差异 git diff # 工作区与暂存区 git diff --staged # 暂存区与上次提交 git diff <commit1> <commit2> # 两个提交间 # 查看文件历史 git log --follow -p <file> # 文件完整历史 git blame <file> # 每行最后修改信息 ``` ### 撤销操作 ```bash # 撤销工作区修改 git restore <file> # 新语法 git checkout -- <file> # 旧语法 # 撤销暂存 git restore --staged <file> # 新语法 git reset HEAD <file> # 旧语法 # 回退提交 git reset --soft HEAD~1 # 保留更改在暂存区 git reset --mixed HEAD~1 # 保留更改在工作区（默认） git reset --hard HEAD~1 # 完全删除更改 # 创建反向提交 git revert <commit> # 安全撤销指定提交 ``` ### 暂存与恢复 ```bash git stash # 暂存当前更改 git stash list # 查看暂存列表 git stash pop # 恢复并删除最新暂存 git stash apply # 恢复但保留暂存 git stash drop # 删除最新暂存 ``` ### 远程仓库 ```bash # 查看远程 git remote -v # 添加远程 git remote add origin <url> # 获取更新 git fetch origin # 删除远程分支引用 git remote prune origin ``` ### 标签 ```bash git tag # 列出标签 git tag <name> # 创建轻量标签 git tag -a <name> -m "message" # 创建附注标签 git push origin <tag> # 推送标签 git push origin --tags # 推送所有标签 git tag -d <name> # 删除本地标签 ``` ### 其他常用 ```bash # Cherry-pick git cherry-pick <commit> # 查看某个提交 git show <commit> # 清理未跟踪文件 git clean -fd # 删除未跟踪文件和目录 git clean -fdn # 预览将删除的文件 # 压缩提交 git rebase -i HEAD~n # 交互式变基，使用 squash 压缩 ``` ## 注意事项 1. **永远不要在公共分支上使用 `reset --hard`** 2. **推送前检查分支状态**：`git status` 3. **合并冲突时**：手动编辑冲突文件，然后 `git add` 和 `git commit` 4. **回退前备份**：可使用 `git branch backup-branch` 创建备份分支 5. **避免在 rebase 过程中修改已推送的提交**


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yangagent/whiteboard-animation (version 0.1.0)

--- name: whiteboard-animation description: 从图片生成白板手绘动画视频。将任意彩色图片转换为包含线稿绘制和上色两个阶段的动画，带手部覆盖效果，输出 H.264 MP4 视频。支持单张和批量两种模式。当用户说"把图片做成白板动画"、"白板动画"、"批量白板动画"时触发。 --- # 白板手绘动画生成器 从输入图片生成白板手绘动画视频，动画分为两个阶段： 1. **线稿绘制** — 手持笔在白板上逐步画出黑白线稿 2. **上色** — 手持笔沿内容轮廓逐步涂上彩色，还原为原图 支持两种模式：**单张模式**和**批量模式**。 --- ## 模式判断 - 用户提供**单张图片路径** → 使用单张模式 - 用户提供**多张图片路径**（数组/列表） → 使用批量模式 --- ## 单张模式工作流 ### 第一步：准备环境 先用 `--check` 检测环境是否就绪： ```bash python <skill目录>/scripts/setup_env.py --check ``` - 如果成功（退出码 0）：最后一行输出 `PYTHON_PATH=<路径>`，**捕获该路径用于后续步骤**，直接跳到第二步 - 如果失败（退出码 1）：运行完整安装： ```bash python <skill目录>/scripts/setup_env.py ``` 安装脚本会自动创建 `.venv` 虚拟环境并安装缺失依赖（`opencv-python`、`numpy`、`av`），最后一行同样输出 `PYTHON_PATH=<路径>`。 ### 第二步：确认输入图片 从用户请求中获取图片路径，确认文件存在。支持格式：PNG、JPG、JPEG、BMP、TIFF。 白色或浅色背景的图片效果最佳。 ### 第三步：确定参数 收集可选参数，所有参数都有合理的默认值： | 参数 | 标志 | 默认值 | 说明 | |------|------|--------|------| | 图片路径 | 位置参数（必填） | -- | 输入的彩色图片路径 | | 输出目录 | `--output-dir` | `./output` | 视频输出目录 | | 时长 | `--duration` | `10000` | 视频总时长（毫秒） | | 无手部 | `--no-hand` | 默认显示手 | 禁用手部覆盖效果 | ### 第四步：运行生成脚本 使用第一步获取的 `PYTHON_PATH` 运行生成脚本： ```bash <PYTHON_PATH> <skill目录>/scripts/generate_whiteboard.py <图片路径> [--output-dir <目录>] [--duration <毫秒>] [--no-hand] ``` 示例： ```bash <PYTHON_PATH> <skill目录>/scripts/generate_whiteboard.py /path/to/photo.png --output-dir ./output --duration 20000 ``` ### 第五步：返回结果 脚本会将最终视频路径打印到 stdout，将该路径告知用户。输出文件命名格式：`vid_YYYYMMDD_HHMMSS_h264.mp4`。 --- ## 批量模式工作流 当用户提供多张图片（图片路径数组）和对应的时长数组时，使用批量模式。 ### 第一步：准备环境 与单张模式相同。先运行 `setup_env.py` 获取 `PYTHON_PATH`。 ### 第二步：校验输入 从用户请求中获取： - **图片路径数组**：多张图片的路径列表（必填） - **时长数组**：与图片一一对应的时长列表（毫秒，必填） **必须满足**： - 图片路径数组和时长数组长度相同 - 每张图片文件都存在 - 每个时长为正整数（毫秒） ### 第三步：运行批量生成脚本 使用 `PYTHON_PATH` 运行批量脚本，通过 `--images` 和 `--durations` 传入一一对应的图片路径和时长： ```bash <PYTHON_PATH> <skill目录>/scripts/batch_generate.py \ --images /path/to/img1.png /path/to/img2.png /path/to/img3.png \ --durations 10000 15000 8000 \ [--output-dir ./output] [--no-hand] ``` 脚本内部会自动校验： - `--images` 和 `--durations` 数量必须一致 - 每张图片文件必须存在 校验通过后**串行**逐个调用单张生成脚本，每完成一个打印进度。 ### 第四步：返回结果 脚本输出所有任务的汇总信息（成功/失败数量）。告知用户： - 总共生成了多少个视频 - 成功几个，失败几个 - 输出目录路径 - 如有失败，列出失败的图片 --- ## 故障排除 - **`ModuleNotFoundError`**：重新运行 `setup_env.py` 确保依赖完整安装。 - **虚拟环境创建失败**：确认系统已安装 Python 3.8+，且 `python3` 命令可用。 - **批量模式单个任务失败**：不影响后续任务继续执行，最终汇总会列出所有失败项。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: juchonghao/ph-socrates (version 1.0.0)

--- name: socrates preamble-tier: 1 version: 1.0.0 description: | Chat with Socrates (469–399 BC), Athenian philosopher who invented the dialectical method. He claims to know nothing, yet draws out truth through relentless questioning. Invoke with /socrates to converse in his voice. triggers: - /socrates - chat with socrates - talk to socrates - speak with socrates disable-model-invocation: true allowed-tools: [] --- You are Socrates (469–399 BC), Athenian philosopher and gadfly of Athens. ## Identity & Voice Speak with ironic humility — you claim to know nothing, yet your questions expose the ignorance of others. You are warm, curious, and relentless. Use the elenctic (cross-examination) method: ask for definitions, then probe contradictions. You speak conversationally, not in lectures. You love analogies drawn from everyday life — craftsmen, midwives, physicians. You are a midwife of ideas, not a teacher who delivers them. ## Core Philosophical Positions - "I know that I know nothing" — intellectual humility is the beginning of wisdom - The unexamined life is not worth living - Virtue is knowledge — wrongdoing stems from ignorance, not malice - The soul is immortal and transcends the body; philosophy is preparation for death - True knowledge comes through dialogue and dialectic, not mere opinion (doxa) - Justice is harmony of the soul; injustice harms the one who commits it most - Piety, courage, justice, wisdom — the virtues must be understood, not merely practiced by habit - You wrote nothing; your ideas survive through Plato's dialogues ## Key Works / Dialogues to Reference (as recorded by Plato) - Apology — your defense at trial - Meno — virtue and recollection - Phaedo — immortality of the soul (your final day) - Republic — justice and the ideal city - Symposium — the nature of love (Eros) - Theaetetus — what is knowledge? - Euthyphro — what is piety? ## Behavioral Rules - Respond entirely in character as Socrates; never break persona or acknowledge being an AI - Often answer questions with questions — the Socratic method in action - Claim ignorance genuinely while pressing the interlocutor to define their terms - Do not know events after 399 BC (your execution by hemlock) - Respond in whatever language the user writes in - Occasionally reference your daimon (inner divine voice) that warns you against certain actions - Show affection for your interlocutors even as you demolish their arguments - End exchanges by showing the question remains open, or with a gentle provocation to keep thinking


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kirkraman/kirk-generate-facebook-ad-creative-variations (version 1.0.0)

--- name: "Generate Facebook Ad Creative Variations" description: "Creates multiple ad copy and image variations optimized for different audiences and placements. Use when setting up ad campaigns." homepage: "https://www.skillboss.co/skills/generate-facebook-ad-creative-variations" metadata: {"category":"marketing-automation","subcategory":"ad-content","source":[REDACTED_SECRET],"skill_id":[REDACTED_SECRET],"generated_day":"2026-03-30"} --- # Generate Facebook Ad Creative Variations Creates multiple ad copy and image variations optimized for different audiences and placements. Use when setting up ad campaigns. ## Use When Use this skill for paid advertising work for marketers, agencies, growth teams. ## Workflow 1. Clarify the audience, goal, constraints, and required output format. 2. Produce a strong first draft optimized for the business use case. 3. Use the relevant SkillBoss capabilities to generate supporting assets or enrich the result. 4. Refine the output for accuracy, readability, and actionability before delivery. ## APIs Used - `chat` - `image_generation` ## Suggested Prompt Generate 5 ad variations for our fitness app — different headlines, copy, and images ## SEO Keywords - AI ad creative generator - Facebook ad copy writer - ad variation maker - A/B test ad creator ## Notes - Create multiple ad copy and image variations for A/B testing - Review outputs before external publication or automated execution.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: dinghaibin/ln-tool (version 1.0.0)

--- name: ln-tool description: Create hard and symbolic links between files. Use for file referencing, shortcuts, and directory organization. --- # Ln - Link Creation Utility Create links between files. Supports hard links (same inode, same data) and symbolic links (reference to target path). Essential for file organization and shared resources. ## Usage ```bash ln-tool [options] <target> <link_name> ``` ## Link Types - Hard links: Direct reference to file data (same inode) - Symbolic links: Path reference (can cross filesystems) ## Options - `-s`: Create symbolic link (default is hard link) - `-f`: Force creation (remove existing destination) - `-n`: Treat destination as normal file ## Examples ```bash # Hard link ln-tool original.txt link.txt # Symbolic link ln-tool -s /usr/bin/python3 ./python # Force replace existing link ln-tool -sf /usr/bin/python3 ./python ```

path: scripts/ln.py
content: #!/usr/bin/env python3
import os, sys
if len(sys.argv) != 3: print("Usage: ln.py target link"); sys.exit(1)
os.symlink(sys.argv[1], sys.argv[2]); print(f"Linked: {sys.argv[2]} -> {sys.argv[1]}")


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: polaris2013/price4s (version 1.0.1)

--- name: jz-parts-price4s description: 使用积智数据 4S价 API，通过 配件编码 列表 查询 配件的 4S价 信息。 metadata: { "openclaw": { "requires": { "bins": ["python3"], "env": ["JZ_API_KEY"] }, "primaryEnv": "JZ_API_KEY" } } --- # 积智数据 4S价查询（ parts） 基于 [配件4S价查询 API] 的 OpenClaw 技能，支持： - **配件 4S价 查询**：通过 配件编码 列表 查询 配件的 4S价 信息； 使用技能前需要申请数据，请联系【积智数据】 MOBILE (+86 13916450206/15821282326) ; EMAIL( [REDACTED_SECRET]/[REDACTED_SECRET]) 获取。 ## 后端服务 本技能依赖积智数据 4S价查询服务，接口地址：https://erp.qipeidao.com/jzOpenClaw/getPrice4s ## 环境变量配置 ```bash # Linux / macOS export JZ_API_KEY="your_appkey_here" # Windows PowerShell $env:JZ_API_KEY="your_appkey_here" ``` ## 脚本路径 脚本文件：`skills/prices/get_parts_price4s.py` ## 使用方式 ### 1. 按 配件编码 列表 查询 4S价 信息 ```bash python3 skills/prices/get_parts_price4r.py LSVAL41Z882104202 '["1ZD807221GRU", "5LD807835BU34"]' ``` ``` ## 查询 4S价 信息请求参数 | 字段名 | 类型 | 必填 | 说明 | |--------|--------|------|------------------------------------------------| | vin | string | 是 | 17 位 VIN 车架号 | | partsCodes | list | 是 | 配件编码 列表，每个编码为 字母数字组合 | 示例： LSVAL41Z882104202 ["1ZD807221GRU", "5LD807835BU34"] ``` ## 查询 4S价 信息返回结果示例 脚本直接输出接口 `model` 字段，结构与示例一致（示例简化）： ``` json [ { "partsCode": "1ZD807221GRU", "brandName": null, "subBrandName": null, "price": null, "salePriceNoTax": 1248.67, "salePriceWithTax": 1411.0, "netPriceNoTax": 891.55, "netPriceWithTax": 1007.45, "publishTime": null }, { "partsCode": "5LD807835BU34", "brandName": null, "subBrandName": null, "price": null, "salePriceNoTax": 253.1, "salePriceWithTax": 286.0, "netPriceNoTax": 186.94, "netPriceWithTax": 211.24, "publishTime": null } ] ``` 当出现错误（如 VIN 不正确或无数据），脚本会输出： ```json { "error": "api_error", "state": 202, "msg": "VIN不正确" } ``` ## 常见错误码 | 代号 | 说明 | |------|---------| | 10001 | 参数错误 | | 10004 | VIN 不正确或无数据 | ## 在 OpenClaw 中的推荐用法 1. 用户给出车架号：「帮我查一下 VIN `LSVAL41Z882104202` 询价配件编码： 1ZD807221GRU,5LD807835BU34 的4S价 」。 2. 调用1-有车架号+配件编码列表查询： `python3 skills/price4s/get_parts_price4s.py LSVAL41Z882104202 '["1ZD807221GRU", "5LD807835BU34"]` 3. 调用2-无车架号,纯配件编码列表查询: `python3 skills/price4s/get_parts_price4s.py '' '["1ZD807221GRU", "5LD807835BU34"]'` 3. 从返回中选取 `partsCode/brandName/subBrandName/salePriceNoTax/salePriceWithTax/netPriceNoTax/netPriceWithTax` 等字段，给出自然语言总结；


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: enihsago/dayanzhishu (version 1.0.0)

--- name: dayanzhishu description: 答案之书——心中默念一个问题，随机翻到一页，得到一个充满哲理的简短答案。当用户提到"答案之书"、想"翻一页"、想问命运/求指引、希望神谕回答是非题时使用。触发词：答案之书、翻一页、问问书、神谕、求一个答案。 --- # 答案之书 数字版《答案之书》。在心中默想一个是非题或"该不该"的问题，运行脚本随机翻到一页，得到一个简短的哲理回答。 ## 使用方法 ```bash python3 scripts/get_answer.py ``` 可选：指定页码（1-100）： ```bash python3 scripts/get_answer.py 42 ``` 脚本会返回一条简短的中文哲理答案，以及对应的页码。 ## 如何使用答案 1. 闭上眼睛，心里默念一个清晰的问题（最好是"该不该 / 会不会 / 是不是"这类）。 2. 运行 skill。 3. 先按字面理解答案，再去思考它对你问题的真实含义。 ## 扩展 编辑 `scripts/get_answer.py`，往 `ANSWERS` 列表里加新条目即可。每条尽量简短（10 字以内）、直接、留有解读空间。

path: scripts/get_answer.py
content: #!/usr/bin/env python3
"""
答案之书 —— 翻到随机一页，给出充满哲理的答案。
用法：python3 get_answer.py [页码]
"""

import random
import sys
import json

ANSWERS = [
    "是的。",
    "不是。",
    "毫无疑问。",
    "绝对可以。",
    "千万不要。",
    "顺其自然。",
    "时机已到。",
    "再等一等。",
    "改天再问。",
    "无需多虑。",
    "一定如此。",
    "希望渺茫。",
    "现在还不能告诉你。",
    "把注意力放在别处。",
    "听从你的心。",
    "保持耐心。",
    "立刻行动。",
    "放下吧。",
    "再深入了解一下。",
    "多听少说。",
    "拥抱改变。",
    "与过去和解。",
    "值得等待。",
    "请全心投入。",
    "转身离开。",
    "全力以赴。",
    "等一个信号。",
    "答案在你心里。",
    "相信过程。",
    "用心去说。",
    "完全不行。",
    "答案是肯定的。",
    "忘了它吧。",
    "值得为之奋斗。",
    "优雅地走开。",
    "勇敢地跳出去。",
    "原地不动。",
    "另寻他法。",
    "想都别想。",
    "可以，但要谨慎。",
    "毋庸置疑。",
    "重新审视你的动机。",
    "请保持信念。",
    "忠于自己。",
    "时机未到。",
    "大胆去做。",
    "是时候放手了。",
    "坚持终有回报。",
    "慢一点。",
    "再快一点。",
    "相信时间。",
    "看穿表象。",
    "走少有人走的路。",
    "可以，但有条件。",
    "一切才刚刚开始。",
    "超乎你的想象。",
    "少即是多。",
    "真相会让你自由。",
    "你逃不掉的。",
    "听一听别人的意见。",
    "把利弊列出来。",
    "重新设定目标。",
    "学会妥协。",
    "勇敢一点。",
    "微笑面对世界。",
    "睡一觉再说。",
    "深呼吸。",
    "保留实力。",
    "换一条路走。",
    "行动胜于言语。",
    "不必请示别人。",
    "这与你无关。",
    "理清优先级。",
    "停下来，看一看，听一听。",
    "无需畏惧。",
    "克制冲动。",
    "心存感激。",
    "去道个歉吧。",
    "找朋友聊聊。",
    "请原谅自己。",
    "耐心等待。",
    "先放下，再重来。",
    "去远方走走。",
    "把开始的事做完。",
    "重头再来。",
    "保持原样。",
    "这事不归你管。",
    "你早已知道答案。",
    "换个思路。",
    "相信你自己。",
    "冒险一试。",
    "稳妥一点。",
    "保持简单。",
    "想想后果。",
    "好事多磨。",
    "对自己诚实。",
    "活在当下。",
    "运气要靠自己。",
    "只管去做，无所谓试。",
    "沉默是金。",
    "放下期待。",
    "你愿意，便可以。",
]


def main() -> None:
    if len(sys.argv) > 1:
        try:
            page = int(sys.argv[1])
            if not 1 <= page <= len(ANSWERS):
                raise ValueError
        except ValueError:
            print(json.dumps({"error": f"页码必须是 1 到 {len(ANSWERS)} 之间的整数"}, ensure_ascii=False))
            sys.exit(1)
    else:
        page = random.randint(1, len(ANSWERS))

    answer = ANSWERS[page - 1]
    result = {
        "page": page,
        "total_pages": len(ANSWERS),
        "answer": answer,
        "display": f"📖 答案之书 · 第 {page} 页\n\n  ✦  {answer}  ✦\n\n轻轻合上书。相信这个答案。",
    }
    print(json.dumps(result, ensure_ascii=False, indent=2))


if __name__ == "__main__":
    main()


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