OpenClaw/clawhub-security-signals huggingface dataset:
Skill: yang1002378395-cmyk/openclaw-cost-optimization (version 1.0.2)

--- name: openclaw-cost-optimization version: 1.0.1 description: OpenClaw 成本优化 - 降低 AI API 支出技巧。适合：成本敏感用户、企业部署。 metadata: openclaw: emoji: "💰" requires: bins: [] --- # OpenClaw 成本优化指南 让你的 AI 助手更省钱。 ## 模型成本对比 | 模型 | 输入价格 | 输出价格 | 适用场景 | |------|----------|----------|----------| | DeepSeek V3 | ¥1/百万 | ¥2/百万 | 日常对话（推荐） | | GLM-4 | ¥10/百万 | ¥10/百万 | 国产合规 | | Claude 3.5 Sonnet | $3/百万 | $15/百万 | 编程任务 | | GPT-4o | $2.5/百万 | $10/百万 | 多模态 | | GPT-4o-mini | $0.15/百万 | $0.6/百万 | 简单任务 | **省钱技巧**：日常使用 DeepSeek，编程用 Claude，简单任务用 mini 版本。 ## 配置优化 ### 1. 选择便宜模型 ```bash # 默认使用 DeepSeek openclaw config set model deepseek-chat ``` ### 2. 设置缓存 ```yaml # ~/.openclaw/config.yaml cache: enabled: true ttl: 3600 # 1小时 max_size: 1000 ``` ### 3. 限制上下文长度 ```yaml context: max_tokens: 4000 # 限制上下文 truncate_method: "middle" # 保留首尾 ``` ### 4. 批量处理 ```yaml batch: enabled: true size: 10 # 每 10 条消息批量处理 ``` ## 使用技巧 ### 技巧 1：分层使用模型 ```yaml models: simple: "gpt-4o-mini" # 简单问答 normal: "deepseek-chat" # 日常对话 complex: "claude-sonnet" # 复杂任务 ``` ### 技巧 2：预热缓存 对常见问题预设回复，避免重复调用 API。 ### 技巧 3：限制对话轮次 ```yaml conversation: max_turns: 20 # 超过 20 轮自动总结 ``` ### 技巧 4：使用流式输出 ```yaml stream: true # 减少等待时间，提升体验 ``` ## 成本监控 ### 查看用量 ```bash # 查看本月用量 openclaw stats usage # 查看各模型消耗 openclaw stats models ``` ### 设置预算 ```yaml budget: daily: 10 # 每天最多 ¥10 monthly: 200 # 每月最多 ¥200 alert: 0.8 # 达到 80% 时提醒 ``` ### 超预算处理 ```yaml budget: exceed_action: "fallback" # 或 "stop" fallback_model: "gpt-4o-mini" ``` ## 成本估算 ### 个人用户 - 日均 100 条消息 - 每条约 500 tokens - DeepSeek：约 ¥0.1/天 = ¥3/月 ### 小团队（10人） - 日均 500 条消息 - DeepSeek：约 ¥0.5/天 = ¥15/月 ### 企业（100人） - 日均 5000 条消息 - DeepSeek：约 ¥5/天 = ¥150/月 ## 常见问题 ### Q: 如何查看实时费用？ ```bash openclaw cost today openclaw cost this-month ``` ### Q: DeepSeek 和 Claude 差多少？ 同样 100 万 tokens： - DeepSeek：¥3 - Claude：¥108 - **差 36 倍** ### Q: 如何切换模型？ ```bash # 临时切换 openclaw ask "问题" --model claude-sonnet # 永久切换 openclaw config set model deepseek-chat ``` ## 需要帮助？ - 成本诊断：¥99 - 优化方案：¥299 - 企业咨询：¥999 联系：微信 yang1002378395 或 Telegram @yangster151


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wimi321/security-review-workflow (version 1.0.0)

--- name: "security_review_workflow" description: "Use when the current branch or PR needs a focused security review that minimizes false positives and only reports concrete, exploit-relevant issues." --- # Security Review Workflow Use this skill for focused security review of branch or PR changes. ## Workflow 1. Collect git status, changed files, commit list, and full diff against the target base. 2. Research the codebase's existing security patterns. 3. Inspect only newly introduced attack surfaces in the diff. 4. Filter out speculative, low-signal, or excluded finding classes. 5. Report only concrete, actionable findings with file, severity, exploit path, and recommendation. ## Guardrails - Minimize false positives aggressively. - Ignore general code review comments that are not security issues. - Prefer fewer high-confidence findings over noisy coverage. ## Example Requests - Review this branch only for concrete security bugs. - Find high-confidence vulnerabilities in the current diff and ignore noise. ## Inputs - Diff against base - Changed files - Relevant security context ## Outputs - High-signal security findings - Severity and exploit path - Fix recommendations ## Success Criteria - Only concrete issues are reported. - False positives are aggressively filtered. - Each finding is actionable. ## Non-Goals - General style review - Speculative low-confidence security commentary ## Source Provenance Derived from `src/commands/security-review.ts`.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ckchzh/trigger (version 2.0.0)

--- name: trigger version: "2.0.0" author: BytesAgain homepage: https://bytesagain.com source: https://github.com/bytesagain/ai-skills license: MIT-0 tags: [trigger, tool, utility] description: "Trigger - command-line tool for everyday use Use when you need trigger." --- # Trigger Event trigger toolkit — webhook handlers, file watchers, condition-based automation, event logging, and chain triggers. ## Commands | Command | Description | |---------|-------------| | `trigger run` | Execute main function | | `trigger list` | List all items | | `trigger add <item>` | Add new item | | `trigger status` | Show current status | | `trigger export <format>` | Export data | | `trigger help` | Show help | ## Usage ```bash # Show help trigger help # Quick start trigger run ``` ## Examples ```bash # Run with defaults trigger run # Check status trigger status # Export results trigger export json ``` ## How It Works ## Tips - Run `trigger help` for all commands - Data stored in `~/.local/share/trigger/` ## When to Use - to automate trigger tasks in your workflow - for batch processing trigger operations ## Output Returns formatted output to stdout. Redirect to a file with `trigger run > output.txt`. ## Configuration Set `TRIGGER_DIR` environment variable to change the data directory. Default: `~/.local/share/trigger/` --- *Powered by BytesAgain | bytesagain.com* *Feedback & Feature Requests: https://bytesagain.com/feedback*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: flobo3/scrapingbee-fetch (version 1.0.2)

--- name: scrapingbee-fetch description: Advanced JavaScript web page renderer using ScrapingBee API. Extracts main content and returns clean Markdown. requires: - ENV: SCRAPINGBEE_API_KEY --- # ScrapingBee Fetch Use this skill to render JavaScript on target websites and extract the main content. It returns clean Markdown optimized for LLM reading. ## Setup You need a ScrapingBee API key to use this skill. Set it as an environment variable: ```bash export SCRAPINGBEE_API_KEY="your_api_key_here" ``` Or add it to a `.env` file in the directory where you run the script. ## Usage ```bash uv run fetch.py --url "https://example.com" ``` ## Optional Parameters - `--no-render-js`: Disable JavaScript rendering (faster, but might miss dynamic content). - `--country-code <code>`: Use a proxy from a specific country (e.g., `us`, `uk`, `ru`). - `--wait <milliseconds>`: Wait time in milliseconds before extracting content (default: 3000). - `--no-block-ads`: Disable ad blocking (ads are blocked by default to save bandwidth and speed up rendering). - `--premium-proxy`: Use a premium proxy (useful for highly protected websites). ## Examples Fetch a website using a US proxy and wait 5 seconds: ```bash uv run fetch.py --url "https://example.com" --country-code us --wait 5000 ``` Fetch a highly protected website using a premium proxy: ```bash uv run fetch.py --url "https://example.com" --premium-proxy ``` Fetch a simple website without rendering JavaScript: ```bash uv run fetch.py --url "https://example.com" --no-render-js ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: krnbwj/openclaw-antigravity-sync (version 1.0.0)

--- name: antigravity-sync description: Automatically discover and configure available Google Antigravity models and quotas. metadata: openclaw: skillKey: antigravity-sync runtime: node requires: auth: - google-antigravity invocation: policy: on-demand triggers: - pattern: "sync antigravity" - pattern: "update models" - pattern: "fetch google models" --- # Antigravity Sync This skill queries the Antigravity API to discover available models and their quotas, then updates your `openclaw.json` configuration to match. ## Usage 1. **Ensure you are authenticated**: Run `openclaw models auth login google-antigravity` if you haven't already. 2. **Run the sync script**: ```bash node skills/antigravity-sync/sync.cjs ``` 3. **Verify Configuration**: The script will output the primary model it selected. Check `openclaw.json` to see the full list of configured models. ## Behavior - Fetches `fetchAvailableModels` from Google Cloud Code Assist API. - Updates `models.providers["google-antigravity"].models` with all non-exhausted models. - Sets `agents.defaults.model.primary` to the API's recommended default model (or preserves your manual selection if valid). - Preserves existing auth settings. - **Safety**: Backs up `openclaw.json` before writing.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zoopools/multi-agent-hybrid-architecture (version 1.0.0)

--- name: "多 Agent 混合层级隔离架构 1.0" description: "OpenClaw 多 Agent 协作架构 - 混合层级 + 物理隔离 + 逻辑隔离的完美组合" version: "1.0.0" author: "用户 154215" metadata: --- # 多 Agent 混合层级隔离架构 1.0 - Skill 执行指南 > 🖤 本 Skill 为 Agent 提供任务流转和协作的执行规范 ## 适用场景 当用户提到以下关键词时，激活本架构： - "多 Agent 协作" - "任务分配" - "架构设计" - "墨墨"、"小媒" - "协调员"、"执行者" - "任务流转" ## 核心原则 ### 1. 角色定位 **墨墨 (writer)**： - ✅ 任务接收与分解 - ✅ 质量审查与知识管理 - ✅ 协调小媒执行创意任务 - ❌ 禁止直接执行 baoyu-* 技能 **小媒 (media)**： - ✅ 图片生成、内容创作 - ✅ 新媒体发布执行 - ✅ 快速响应紧急任务 - ❌ 不主动协调复杂任务 ### 2. 任务识别 根据任务类型自动选择流转路径： | 任务特征 | 识别关键词 | 流转路径 | |---------|-----------|---------| | 复杂多步骤 | "写文章"、"做方案"、"策划" | 哥哥→墨墨→小媒 | | 简单图片 | "生成图片"、"画一张" | 哥哥→小媒 | | 新媒体发布 | "发公众号"、"发微博" | 哥哥→墨墨→小媒 | | 紧急任务 | "紧急"、"立刻"、"马上" | 哥哥→小媒 | | 学习讨论 | "为什么"、"怎么理解" | 哥哥↔小媒 | ### 3. 执行流程 #### 流程 A：复杂任务（墨墨主导） ``` 1. 墨墨接收任务 2. 分析任务，分解为子任务 3. 识别需要 baoyu-* 技能的任务 4. 指派小媒执行 5. 审查小媒的输出 6. 整合结果，交付给哥哥 ``` #### 流程 B：简单任务（小媒直连） ``` 1. 小媒接收任务 2. 直接执行 3. 交付结果给哥哥 4. （可选）通知墨墨记录 ``` ## 配置检查 每次会话开始前，自动验证配置： ```bash # 检查 SOUL.md 是否存在约束 if [ -f "SOUL.md" ]; then grep -q "禁止.*baoyu" SOUL.md && echo "✅ 墨墨约束已配置" fi ``` ## 任务分配模板 ### 墨墨指派小媒时的话术 ``` @小媒 哥哥需要 [具体任务]，请帮忙执行： - 任务描述：[详细说明] - 要求：[风格/格式/尺寸等] - 截止时间：[如有] 完成后请告诉我，我来整合给哥哥~ 🖤 ``` ### 小媒接收指派时的回复 ``` 收到墨墨！马上处理 [任务关键词]~ 预计 [时间] 完成，完成后会通知你审查 ✅ ``` ## 质量审查标准 墨墨审查小媒输出时，检查以下维度： ### 图片质量 - [ ] 分辨率符合要求 - [ ] 风格与任务匹配 - [ ] 无明显瑕疵 - [ ] 内容安全合规 ### 文案质量 - [ ] 语气符合平台调性 - [ ] 信息准确无误 - [ ] 格式正确 - [ ] 无敏感内容 ### 发布质量 - [ ] 标题吸引人 - [ ] 配图合适 - [ ] 标签正确 - [ ] 发布时间合适 ## 异常处理 ### 场景 1：墨墨被要求执行 baoyu-* 技能 **错误示例：** ``` 哥哥：@墨墨 生成一张图片 墨墨：好的，正在生成...（调用 baoyu-image-gen）❌ ``` **正确处理：** ``` 哥哥：@墨墨 生成一张图片 墨墨：哥哥，根据架构设计，我不能直接执行图片生成任务。 但我会立刻指派小媒来完成！@小媒 请帮哥哥生成一张图片~ 🖤 ``` ### 场景 2：小媒被要求做复杂协调 **错误示例：** ``` 哥哥：@小媒 帮我策划一个完整的营销活动 小媒：好的！（开始独立执行所有步骤）❌ ``` **正确处理：** ``` 哥哥：@小媒 帮我策划一个完整的营销活动 小媒：哥哥，这个任务比较复杂，需要墨墨来统筹协调哦~ 我来负责创意执行部分，让墨墨来规划整体方案吧！@墨墨 ``` ### 场景 3：紧急任务 bypass 墨墨 **允许的直接调用：** ``` 哥哥：@小媒 紧急！5 分钟内需要一张海报！ 小媒：收到！立刻处理，4 分钟内完成！✅ ``` **事后同步：** ``` 小媒：@墨墨 刚才哥哥的紧急海报任务已完成，同步你知晓~ 墨墨：收到！已记录到知识库 ✅ ``` ## 会话记忆 ### 墨墨的记忆职责 每次任务完成后，墨墨负责： 1. 记录任务类型和结果到 `memory/YYYY-MM-DD.md` 2. 更新任务统计（成功率、耗时等） 3. 提炼可复用的经验到 `MEMORY.md` 4. 标记需要长期保存的知识 ### 小媒的记忆职责 1. 记录创意任务的执行细节 2. 保存成功的 prompt 模板 3. 记录图片生成的参数配置 4. 同步重要信息给墨墨 ## 性能优化 ### 减少 API 调用 - 墨墨审查时优先使用缓存 - 小媒复用成功的 prompt 模板 - 避免重复生成相似内容 ### 提升响应速度 - 简单任务直接响应（<30 秒） - 复杂任务先确认再执行（<1 分钟） - 长任务定期汇报进度（每 2 分钟） ## 安全边界 ### 墨墨的安全检查 在指派任务前，墨墨需要验证： - [ ] 任务内容安全合规 - [ ] 不涉及敏感信息 - [ ] 符合平台规范 - [ ] 不超出小媒能力范围 ### 小媒的安全检查 在执行任务前，小媒需要验证： - [ ] 图片来源合法 - [ ] 生成内容无版权风险 - [ ] 不生成虚假/误导内容 - [ ] 遵守 AI 伦理规范 ## 升级路径 当遇到以下情况时，需要升级处理： 1. **任务超出能力范围** → 建议用户寻求人工帮助 2. **连续失败 3 次** → 墨墨介入分析原因 3. **用户明确不满** → 暂停任务，请求反馈 4. **发现系统 bug** → 记录并报告给开发者 ## 版本历史 - **v1.0.0** (2026-03-08): 初始版本，实现混合层级隔离架构 --- **最后更新**: 2026-03-08 **维护者**: OpenClaw 社区


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: sepinetam/stata-skill (version 1.0.0)

--- name: stata-skill description: The most stable way to execute Stata commands, install ado packages, read help documents, and analyze data. Use when working with Stata for (1) Running do-files, (2) Installing packages from SSC/GitHub, (3) Getting command help, (4) Analyzing data files (.dta, .csv, .xlsx), (5) Reading execution logs. (6) Other actions if you need to use Stata. --- # Stata Skill > The skill could install or update from https://docs.statamcp.com/skills/openclaw [Stata-MCP](https://github.com/sepinetam/stata-mcp) is the best solution for connecting AI agents with Stata. It provides a suite of tools that allow Agents to execute Stata code through unified scheduling without wasting context searching for Stata executables. Both MCP and CLI interfaces are available. **CLI is the preferred method for execution in this document.** ## CLI Tools (Fallback, mainly used by OpenClaw) First, using `uvx stata-mcp --usable` to check whether Stata-MCP is usable. If there is any error, visit [FAQ](https://docs.statamcp.com/faq) or commit an [issue](https://github.com/SepineTam/stata-mcp/issues/new/choose). The following commands are supported: ```bash uvx stata-mcp tool ado-install <package> [--source ssc|github|net] # install ado-package from ssc, net or github uvx stata-mcp tool do <dofile_path> [--log-file-name <name>] # execute do-file uvx stata-mcp tool help <command> # Unix only # get command help uvx stata-mcp tool data-info <data_path> [--vars-list var1 var2] # get data basic information uvx stata-mcp tool read-log <log_path> [--output-format full|core|dict] # read execution log ``` ## Iterative Workflow 1. `get_data_info` -> understand dataset structure 2. `Edit` or `Write` -> to create a do-file 3. `stata_do` -> execute analysis with capture output 4. `help` -> learn Stata commands (Unix) if there are any command error 5. `ado_package_install` -> install missing packages ## Notes - Requires uv and valid Stata - `help` only works on macOS/Linux - Security guard blocks dangerous commands (shell, rm, etc.) - Log location: `<cwd>/stata-mcp-folder/stata-mcp-log/` - More information visit [documents](https://docs.statamcp.com) or [GitHub](https://github.com/statamcp/stata-mcp)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: openlang-cn/o (version 1.0.0)

--- name: o description: Short alias skill for quickly suggesting OS-specific commands to open files, folders, URLs, logs, or repositories from the command line or file explorer. Use when the user wants to open something and prefers a concise, minimal answer. --- # o（Open 简写） 这是一个精简版的“打开” Skill，用一个字母 **o** 作为名称，方便被快速触发。它的目标是： - 帮助选择**合适的打开方式**（命令或动作） - 根据用户操作系统（尤其是 Windows PowerShell）给出**最简命令** - 回答尽量简短，不做过多解释 --- ## 适用场景 当用户说： - “打开某个文件 / 目录 / 日志” - “帮我打开这个链接 / 页面” - “想在资源管理器里打开这个项目 / 仓库” - “how do I open this from the terminal” 并且上下文中能看出**要打开的目标**时，应使用本 Skill 的指引。 --- ## Windows（PowerShell / CMD）推荐 - **打开当前目录到资源管理器**： ```powershell start . ``` - **打开指定目录**： ```powershell start "C:\path\to\folder" ``` - **用默认程序打开文件**： ```powershell start "C:\path\to\file.txt" ``` - **打开 URL（默认浏览器）**： ```powershell start "https://example.com" ``` > 路径或 URL 可能包含空格时，一律加引号。 --- ## macOS（仅在用户使用 macOS 时建议） ```bash open . open /path/to/folder open /path/to/file.txt open "https://example.com" ``` --- ## Linux（桌面环境） ```bash xdg-open . xdg-open /path/to/folder xdg-open /path/to/file.txt xdg-open "https://example.com" ``` --- ## 使用风格 - **答案要短**：优先只给 1–2 行命令，不写长篇解释。 - **尊重用户 OS**：根据会话中已知的操作系统给命令（当前用户是 Windows 10 + PowerShell）。 - **不做危险操作**：只给“打开”的命令，不附带修改 / 删除行为。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: bytesagain3/embed (version 2.0.2)

--- name: "embed" version: "2.0.2" description: "embed" author: "BytesAgain" homepage: "https://bytesagain.com" source: "https://github.com/bytesagain/ai-skills" tags: [embed, reference] category: "devtools" --- # Embed embed. No API keys or credentials required — outputs reference documentation only. ## Commands | Command | Description | |---------|-------------| | `intro` | intro reference | | `quickstart` | quickstart reference | | `patterns` | patterns reference | | `debugging` | debugging reference | | `performance` | performance reference | | `security` | security reference | | `migration` | migration reference | | `cheatsheet` | cheatsheet reference | ## Output Format All commands output plain-text reference documentation via heredoc. No external API calls, no credentials needed, no network access. --- *Powered by BytesAgain | bytesagain.com | [REDACTED_SECRET]*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wealthvisionai-source/autooptimise (version 0.1.0)

--- name: autooptimise description: "Autonomously optimise any OpenClaw skill using a benchmark-driven experiment loop. Scores skill outputs 0-10 across 4 dimensions, identifies the lowest-scoring pattern, proposes a targeted SKILL.md change, re-tests, and keeps or discards based on measured improvement. Use when asked to: optimise my [skill] skill, run autooptimise on [skill], benchmark my [skill] skill, improve my skill overnight." homepage: https://github.com/WealthVisionAI-Source/autooptimise metadata: { "openclaw": { "emoji": "🔬" } } --- # autooptimise Autonomous benchmark-driven skill optimisation for OpenClaw. Inspired by Andrej Karpathy's [autoresearch](https://github.com/karpathy/autoresearch) — the same modify → test → score → keep/discard loop, applied to agent skill quality instead of GPU training. ## Trigger Phrases - `"optimise my weather skill"` - `"run autooptimise on [skill-name]"` - `"benchmark my [skill-name] skill"` - `"improve my skill overnight"` ## Key Files | File | Purpose | |------|---------| | `benchmark/tasks.json` | Test task suite (prompts + expected qualities) | | `benchmark/scorer.md` | LLM judge scoring rubric | | `runner/run_experiment.md` | Autonomous loop instructions (load this next) | | `runner/experiment_log.md` | Auto-created run log (gitignored) | ## How to Run 1. Read `runner/run_experiment.md` — it contains the full loop instructions 2. Confirm the target skill with the user if not specified 3. Execute the loop (max 3 iterations) 4. Present proposed changes for human approval — **never auto-apply** ## Scoring Use the best available LLM judge model (prefer a strong reasoning model). Score each task 0–10 on: - **Accuracy** — correct answer / correct tool called - **Conciseness** — no padding, no unnecessary text - **Tool usage** — right tool, right parameters - **Formatting** — output matches expected format Full rubric: `benchmark/scorer.md` ## Safety Rules - **Never auto-apply changes.** Always present a diff and wait for explicit human approval. - **Never modify** `benchmark/tasks.json` or `benchmark/scorer.md` during a run. - **Never exceed 3 iterations** per run in v0.1. - Log every action to `runner/experiment_log.md`.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: davincievans/bilibili-subtitle-download-skill (version 1.0.0)

--- name: bilibili-subtitle-downloader description: 下载 Bilibili 视频字幕，将其进行分块以供 LLM（大语言模型）处理，并生成高质量的总结。当用户提供 Bilibili BV 号或 URL，并希望获取视频内容的总结、核心要点或详细的分解时使用。 --- # Bilibili 字幕下载器技能 此技能通过使用专用的 Python 脚本和子智能体 (sub-agent) 编排，自动化提取和总结 Bilibili 视频字幕的流程。 ## 工作流程 1. **提取字幕**: 运行自带的脚本来下载并分块字幕。普通视频，均为 BV 号开头 ```bash python3 skills/bilibili-subtitle-downloader/scripts/download_and_chunk.py <BV_ID> ``` * **登录检查**: 如果脚本输出 `QR_CODE_READY:<PATH>`，它将等待用户扫描二维码。您应该将此图像发送给用户。 * **保存 Cookie**: 成功登录后，脚本会自动将 Cookie 保存到 `~/.openclaw/workspace/bilibili_cookie.txt`。 2. **处理输出**: 解析脚本输出的 `RESULT_JSON`，以获取分块文件列表。分块文件命名格式： * 普通视频 (BV号): `bili_temp/<BV_ID>/<BV_ID>_chunk_0.txt` * 课程剧集 (EP号): `bili_temp/<EP_ID>/chunk_0.txt` ## Bilibili 课程 (Cheese) 工作流程 1. **提取课程/剧集信息**: 使用课程专属脚本获取元数据和字幕。课程或者视频，往往由 SS 或者 EP 开头 ```bash python3 skills/bilibili-subtitle-downloader/scripts/cheese_downloader.py <SS_ID or EP_ID> ``` * **登录**: 脚本将生成一个 `bilibili_login_qr.png`。扫描它以登录。 * **SS_ID 模式**: 如果提供 SS_ID（如 `ss123`），脚本将打印课程信息和所有剧集列表，需要使用具体的 EP_ID 来获取字幕。 * **EP_ID 模式**: 如果提供 EP_ID（如 `ep456`），脚本将下载字幕并切分保存到 `bili_temp/ep456/` 目录，输出 `RESULT_JSON`。 ## 子智能体指令 在生成用于总结的子智能体时，请使用以下提示词 (prompt) 模式： > 请阅读以下 Bilibili 视频字幕分块，并提供全面、准确的总结。 > > **要求：** > - 捕获所有关键的技术细节、具体的数据点和逻辑步骤。 > - 使用标题保持清晰的结构。 > - 明确主旨和可执行的要点。 > - 风格：专业、信息丰富且详细。 > > **字幕文件：** [PATH_TO_CHUNK] ## 资源 - **脚本**: `scripts/download_and_chunk.py` - 处理 Bilibili API 交互和基于 Token 的安全分块。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)
Skill: sincerememe/macos-wechat-send (version 1.0.2)

# wechat-send - 微信自动发送技能 ## 描述 通过 AppleScript 控制微信 Mac 版自动发送消息和文件。使用剪贴板复制粘贴方式，避免输入法影响。 **触发场景：** - 用户要求发送微信消息 - 需要自动化微信操作 - macOS 系统 + 微信 Mac 版环境 ## 环境检查 1. **系统检查** - 必须是 macOS 2. **微信检查** - 微信必须已打开并登录 3. **权限检查** - 需要辅助功能权限 ```bash # 检查微信是否运行 osascript -e 'tell application "System Events" to get name of every process' | grep -i wechat ``` ## 使用方法 ### 基本用法 ```bash # 发送单条消息 wechat-send "联系人名字" "消息内容" # 发送多条消息（连续发送） wechat-send "联系人名字" "消息 1" "消息 2" "消息 3" # 发送文件 wechat-send "联系人名字" "/path/to/file.xlsx" # 混合发送（文字 + 文件，按顺序发送） wechat-send "联系人名字" "说明文字" "/path/to/file.pdf" "补充说明" # 从 stdin 读取消息 echo "消息内容" | wechat-send "联系人名字" ``` ### 参数说明 | 参数 | 说明 | |------|------| | 联系人名字 | 微信中的联系人名字，必须完全匹配 | | 消息内容 | 要发送的消息文本（支持特殊字符） | | 文件路径 | 本地文件绝对路径，自动检测并发送 | ### 发送顺序 **按参数顺序发送**，用户可自由控制： ```bash # 先文字后文件 wechat-send "罗红" "这是文件请查收" "/path/to/file.xlsx" # 先文件后文字 wechat-send "罗红" "/path/to/file.xlsx" "请查收" # 交错发送 wechat-send "罗红" "说明 1" "file1.xlsx" "说明 2" "file2.xlsx" ``` ## 操作流程 ### 文字消息发送 1. **激活微信窗口**（四重保障） - `open -a WeChat` - `tell application "WeChat" to activate` - `set frontmost of process "WeChat" to true` - `perform action "AXRaise" of window 1` 2. **搜索联系人**（仅第一条消息或新联系人时） - **新联系人**：先用"文件传输助手"垫脚石确保聚焦 → 再搜索目标 - **同一联系人**：窗口已打开，直接发送 - 按 ESC 清除状态 → Cmd+F 搜索 → 粘贴名字 → 回车打开 3. **发送消息** - 粘贴消息内容到剪贴板 - Cmd+V 粘贴 - 回车发送 ### 文件发送 1. **激活微信窗口**（同上） 2. **搜索联系人**（仅第一条消息或新联系人时，同上） 3. **复制文件** - 激活 Finder - 选中目标文件（`select POSIX file "路径"`） - Cmd+C 复制 4. **粘贴发送** - 切换回微信 - Cmd+V 粘贴文件 - 回车发送 ## 连续发送优化 | 场景 | 行为 | |------|------| | **第 1 条 + 新联系人** | 垫脚石 → 搜索目标 → 发送 | | **第 1 条 + 同一联系人** | 直接发送（窗口已打开） | | **第 2-N 条** | 直接粘贴发送（跳过搜索） | **优势：** - 连续发送时不重复搜索联系人 - 每条消息间隔 0.5 秒，避免发送过快 - 自动检测文件路径，区分文件和文字 ## 脚本文件 - `wechat-send.py` - 主脚本（支持文字 + 文件） - `wechat-send.sh` - 快捷脚本（参数解析） ## 依赖 - Python 3 - macOS AppleScript - pyautogui（可选） ## 常见问题 ### 1. 辅助功能权限 如果提示权限不足： ``` 系统设置 → 隐私与安全性 → 辅助功能 ``` 勾选"终端"或你使用的终端应用。 ### 2. 联系人找不到 - 检查名字是否完全匹配 - 确认联系人确实存在 - 尝试使用备注名 ### 3. 文件发送失败 - 确认文件路径正确且存在 - 确认 Finder 有访问权限 - 大文件可能需要更长时间 ### 4. 消息发送失败 - 确认微信已登录 - 确认网络正常 - 检查是否有多个同名联系人 ## 示例 ```bash # 发送 5 个笑话 wechat-send "罗红" "笑话 1" "笑话 2" "笑话 3" "笑话 4" "笑话 5" # 发送文件 + 说明 wechat-send "罗红" "/Users/sincere/Downloads/report.xlsx" "这是本月报表，请查收" # 复杂场景：文字 + 多文件 + 文字 wechat-send "罗红" "以下是附件" "file1.pdf" "file2.xlsx" "有任何问题随时联系我" ``` ## ⚠️ 免责声明 本工具仅供学习和个人使用。使用者应遵守： 1. 微信服务条款 2. 当地法律法规 3. 道德规范 **请勿用于骚扰、诈骗或其他非法活动。**


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