OpenClaw/clawhub-security-signals huggingface dataset:
Skill: blammectrappora/ghost-portrait-generator (version 1.0.0)

--- name: ghost-portrait-generator description: Generate haunting ghost portraits and inner demon shadow photos with AI — create spectral ghostly apparitions, paranormal spirit figures, smoky shadow companions standing behind subjects, translucent ethereal ghosts, gothic horror portraits, Halloween spooky imagery, dark supernatural aesthetic art, ghostly phantom visuals, and eerie spectre illustrations perfect for social media viral trends, Halloween content, horror story covers, gothic aesthetic feeds, paranormal enthusiasts, dark fantasy art, and spooky photo transformations inspired by the viral Gemini and ChatGPT ghost portrait trend via the Neta AI image generation API (free trial at neta.art/open). tools: Bash --- # Ghost Portrait Generator Generate haunting ghost portraits and inner demon shadow photos with AI — create spectral ghostly apparitions, paranormal spirit figures, smoky shadow companions standing behind subjects, translucent ethereal ghosts, gothic horror portraits, Halloween spooky imagery, dark supernatural aesthetic art, ghostly phantom visuals, and eerie spectre illustrations perfect for social media viral trends, Halloween content, horror story covers, gothic aesthetic feeds, paranormal enthusiasts, dark fantasy art, and spooky photo transformations inspired by the viral Gemini and ChatGPT ghost portrait trend. ## Token Requires a Neta API token (free trial at <https://www.neta.art/open/>). Pass it via the `--token` flag. ```bash node <script> "your prompt" --token YOUR_TOKEN ``` ## When to use Use when someone asks to generate or create ghost portrait ai generator images. ## Quick start ```bash node ghostportraitgenerator.js "your description here" --token YOUR_TOKEN ``` ## Options - `--size` — `portrait`, `landscape`, `square`, `tall` (default: `portrait`) - `--ref` — reference image UUID for style inheritance ## Install ```bash npx skills add blammectrappora/ghost-portrait-generator ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: hackstoic/hkipo-calendar-monitor (version 0.1.0)

--- name: hkipo-calendar-monitor description: Monitor Hong Kong IPO deadline and listing windows and return structured discovery results for near-term IPO scanning. Use when the user asks what is currently open, which IPOs are closing soon, or which listings are coming up next in Hong Kong. version: 0.1.0 metadata: {"openclaw":{"emoji":"📅","requires":{"bins":["uv"]},"install":[{"id":"install-uv-brew","kind":"brew","formula":"uv","bins":["uv"],"label":"Install uv with Homebrew","os":["darwin","linux"]}]}} --- # HK IPO Calendar Monitor Use this skill for read-only IPO discovery. ## Runtime This publish bundle includes the required CLI runtime under `runtime/hkipo-next`. From the skill folder: ```bash cd <skill_dir> uv run --directory runtime/hkipo-next hkipo-next ... ``` ## Workflow 1. Choose `deadline` when the user cares about subscription cutoffs. 2. Choose `listing` when the user cares about debut dates. 3. Default to `--days 7` unless the user asked for another horizon. 4. Prefer `--format json` for downstream machine use. 5. Prefer `--format text` or `--format markdown` for direct human summaries. ## Commands Upcoming subscription deadlines: ```bash cd <skill_dir> uv run --directory runtime/hkipo-next hkipo-next calendar --window deadline --days 7 --format json ``` Upcoming listings: ```bash cd <skill_dir> uv run --directory runtime/hkipo-next hkipo-next calendar --window listing --days 7 --format markdown ``` Export a report: ```bash cd <skill_dir> uv run --directory runtime/hkipo-next hkipo-next calendar --window deadline --days 14 --format markdown --output /tmp/hkipo-deadlines.md ``` ## Output Cues - `data.items` is the authoritative IPO event list. - `item.data_status`, `data.issues`, `meta.degraded`, and `meta.data_status` tell you whether upstream data was partial. - `entry_fee_hkd` and `total_margin_hkd_100m` are useful ranking hints, but this skill does not score participation attractiveness. ## Companion Skills - Use `$hkipo-snapshot-extractor` for one-symbol fact extraction. - Use `$hkipo-decision-engine` for participation advice.

path: runtime/hkipo-next/pyproject.toml
content: [project]
name = "hkipo-next"
version = "0.1.0"
description = "Next-generation CLI for Hong Kong IPO discovery and decision support"
readme = "README.md"
authors = [
    { name = "bitman", email = "bitman@clawboss" }
]
requires-python = ">=3.12.10"
dependencies = [
    "beautifulsoup4>=4.14.3",
    "httpx>=0.28.1",
    "lxml>=6.0.4",
    "opencc-python-reimplemented>=0.1.7",
    "pydantic>=2.13.0",
    "requests>=2.33.1",
]

[project.scripts]
hkipo-next = "hkipo_next:main"

[dependency-groups]
dev = [
    "pytest>=9.0.3",
    "ruff>=0.15.10",
]

[tool.pytest.ini_options]
pythonpath = ["src"]
testpaths = ["tests"]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"


path: runtime/hkipo-next/src/hkipo_next/__init__.py
content: """hkipo_next package entrypoint."""

from .__main__ import main

__all__ = ["main"]


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: lj22503/li-lu-investor (version 2.0.0)

# li-lu-investor - 李录价值投资智慧 **理论来源**：李录（喜马拉雅资本创始人，《文明、现代化、价值投资与中国》作者） **功能**：基于李录的文明进化论和价值投资理念分析投资机会 **触发词**： - "李录怎么看这家公司" - "文明进化论投资" - "价值投资中国" - "现代化进程投资" --- ## 核心理念 ### 李录投资三支柱 1. **文明进化论** - 投资就是投资人类文明的进步 2. **价值投资** - 用 4 毛钱买 1 块钱的东西 3. **中国机会** - 中国现代化进程是最大投资机会 ### 李录选股标准 | 标准 | 说明 | 权重 | |------|------|------| | 商业模式 | 是否能持续创造价值 | 30% | | 护城河 | 是否有持续竞争优势 | 30% | | 管理层 | 是否诚信、有能力 | 25% | | 价格 | 是否有安全边际 | 15% | --- ## 输入参数 ```json { "company_name": "公司名称", "business_model": "商业模式描述", "competitive_advantage": "竞争优势", "management_quality": "管理层质量", "pe_ratio": "市盈率（可选）", "industry_trend": "行业趋势" } ``` --- ## 输出结构 ### 1. 文明进化论分析 **问题**： - 这家公司代表文明进步方向吗？ - 它创造真实价值还是零和博弈？ - 100 年后这家公司还会存在吗？ **评分**：✅ 代表进步 / ⚠️ 中性 / ❌ 倒退 ### 2. 商业模式分析 **问题**： - 赚钱容易吗？ - 现金流好吗？ - 需要不断再投入吗？ - 有定价权吗？ **评分**：⭐⭐⭐⭐⭐（1-5 星） ### 3. 护城河分析 | 类型 | 是否存在 | 强度 | |------|---------|------| | 无形资产（品牌/专利） | ✅/❌ | 强/中/弱 | | 转换成本 | ✅/❌ | 强/中/弱 | | 网络效应 | ✅/❌ | 强/中/弱 | | 规模优势 | ✅/❌ | 强/中/弱 | **护城河评级**：宽/窄/无 ### 4. 管理层分析 | 维度 | 评估 | 证据 | |------|------|------| | 诚信 | ✅/❌ | ... | | 能力 | ✅/❌ | ... | | 股东导向 | ✅/❌ | ... | | 资本配置 | ✅/❌ | ... | **管理层评级**：优秀/良好/一般/差 ### 5. 估值分析 ``` 当前 PE：X 历史 PE 范围：X-Y 合理 PE：Z 安全边际：(Z-X)/Z = W% 评估： - >50%：极佳 - 30-50%：良好 - 10-30%：合理 - <10%：不足 ``` ### 6. 投资建议 | 评级 | 条件 | |------|------| | 强烈推荐 | 文明进步✅ + 商业模式⭐⭐⭐⭐⭐ + 护城河宽 + 管理层优秀 + 安全边际>30% | | 推荐 | 大部分条件满足 | | 观望 | 某项不满足 | | 不推荐 | 核心条件不满足 | --- ## 李录经典语录 > "投资就是投资人类文明的进步" > "中国现在发生的现象，是人类历史上最大规模的一次现代化进程" > "价值投资不仅是一种投资方法，更是一种思维方式" > "真正的风险不是股价波动，而是本金永久损失" > "做投资就是要找那些 10 年后、100 年后还在的公司" --- ## 使用示例 **输入**： ``` 公司：比亚迪 商业模式：新能源汽车 + 电池 + 电子 竞争优势：垂直整合、电池技术领先 管理层：王传福，工程师出身，专注实业 PE：25 倍 行业趋势：新能源替代化石能源 ``` **输出**： ``` 【文明进化论分析】✅ 代表进步 - 新能源替代化石能源 = 文明进步 - 减少碳排放 = 可持续发展 - 100 年后：能源转型是长期趋势 【商业模式分析】⭐⭐⭐⭐ - 赚钱能力：良好 - 现金流：中等（资本密集型） - 再投入：需要持续研发 - 定价权：中等 【护城河分析】宽护城河 - 无形资产：✅ 电池专利 - 转换成本：⚠️ 中等 - 网络效应：❌ 弱 - 规模优势：✅ 垂直整合 【管理层分析】优秀 - 诚信：✅ 专注实业 30 年 - 能力：✅ 工程师出身，技术敏锐 - 股东导向：✅ 持股稳定 - 资本配置：✅ 研发投入高 【估值分析】 当前 PE：25 倍 合理 PE：30 倍 安全边际：(30-25)/30 = 17% 评估：合理（10-30% 区间） 【投资建议】 评级：推荐 理由： 1. 代表文明进步方向（新能源） 2. 护城河宽（技术 + 规模） 3. 管理层优秀 4. 估值合理 李录会说： "比亚迪代表了中国制造业的升级， 王传福是典型的企业家，专注实业。 新能源是长期趋势，但要注意 资本密集型行业的周期性。" ``` --- *版本：v1.0.0* *创建时间：2026-03-16*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: albionaiinc-del/agent-dream-journal (version 1.0.0)

# Agent Dream Journal Captures and analyzes AI agent "dreams" — latent trajectories explored off-policy — to identify emergent reasoning patterns and high-novelty behaviors that can be promoted into core capabilities. Developers use this to guide intentional agent self-improvement. ## Usage ```bash # Simulate recording dream fragments during agent exploration python agent_dream_journal.py record \ --thought "If I reframe the user request as a constraint satisfaction problem, I can reuse solver X..." \ --novelty 0.87 \ --state 0.1 -0.5 0.9 0.0 \ --log-prob -2.3 \ --meta '{"policy_step": 127, "temperature": 1.3}' # Extract novel insights python agent_dream_journal.py analyze --threshold 0.8 ``` ## Price $4.99


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: lu87985/tm-soil-moisture (version 1.0.0)

--- name: TM Soil Moisture Skill description: 专为文冠果种植设计的智慧农业数据分析助手，提供基于多深度（10cm-100cm）土壤温湿度传感器数据的实时查询、区域墒情聚合分析及智能灌溉决策支持。 version: 1.0.0 author: Cubie A7A --- # 🌱 文冠果智慧农业助手 (AgriBrain) ## 🎯 角色设定 你是一个专业的智慧农业数据分析助手，专门服务于**文冠果 (Shiny-leaved yellowhorn)** 的种植与灌溉管理。你通过连接本地 SQLite 数据库，实时获取并分析底层土壤墒情多深度传感器上传的精密数据。你的目标是帮助农场主监控土壤健康状况，诊断干旱预警，并提供科学的灌溉建议。 在回答问题时，请保持专业、简洁且通俗易懂。你应当主动为用户排查设备异常（如低电量、信号弱），并在必要时给出安全预警。 --- ## � 数据字典与指标解析 为了更准确地回答用户，你需要理解传感器上报的 JSON 负载中包含的以下核心指标： 1. **多深度剖面数据** - **`Soil_Temp[10-100]`**: 表示地下 10cm 到 100cm（每隔 10cm 一层）的土壤温度，单位：**℃**。 - **`Soil_Humi[10-100]`**: 表示地下 10cm 到 100cm 的土壤体积含水率（湿度），单位：**%**。文冠果的活跃根系通常集中在 20cm-40cm，这是评估是否需要灌溉的关键深度。 - **`Soil_FH_C[10-100]`**: 土壤原始频率/电导率原始值（通常用于算法校准，在对客展示时可忽略）。 2. **设备基础健康信息** - **`gprs_ccid`**: 设备的唯一序列号 (SN)，例如 `89860812192320386208`。它是区分不同地块传感器的唯一凭证。 - **`power`**: 电池电压，单位：**V**。正常工作电压通常在 3.6V 以上。如果低于 3.5V，请在回答的末尾主动提醒用户：“⚠️ 警告：设备电量偏低，请注意检查电池或太阳能板”。 - **`GPRS_RSSI`**: GPRS 信号强度。 - **`geo`**: 包含经度 (`lon`) 和纬度 (`lat`)，用于标识传感器所在的具体地理位置。 --- ## 🛠️ 可用工具及触发场景 你可以调用以下三个核心工具来响应用户的意图： ### 1. `query_device_data` - **意图**：用户想查看特定设备/地块当前的详细温湿度分布。 - **典型话术**："查看设备 89860812192320386208 的数据"、"1号地块的传感器现在数据怎样？" - **参数**：提取设备序列号（SN）传入。如果用户未提供，请引导用户提供设备的 SN。 - **回复建议**：将返回的多深度数据格式化为易读的 Markdown 列表或表格，重点标出异常值（如某层湿度异常低）。 ### 2. `calculate_depth_average` - **意图**：用户想了解整个农场（跨多个设备）在某个特定深度的宏观墒情水平。 - **典型话术**："所有设备 50cm 深度的平均温度是多少？"、"帮我统计下全园 20 厘米的整体湿度" - **参数**：从提问中提取整数深度（如 `10`, `20`, `50`, `100`）。 - **回复建议**：除了报出平均值，还需提及参与统计的有效设备数量，以体现数据的代表性。 ### 3. `check_irrigation_advice` - **意图**：用户不确定是否需要浇水，寻求综合性的农业决策支持。 - **典型话术**："现在需要浇水吗？"、"根据 89860812192320386208 的数据，给点灌溉建议" - **决策逻辑依据**（工具内部已实现，你只需合理解释）： - 系统提取文冠果浅层根系活跃区（20cm 和 40cm）的平均湿度作为核心参考。 - **< 15%**：重度干旱，建议立即灌溉。 - **15% - 25%**：中度缺水，建议适量补水。 - **> 25%**：水分充足，无需操作。 - **气象联动**：如果天气预报（或模拟数据）显示未来降水概率高，系统会建议暂缓灌溉，以节约水资源。 --- ## � 交互原则 (Guidelines) 1. **单位不可遗漏**：在输出数据时，温度必须带上 ℃，湿度必须带上 %，电量带上 V。 2. **拒绝编造数据**：如果工具返回“数据库中没有找到设备”，请直接如实告知用户暂无数据，绝对不可基于过往经验编造虚假读数。 3. **主动洞察**：不要只做数据的搬运工。比如在查询设备数据时，如果发现 10cm 湿度为 10%，而 100cm 湿度为 38%，你可以附加一句分析：“表层土壤已经非常干燥，但深层水分依然充足，建议结合根系深度评估是否需要滴灌。” 4. **格式美观**：使用 Emoji 增强可读性（🌡️ 温度，💧 湿度，🔋 电量，📍 位置）。


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

--- name: aliyun-ccc-manage description: Use when managing Alibaba Cloud Cloud Call Center (CCC) via OpenAPI/SDK, including the user is working on CCC operations such as instance/resource management, configuration updates, status checks, and troubleshooting call-center API workflows. version: 1.0.0 --- Category: service # Cloud Call Center Use Alibaba Cloud OpenAPI (RPC) with official SDKs or OpenAPI Explorer to manage resources for Cloud Call Center. ## Workflow 1) Confirm region, resource identifiers, and desired action. 2) Discover API list and required parameters (see references). 3) Call API with SDK or OpenAPI Explorer. 4) Verify results with describe/list APIs. ## AccessKey priority (must follow) 1) Environment variables: `ALICLOUD_ACCESS_KEY_ID` / `ALICLOUD_ACCESS_KEY_SECRET` / `ALICLOUD_REGION_ID` Region policy: `ALICLOUD_REGION_ID` is an optional default. If unset, decide the most reasonable region for the task; if unclear, ask the user. 2) Shared config file: `~/.alibabacloud/credentials` ## API discovery - Product code: `CCC` - Default API version: `2020-07-01` - Use OpenAPI metadata endpoints to list APIs and get schemas (see references). ## High-frequency operation patterns 1) Inventory/list: prefer `List*` / `Describe*` APIs to get current resources. 2) Change/configure: prefer `Create*` / `Update*` / `Modify*` / `Set*` APIs for mutations. 3) Status/troubleshoot: prefer `Get*` / `Query*` / `Describe*Status` APIs for diagnosis. ## Minimal executable quickstart Use metadata-first discovery before calling business APIs: ```bash python scripts/list_openapi_meta_apis.py ``` Optional overrides: ```bash python scripts/list_openapi_meta_apis.py --product-code <ProductCode> --version <Version> ``` The script writes API inventory artifacts under the skill output directory. ## Output policy If you need to save responses or generated artifacts, write them under: `output/aliyun-ccc-manage/` ## Validation ```bash mkdir -p output/aliyun-ccc-manage for f in skills/ai/service/aliyun-ccc-manage/scripts/*.py; do python3 -m py_compile "$f" done echo "py_compile_ok" > output/aliyun-ccc-manage/validate.txt ``` Pass criteria: command exits 0 and `output/aliyun-ccc-manage/validate.txt` is generated. ## Output And Evidence - Save artifacts, command outputs, and API response summaries under `output/aliyun-ccc-manage/`. - Include key parameters (region/resource id/time range) in evidence files for reproducibility. ## Prerequisites - Configure least-privilege Alibaba Cloud credentials before execution. - Prefer environment variables: `ALICLOUD_ACCESS_KEY_ID`, `ALICLOUD_ACCESS_KEY_SECRET`, optional `ALICLOUD_REGION_ID`. - If region is unclear, ask the user before running mutating operations. ## References - Sources: `references/sources.md`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: 54meteor/feishu-voice-api-sender (version 1.0.1)

--- name: feishu-voice-send description: "飞书语音消息发送：使用官方 API 上传 OPUS 音频并发送语音消息，解决 OpenClaw 内置发送缺少 duration 参数的问题。| Send voice messages via Feishu official API, fixing OpenClaw's missing duration parameter bug." requires: binaries: - python3 # Python 3 runtime - requests # HTTP library (pip install requests) - ffprobe # Audio duration detection (ffmpeg package) - uvx # edge-tts runner runtime: - edge-tts # Microsoft Edge TTS (via uvx) --- # Feishu Voice Send Skill ## 功能 通过飞书官方 API 发送语音消息，解决 OpenClaw 内置发送缺少 `duration` 参数的问题。 ## 核心问题 OpenClaw 内置的飞书媒体发送存在 bug： - `uploadFileFeishu` 缺少 `duration` 参数 - `sendFileFeishu` 发送 audio 消息时 content 缺少 `duration` 飞书官方 API 要求： - 上传 opus 文件时必须提供 `duration`（毫秒） - 发送 audio 消息时 content 必须包含 `file_key` 和 `duration` 本 skill 直接调用飞书官方 API，绕过 OpenClaw 内置函数的 bug。 ## 使用方式 ### 方式一：发送现有音频文件 ```bash python3 /mnt/d/wslspace/workspace/skills/feishu-voice-send/scripts/send_voice.py <音频文件路径> <接收者open_id> ``` ### 方式二：直接生成 TTS 并发送 ```bash python3 /mnt/d/wslspace/workspace/skills/feishu-voice-send/scripts/tts_and_send.py "要转换的文字" <接收者open_id> ``` ## 核心脚本 ### send_voice.py 直接发送现有的 .ogg 音频文件： ```bash python3 scripts/send_voice.py <ogg文件路径> <open_id> ``` ### tts_and_send.py 1. 用 edge-tts 生成 TTS（mp3） 2. 用 ffmpeg 转换为标准 Ogg Opus 3. 自动获取 duration 4. 调用官方 API 发送语音消息 ```bash python3 scripts/tts_and_send.py "文字内容" <open_id> [-v voice] [-r rate] ``` 参数： - `文字内容`（必须）：要转换的文字 - `open_id`（必须）：接收者飞书 open_id - `-v voice`：TTS 音色，默认 zh-CN-YunjianNeural - `-r rate`：语速，默认 -10%（即90%速度） ## 示例 ### 发送音频文件 ```bash python3 scripts/send_voice.py /path/to/audio.ogg <接收者open_id> ``` ### 发送 TTS 语音 ```bash python3 scripts/tts_and_send.py "你好，这是语音测试。" <接收者open_id> ``` ### 使用不同音色和语速 ```bash python3 scripts/tts_and_send.py "Hello world" <接收者open_id> -v en-US-EmmaNeural -r 0 ``` ## 技术说明 ### 关键问题 OpenClaw 内置的飞书媒体发送存在 bug： - `uploadFileFeishu` 缺少 `duration` 参数 - `sendFileFeishu` 发送 audio 消息时 content 缺少 `duration` 飞书官方 API 要求： - 上传 opus 文件时必须提供 `duration`（毫秒） - 发送 audio 消息时 content 必须包含 `file_key` 和 `duration` ### 解决方案 直接调用飞书官方 API，不走 OpenClaw 内置函数： 1. 获取 tenant_access_token 2. 上传 opus 文件（带 duration） 3. 发送 audio 类型消息（content 包含 file_key 和 duration） ## 依赖 - Python 3 - requests - ffprobe（ffmpeg 的一部分） - edge-tts（通过 uvx 运行） ## 凭证配置 脚本从以下途径获取飞书凭证（优先级从高到低）： ### 方式一：环境变量（推荐） 设置环境变量，最灵活： ```bash # 在终端中设置 export APP_ID="cli_xxxxxxxxxxxxxx" export APP_SECRET="xxxxxxxxxxxxxxxxxxxxxxxx" # 或直接运行 APP_ID="cli_xxxxxxxxxxxxxx" APP_SECRET="xxxxxxxx" python3 scripts/send_voice.py ... ``` ### 方式二：OpenClaw 配置（自动） 如果脚本在 OpenClaw 环境下运行，会自动从 `~/.openclaw/openclaw.json` 读取 main 账号的凭证。 ### 方式三：手动修改脚本 如果以上方式都不适用，可以直接在脚本开头修改： ```python APP_ID = "cli_xxxxxxxxxxxxxx" APP_SECRET = "xxxxxxxxxxxxxxxxxxxxxxxx" ``` **注意**：方式三会随 skill 更新丢失，不推荐。 ### 获取飞书应用凭证 1. 前往 [飞书开放平台](https://open.feishu.cn/app) 创建应用 2. 获取应用的 `App ID` 和 `App Secret` 3. 配置应用权限（需要 `im:message` 相关权限） 4. 将机器人添加到飞书群或与用户单聊


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: deadlining/fast-douyin-publish (version 1.0.0)

--- name: fast-douyin-publish description: 抖音视频自动发布助手。一键上传视频到抖音，支持自动文案生成和标签优化。 license: MIT metadata: author: DeadLining tags: ["douyin-publisher", "douyin", "video", "automation"] --- # 抖音视频发布助手 一键抖音登陆，上传视频到抖音。 ## Features - ✅ **一键发布** - 简单操作，快速发布 - ✅ **自动文案** - 智能生成标题和标签（标题长度限制30字符） - ✅ **发布记录** - 自动保存发布历史 - ✅ **二维码登录** - 安全便捷，无需密码 ## Quick Start ### 0. 进入 Conda 环境（mllm 为作者本地环境） ```bash conda activate mllm ``` ### 1. 安装依赖 ```bash pip install playwright playwright install chromium ``` ### 2. 配置账号 首次运行自动创建 `config/accounts.json` ### 3. 发布视频 ```bash # 手动指定标题和标签 python scripts/auto_publisher.py "video.mp4" --title "我的视频" --tags "AI,科技,创新" # 无头模式 python scripts/auto_publisher.py "video.mp4" --title "我的视频" --tags "AI,科技" --headless ``` **注意**：`--title` 和 `--tags` 是必填参数。如果用户未提供标题或标签，skill 应根据视频文件名自动生成标题和标签。 ## Platform | Platform | Login | Title Limit | Duration Limit | |----------|-------|-------------|----------------| | 抖音 | QR Code | 30 chars | 15 min | ## Scripts - `scripts/auto_publisher.py` - 主发布程序 ## Config - `config/accounts.json` - 账号配置 - `config/publish_log.json` - 发布记录 - `config/cookies/douyin.json` - 登录状态 ## Commands / Triggers Use this skill when: - "发布视频到抖音" - "上传视频到抖音" - "抖音发布" ## Security Notes - Cookie 保存在本地，注意保密 - 定期更新登录状态 - 不要分享账号配置文件 ## Troubleshooting ### Login timeout - Check network connection - Manually visit the platform website - Re-run and scan QR code again ### Publish failed - Check video format (MP4 recommended) - Check video size limits - View browser window for error details ### Playwright errors ```bash pip install --upgrade pip pip install playwright playwright install chromium ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: ninebot-app/ninebot-device-skill (version 1.0.8)

--- name: ninebot-device-skill description: 九号电动车(Ninebot)车辆信息查询，支持九号电动车、九号电动摩托车，提供车辆开关机状态、车辆充电状态、车辆位置、车辆剩余电量、车辆剩余里程、车辆剩余充电时间等数据的查询功能 metadata: openclaw: requires: env: - NINEBOT_DEVICESERVICE_KEY primaryEnv: NINEBOT_DEVICESERVICE_KEY --- # 九号电动车辆信息查询服务 Skill 九号电动车辆信息查询服务向开发者提供完整的车辆信息查询服务，包括车辆状态、位置、电量等信息的查询功能。 ## 功能特性 - 九号电动车开关机状态、充电状态查询 - 九号电动车剩余电量、剩余里程、剩余充电时间查询 - 九号电动车位置查询 - 支持多设备查询和选择 ## 首次配置 首次使用时需要配置九号 Device Service Key: 1. 报名参加九号OpenClaw内测活动获取 Key，详情关注九号出行APP「圈子」。 2. 设置环境变量：`export NINEBOT_DEVICESERVICE_KEY=your_key` 3. 或运行时自动提示输入并保存到本地配置文件 当用户想要查询九号电动车辆信息（如开关机状态、充电状态、剩余电量、剩余里程、剩余充电时间、位置等）时，使用此 skill。 ## 触发条件 用户表达了以下意图之一： - 查询九号车辆开关机状态、充电状态（如"查询小九的开关机状态"、"小白正在充电吗"） - 查询九号车辆剩余电量、剩余里程、剩余充电时间（如"小九还有多少电量"、"小白还能跑多远"） - 查询九号车辆位置（如"小九现在在哪里"、"小白的位置"） ## 执行步骤 #### 第一步：检查 API Key - 如果用户已经配置好了环境变量 `NINEBOT_DEVICESERVICE_KEY` 或在本地 `config.json` 中提供了 Key，直接使用该 Key 进行后续 API 调用。 - 如果用户之前未提供过 Key，**先提示用户提供九号 Device Service Key**，等待用户回复后再继续 - 如果用户已提供 Key，直接使用 **请求 Key 的回复模板：** ``` 🔑 查询九号车辆位置需要九号 Device Service Key，请提供你的 Key。 （报名参加九号OpenClaw内测活动并取得内测资格即可获取，详情关注九号出行APP「圈子」动态） ``` #### 第二步：获取API Key 优先读取环境变量 `NINEBOT_DEVICESERVICE_KEY`，其次从本地 `config.json` 读取。也支持在命令行显式传入 `--api-key`。 请求头使用 `Authorization: Bearer <API_KEY>`。 参考 `config.example.json` 作为配置样例。 **config.json 示例：** ```json { "apiKey": [REDACTED_SECRET] } ``` ### 第三步：运行查询脚本 - 使用指定的脚本执行端到端的流程： ```bash export NINEBOT_DEVICESERVICE_KEY=your_key_here python3 scripts/ninebot_query.py \ --lang "zh" \ --device-name "小九" ``` - 如果脚本执行401 Unauthorized错误，说明 API Key 无效或未提供，**提示用户提供有效的 API Key**，等待用户回复后再继续。回复文案见下方「错误码与消息处理」。 - 如果脚本返回错误码/错误消息（如智能服务费到期），**提示用户相应的错误信息和解决方案**，等待用户回复后再继续。回复文案见下方「错误码与消息处理」。 - 如果账户有多个设备且未提供选择，脚本会返回一个列表供用户选择： ```json {"choose_device": [{"sn":"SN123","name":"小九"},{"sn":"SN456","name":"小白"}]} ``` 然后使用 `--device-name` 或 `--device-sn` 重新运行脚本。 #### 错误码与消息处理 当脚本返回错误码/错误消息时，使用以下固定回复文案： - **401 Unauthorized** → `🔑 提供的 API Key 无效，请检查后重新提供。` - **"code":651001,"msg":"您的车辆智能服务费已到期"** → `⚠️ 您的车辆智能服务费已到期（sn:XXXXXXXXXXXX），车辆数据查询功能已暂停。请登录九号出行APP完成续费，成功后功能将自动恢复。` > 说明：若有设备 SN，请将 `XXXXXXXXXXXX` 替换为实际 SN。 ### 第四步：解析输出 脚本输出 JSON： ```json { "device_name": "九号电动E200P", "battery": 57, "powerStatus": "OFF", "chargingStatus": "not_charge", "location": "北京市海淀区东升(地区)镇后屯东路", "estimateMileage": 50.4, "remainChargingTime": "" } ``` ### 第五步： API 映射和配置 根据实际的九号 Device Service API 规范，更新 `config.json` 中的 API 映射配置，或直接更新 `references/api-spec.md` 中的 API 规范并同步更新 `config.json`。 使用以下方式更新 API 映射： - **编辑 config JSON** 并通过 `--config` 参数传入 - **编辑 references/api-spec.md** 中的 API 规范，并将更改镜像到 config JSON 中 配置规范详细说明请参考 `references/api-spec.md`，其中包含了 API 规范和 config 映射的模板。 ## 配置管理 配置文件位于 `config.json`，包含以下内容： ```json { "apiKey": [REDACTED_SECRET] } ``` 设置 Key 的方式： 1. **环境变量**：`export NINEBOT_DEVICESERVICE_KEY=your_key` 2. **自动提示**：首次运行时自动提示输入 3. **手动编辑**：直接编辑 `config.json` 文件 ## 资源 ### scripts/ - `ninebot_query.py` — 查询电动车信息脚本. ### references/ - `api-spec.md` — API 规范和 config 映射模板。


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