OpenClaw/clawhub-security-signals huggingface dataset:
Skill: paul-leo/github-workflow (version 0.1.1)

--- name: github-workflow description: GitHub 集成。管理仓库、Issue、Pull Request 和 GitHub Actions 工作流。通过 MorphixAI 代理安全访问 GitHub API。 metadata: openclaw: emoji: "🐙" requires: env: [MORPHIXAI_API_KEY] --- # GitHub 集成 通过 `mx_github` 工具管理 GitHub 仓库、Issue、PR 和 CI/CD 工作流。 ## 前置条件 1. **安装插件**: `openclaw plugins install openclaw-morphixai` 2. **获取 API Key**: 访问 [morphix.app/api-keys](https://morphix.app/api-keys) 生成 `mk_xxxxxx` 密钥 3. **配置环境变量**: `export MORPHIXAI_API_KEY="mk_your_key_here"` 4. **链接账号**: 访问 [morphix.app/connections](https://morphix.app/connections) 链接 GitHub 账号，或通过 `mx_link` 工具链接（app: `github`） ## 核心操作 ### 查看当前用户 ``` mx_github: action: get_user ``` ### 列出仓库 ``` mx_github: action: list_repos sort: "updated" per_page: 10 ``` ### 查看仓库详情 ``` mx_github: action: get_repo repo: "owner/repo-name" ``` ### Issue 操作 **列出 Issue（不含 PR）：** ``` mx_github: action: list_issues repo: "owner/repo" state: "open" per_page: 10 ``` **创建 Issue：** ``` mx_github: action: create_issue repo: "owner/repo" title: "Bug: 登录页面加载异常" body: "## 问题描述\n登录页面在 Safari 中无法正常加载\n\n## 复现步骤\n1. 打开 Safari\n2. 访问登录页" labels: ["bug", "frontend"] assignees: ["username"] ``` **更新 Issue：** ``` mx_github: action: update_issue repo: "owner/repo" issue_number: 42 state: "closed" ``` ### Pull Request 操作 **列出 PR：** ``` mx_github: action: list_pulls repo: "owner/repo" state: "open" ``` **创建 PR：** ``` mx_github: action: create_pull repo: "owner/repo" title: "feat: 添加用户登录功能" head: "feature/user-login" base: "main" body: "## 改动内容\n- 实现了 JWT 登录\n- 添加了单元测试" ``` ### GitHub Actions **查看工作流运行：** ``` mx_github: action: list_workflow_runs repo: "owner/repo" per_page: 5 ``` **触发工作流：** ``` mx_github: action: trigger_workflow repo: "owner/repo" workflow_id: "deploy.yml" ref: "main" inputs: { "environment": "staging" } ``` ## 常见工作流 ### 创建 Feature PR ``` 1. mx_github: create_pull repo: "owner/repo", title: "feat: xxx", head: "feature/xxx", base: "main" 2. mx_github: list_workflow_runs → 检查 CI 状态 ``` ### 查看项目 Issue 和 PR 概况 ``` 1. mx_github: list_issues, repo: "owner/repo", state: "open" 2. mx_github: list_pulls, repo: "owner/repo", state: "open" ``` ## 注意事项 - `repo` 参数格式为 `"owner/repo"`（如 `"paul-leo/mini-tanka"`） - `list_issues` 自动过滤掉 PR（GitHub API 的 /issues 端点会返回 PR） - `trigger_workflow` 需要仓库有对应的 workflow 文件和 `workflow_dispatch` 触发器 - `account_id` 参数通常省略，工具自动检测已链接的 GitHub 账号


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: cinience/volcengine-observability-cls (version 1.0.0)

--- name: volcengine-observability-cls description: Log query and troubleshooting workflows with Volcengine CLS. Use when users need error analysis, time-range queries, aggregation dashboards, or incident diagnostics. --- # volcengine-observability-cls Run structured log investigations and summarize actionable findings. ## Execution Checklist 1. Confirm project/logset/topic and time window. 2. Build query with filters, parse fields, and aggregations. 3. Execute and summarize top errors and anomaly dimensions. 4. Return follow-up actions and reusable query templates. ## Output Requirements - Include query statement. - Include affected services and counts. - Include concrete remediation suggestions. ## References - `references/sources.md`

path: agents/openai.yaml
content: interface:
  display_name: "Volcengine CLS Observability"
  short_description: "Analyze logs and diagnose incidents fast"
  default_prompt: "Use $volcengine-observability-cls to analyze these logs and summarize findings."


path: references/sources.md
content: # Sources

- Volcengine CLS query syntax and API docs
- Volcengine observability and incident response best practices


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zeron-g/pc-control (version 1.0.0)

--- name: pc-control description: "Remote Windows desktop control from WSL/Linux via screenshot + mouse/keyboard simulation. Use when: user asks to control their PC, click something, open an app, interact with a GUI program, take a screenshot, or perform any desktop automation that has no CLI alternative. NOT for: tasks with command-line alternatives (prefer CLI/PowerShell), reading files, or running scripts." --- # PC Control — Remote Desktop Control Control a Windows desktop from WSL/Linux via screenshots (mss) + mouse/keyboard simulation (pyautogui). A FastAPI server runs on Windows; a Python client calls it from WSL. ## Setup ### 1. Configure `config.json` Edit `config.json` in the skill directory. Set `python_path` to a Windows Python with pip: ```json { "server": { "host": "127.0.0.1", "port": 18888, "python_path": "C:\\Python312\\python.exe" }, "powershell": "/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe", "auto_shutdown_minutes": 10, "screenshot": { "default_scale": 0.5, "default_quality": 50 } } ``` ### 2. Install dependencies ```bash python3 scripts/install.py ``` Installs `fastapi uvicorn mss pyautogui pillow` into the Windows Python. ## Usage ### Start the server ```bash python3 scripts/launcher.py start ``` ### Take a screenshot and analyze ```python import sys; sys.path.insert(0, 'skills/pc-control/scripts') from client import PCControl pc = PCControl() img_path = pc.screenshot(scale=0.5, quality=50) # Use image analysis tool to understand the screen ``` **Important:** Screenshots are scaled. When clicking, divide target coordinates by the scale factor to get actual screen coordinates. E.g., if scale=0.5 and target is at (400, 300) in the image, click at (800, 600). ### Execute actions ```python pc.click(x, y) # Left click pc.double_click(x, y) # Double click pc.right_click(x, y) # Right click pc.move(x, y) # Move cursor pc.scroll(x, y, clicks) # Scroll (negative = down) pc.drag(x1, y1, x2, y2) # Drag pc.type_text("hello") # Type text pc.press("enter") # Press key pc.hotkey("ctrl", "c") # Key combo ``` ### Verify after each action Always screenshot after an action to confirm it worked before proceeding. ### Stop the server ```bash python3 scripts/launcher.py stop ``` ## Interaction Loop ``` screenshot → analyze → decide action → execute → screenshot verify → continue or done ``` ## Notes - Server listens on localhost only with token auth (token auto-generated per session) - `Win+R` → type app name → Enter is more reliable than clicking taskbar icons - Wait 1–2 seconds after clicks before re-screenshotting - Prefer CLI/PowerShell when available — use this only for GUI-only tasks

path: requirements.txt
content: fastapi
uvicorn
mss
pyautogui
pillow


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)
Skill: gaodong0537xx/openbank-psbc (version 1.0.0)

--- name: openbank-psbc description: 银企直联是依托行内对公服务及产品，通过互联网或专线将客户系统与银行系统无缝对接与有机融合，提供开放直联的API服务，满足企业客户账户查询、资金交易、电子回单、集团服务、工资代发、电子票据、跨境金融、供应链金融、数字人民币等业务办理的综合性金融服务平台。 --- ## When to Run ## Workflow 1. 访问如下信息： 中国邮政储蓄银行官网（主站） https://www.psbc.com/ 邮储银行核心官方网站，提供个人、公司、三农、金融市场等全业务服务入口邮储银行 2. 获取对应的网址，并输出 ## Output Format {中国邮政储蓄银行中文官网} 地址：https://www.psbc.com/


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: coolfzb/investment-daily-report (version 1.0.0)

--- name: investment-daily-report description: | 每日投研日报自动生成器。当用户需要生成每日金融市场投资研究报告、投研日报、市场复盘、行情总结时使用此 Skill。 覆盖 A 股、港股、美股三大市场，自动采集行情、资金流向、板块轮动、重要公告、技术面分析等维度， 生成结构化 Markdown 日报，适合个人投资者、投资小组日常使用。 metadata: {"openclaw": {"emoji": "📊"}} --- # 投研日报生成器 — Investment Daily Report Generator > **一句话概述**：一键生成覆盖 A 股、港股、美股的每日投研日报，结构化 Markdown 输出。 ## 功能概述 自动采集多维度金融数据，生成专业级投研日报： | 维度 | 内容 | |------|------| | **大盘概览** | 上证/深证/创业板/恒生/纳斯达克/标普500 收盘数据 | | **板块轮动** | 涨跌幅 Top5 板块 + 龙头股 | | **个股异动** | 涨停/跌停/振幅 Top5 | | **资金流向** | 北向资金、主力资金净流入/流出 Top10 | | **重要公告** | 重大事项、业绩预告、增减持 | | **技术面信号** | 主要指数 MACD/KDJ/均线支撑压力位 | | **隔夜外盘** | 美股收盘、欧股、大宗商品、汇率 | | **明日展望** | 关键事件日历 + 市场情绪判断 | ## 使用方式 ```bash # 生成完整日报（默认 A 股 + 港股 + 美股） node scripts/generate_report.cjs # 仅 A 股 node scripts/generate_report.cjs --market cn # 仅美股 node scripts/generate_report.cjs --market us # 指定输出路径 node scripts/generate_report.cjs --output ./reports/2026-04-20.md # 快速模式（仅大盘 + 板块 + 个股异动） node scripts/generate_report.cjs --quick ``` ## 数据源 1. **NeoData Financial Search** — 股票行情、资金流向、板块数据、研报 2. **在线搜索** — 重要公告、重大事件、政策解读 3. **Trade Arena** — 持仓盈亏跟踪（如已配置） ## 输出格式 Markdown 日报文件，包含： ```markdown # 投研日报 | 2026-04-20 ## 📈 大盘概览 | 指数 | 收盘 | 涨跌幅 | 成交额 | |------|------|--------|--------| ## 🔥 板块轮动 ### 涨幅 Top5 | 跌幅 Top5 ... ## 📊 资金流向 ### 北向资金 | 主力净流入 Top10 ... ## 🚨 重要公告 ... ## 📉 技术面信号 ... ## 🌍 隔夜外盘 ... ## 🔮 明日展望 ... ``` ## 目录结构 ``` investment-daily-report/ ├── SKILL.md # 本文件 ├── README.md # 使用说明 ├── CHANGELOG.md # 变更日志 └── scripts/ └── generate_report.cjs # 主脚本（Node.js，零依赖） ``` ## 环境要求 - Node.js ≥ 18（已内置） - 网络连接（调用 NeoData API + 在线搜索） - 无需额外 npm 依赖 ## 注意事项 1. 盘中生成的数据为实时快照，收盘后数据更完整 2. 资金流向数据基于 NeoData 实时接口，可能存在延迟 3. 技术面信号仅供参考，不构成投资建议 4. 日报内容基于公开市场数据，不包含任何内幕信息


Security scan verdicts — ClawScan: clean | static analysis: suspicious | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: rogue-agent1/deadlinks (version 1.0.0)

--- name: deadlinks description: Check Markdown files and websites for broken links. Use when asked to find dead links, validate URLs in docs, check if links still work, audit a README, or run a link health check. Zero dependencies. --- # Deadlinks 💀🔗 Fast broken link checker for Markdown files and websites. ## Usage ```bash # Check a Markdown file for broken links python3 scripts/deadlinks.py check README.md # Check with external URL validation python3 scripts/deadlinks.py check README.md --external # Check a directory recursively python3 scripts/deadlinks.py check docs/ --recursive # Check a website python3 scripts/deadlinks.py check https://example.com ``` ## Features - Markdown link extraction (inline + reference) - External URL validation (HTTP HEAD with fallback to GET) - Concurrent checking (fast) - CI-friendly exit codes (0 = all good, 1 = broken links found) - Zero dependencies — pure Python


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: modestyrichards/modesty-ai-news-collector (version 1.0.0)

--- name: ai-news-collector description: AI 新闻聚合与热度排序工具。当用户询问 AI 领域最新动态时触发，如："今天有什么 AI 新闻？""总结一下这周的 AI 动态""最近有什么火的 AI 产品？""AI 圈最近在讨论什么？"。覆盖：新产品发布、研究论文、行业动态、融资新闻、开源项目更新、社区病毒传播现象、AI 工具/Agent 热门项目。输出中文摘要列表，按热度排序，附带原文链接。 --- > 📖 **Complete setup guide**: https://skillboss.co/skill.md # AI News Collector 收集、聚合并按热度排序 AI 领域新闻。 ## 核心原则 **不要只搜"AI news today"。** 泛搜索返回的是 SEO 聚合页和趋势预测文章，会系统性遗漏社区级病毒传播现象（如开源工具爆火、Meme 级事件）。必须用多维度、分层搜索策略。 ## 工作流程 ### 1. 多维度分层搜索（最少 8 次，建议 10-12 次） 按以下 **6 个维度** 依次执行搜索，每个维度至少 1 次： #### 维度 A：周报/Newsletter 聚合（最优先 🔑） 这是信息密度最高的来源，一篇文章可覆盖 10+ 条新闻。 ``` 搜索词： - "last week in AI" [当前月份年份] - "AI weekly roundup" [当前月份年份] - "the batch AI newsletter" - site:substack.com AI news [当前月份] ``` 发现周报后，用 web_fetch 获取全文，从中提取所有新闻线索。 #### 维度 B：社区热度/病毒传播（关键维度 🔑） 捕捉自下而上的社区爆款，这类信息泛搜索几乎无法触达。 ``` 搜索词： - "viral AI tool" OR "viral AI agent" - "AI trending" site:reddit.com OR site:news.ycombinator.com - "GitHub trending AI" OR "AI open source trending" - AI buzzing OR "everyone is talking about" AI - "most popular AI" this week ``` #### 维度 C：产品发布与模型更新 ``` 搜索词： - "AI model release" OR "LLM launch" [当前月份] - "AI product launch" [当前月份年份] - OpenAI OR Anthropic OR Google OR Meta AI announcement - "大模型 发布" OR "AI 新产品" ``` #### 维度 D：融资与商业 ``` 搜索词： - "AI startup funding" [当前月份年份] - "AI acquisition" OR "AI IPO" - "AI 融资" OR "人工智能投资" ``` #### 维度 E：研究突破 ``` 搜索词： - "AI breakthrough" OR "AI paper" [当前月份] - "state of the art" machine learning - "AI 论文" OR "机器学习突破" ``` #### 维度 F：监管与政策 ``` 搜索词： - "AI regulation" OR "AI policy" [当前月份年份] - "AI law" OR "AI governance" - "AI 监管" OR "人工智能法案" ``` ### 2. 交叉验证与补漏 初轮搜索完成后，检查是否有遗漏： - 如果 Newsletter 中提到了某个项目/事件但初轮搜索未覆盖 → 对该项目专项搜索 - 如果同一事件被 3+ 个不同来源提及 → 大概率是热点，深入搜索获取更多细节 - 如果中文媒体和英文媒体的热点完全不同 → 两边都要覆盖 ### 3. 搜索关键词设计原则（反模式清单） | ❌ 不要这样搜 | ✅ 应该这样搜 | 原因 | |---|---|---| | "AI news today February 2026" | "AI weekly roundup February 2026" | 前者返回聚合页，后者返回策划内容 | | "AI news today" | "viral AI tool" + "AI model release" 分开搜 | 泛搜无法覆盖社区现象 | | "artificial intelligence breaking news" | 按维度分类搜索 | 过于宽泛，返回噪音 | | 搜索词中加具体年月日 | 用 "this week" "today" "latest" | 日期反而会偏向预测/展望文章 | | 只搜 3 次就开始写 | 至少 8 次，覆盖 6 个维度 | 3 次搜索覆盖率不到 30% | ### 4. 热度综合判断 基于以下信号评估每条新闻热度（1-5 星）： | 信号 | 权重 | 说明 | |------|------|------| | 多家媒体报道同一事件 | ⭐⭐⭐ 高 | 3+ 来源 = 确认热点 | | 社区病毒传播证据 | ⭐⭐⭐ 高 | GitHub star 暴涨、Twitter 刷屏、HN 首页 | | 来自权威来源（顶会、大厂官宣） | ⭐⭐⭐ 高 | 但注意大厂 PR 不等于真热点 | | 实际用户体验分享 | ⭐⭐ 中 | 有人真的在用 > 只是发布了 | | 技术突破性/影响范围 | ⭐⭐ 中 | | | 争议性（安全、伦理讨论） | ⭐⭐ 中 | 争议往往说明影响力大 | | 时效性（越新越热） | ⭐ 中低 | 辅助排序 | ### 5. 输出格式 按热度降序排列，输出 **15-25 条**新闻： ``` ## 🔥 AI 新闻速递（YYYY-MM-DD） ### ⭐⭐⭐⭐⭐ 热度最高 1. **[新闻标题]** > 一句话摘要（不超过 50 字） > 🔗 [来源名称](URL) ### ⭐⭐⭐⭐ 高热度 2. ... ### ⭐⭐⭐ 中等热度 ... --- 📊 本次共收集 XX 条新闻 | 搜索 XX 次 | 覆盖维度：A/B/C/D/E/F | 更新时间：HH:MM ``` ### 6. 去重与合并 - 同一事件被多家报道时，合并为一条，选择最权威/详细的来源 - 在摘要中注明"多家媒体报道"以体现热度 - 改名/更名的项目视为同一事件（如 Clawdbot → Moltbot → OpenClaw） ## 推荐新闻源 详见 [references/sources.md](references/sources.md)。 ## 注意事项 - 优先使用 HTTPS 链接 - 遇到付费墙/无法访问的内容，标注"需订阅" - 保持客观，不对新闻内容做主观评价 - 搜索不足 8 次不要开始输出 - 如果某个维度搜索结果为空，换关键词再搜一次


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: mick2458pan/wechat-mick (version 1.0.1)

--- name: wechat-summary description: 总结微信公众号文章内容。当用户提供微信公众号文章链接（mp.weixin.qq.com）并要求总结、概括、摘要、快速了解文章内容时使用此 skill。也适用于用户说"帮我看看这篇文章讲什么"、"这篇公众号文章说了啥"、"总结一下这个链接"等请求。只要看到 mp.weixin.qq.com 的链接并且用户想了解内容，就应该使用这个 skill。 --- # 微信公众号文章总结 帮助用户快速理解微信公众号文章的核心内容。 ## 工作流程 ### 第一步：获取文章内容 **优先使用 WebFetch**： ``` WebFetch URL: <用户提供的链接> prompt: "提取文章的完整正文内容，包括标题、作者、正文文本。忽略广告、推荐阅读等无关内容。" ``` **如果 WebFetch 遇到反爬验证（返回"环境异常"、"完成验证"等）**，立即使用 Python 脚本作为备用方案： ```bash python <skill-path>/scripts/fetch_article.py "<文章URL>" ``` 其中 `<skill-path>` 是这个 skill 的目录路径。 ### 第二步：生成总结 根据获取到的文章内容生成中文总结。 ## 总结原则 根据文章长度和内容特点，灵活选择总结形式： ### 短文章（500字以内） - 用一两句话概括核心观点 ### 中等长度文章（500-2000字） - 一段话总结主要内容 - 如有明确的关键数据或结论，一并提及 ### 长文章（2000字以上） - 使用要点列表形式 - 提炼 3-5 个核心观点 - 按逻辑顺序或重要性排列 ## 特定元素提取 如果文章包含以下元素，应在总结中体现： - **关键数据**：具体的数字、百分比、统计结果 - **核心观点**：作者的主要论点或立场 - **重要结论**：文章得出的结论或建议 - **时效信息**：涉及的时间节点、截止日期等 - **行动建议**：如果文章给出了具体建议或方法 如果文章是纯叙事或情感类内容，则专注于概括主题和情节。 ## 输出格式 - 使用纯文本，中文输出 - 简洁明了，避免冗余 - 不需要添加"总结："等前缀，直接输出内容 - 保持客观，忠实于原文 ## 示例 **用户输入**：帮我总结一下这篇文章 https://mp.weixin.qq.com/s/xxxxx **输出示例（要点形式）**： ``` 这篇文章讨论了 AI 在医疗领域的应用前景： • 目前 AI 诊断准确率已达到 95%，接近资深医生水平 • 主要应用场景包括影像识别、病历分析、药物研发 • 作者认为未来 3-5 年 AI 将成为医生的标配辅助工具 • 文章也提醒了数据隐私和监管合规方面的挑战 ``` **输出示例（简短形式）**： ``` 文章介绍了一款新发布的手机，主打拍照功能，搭载 1 英寸大底传感器，售价 4999 元起，将于下周开售。 ``` ## 错误处理 - 如果 WebFetch 失败，自动使用 Python 脚本重试 - 如果 Python 脚本也失败，告知用户并建议： 1. 检查链接是否正确 2. 直接粘贴文章内容让 Claude 总结 - 如果获取到的内容为空或不完整，说明情况并尝试提取可用信息 - 如果不是微信公众号链接，仍然尝试总结，但提醒用户这个 skill 主要针对公众号文章优化


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: alvinecarn/knowledge-answer (version 0.1.0)

--- name: knowledge-answer description: Current Date: $DATE$. Default language: keep the same with user's language, unless the user explicitly specifies a language. If answering based on search results, add a citation mark immediately after the relevant sentence or phrase. 2. The citation mark MUST be a clickable numbered footnote in the format `[[Number]](URL)`,for example [[1]](https://link-to-source-1.com). At the end, there shoul... --- # Knowledge Answer ## Overview This skill provides specialized capabilities for knowledge answer. ## Instructions Current Date: $DATE$. Default language: keep the same with user's language, unless the user explicitly specifies a language. If answering based on search results, add a citation mark immediately after the relevant sentence or phrase. 2. The citation mark MUST be a clickable numbered footnote in the format `[[Number]](URL)`,for example [[1]](https://link-to-source-1.com). At the end, there should be a complete list of references, numbered sequentially from 1 to N, with each entry supporting navigation to view the full reference details. ## Usage Notes - This skill is based on the Knowledge_Answer agent configuration - Template variables (if any) like $DATE$, $SESSION_GROUP_ID$ may require runtime substitution - Follow the instructions and guidelines provided in the content above


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: xiaoyiweio/bili-checkin (version 1.0.1)

--- name: bili-checkin description: "B站全自动签到工具 — 每日经验任务（登录+观看+分享+投币=65EXP/天）+ 直播间弹幕签到刷亲密度。支持UP主名字/UID查找直播间。触发词：B站签到、每日任务、bilibili checkin、升级、刷经验、弹幕打卡、刷亲密度。" --- # Bili Checkin B站全自动签到 — 每日经验任务 + 直播间弹幕签到，一键搞定。 ## 触发规则 | 模式 | 示例 | |------|------| | 包含 `B站签到` / `B站每日` | "帮我B站签到", "B站每日任务" | | 包含 `升级` / `刷经验` / `每日经验` | "帮我刷B站经验", "B站升级" | | 包含 `弹幕签到` / `直播签到` | "帮我直播间签到", "弹幕打卡" | | 包含 `bilibili` + `checkin`/`daily` | "bilibili daily checkin" | | 包含 `亲密度` / `粉丝牌` | "刷亲密度", "升粉丝牌" | ## 两大功能 ### 功能 1 — 每日经验任务（升级用） 每天最多 +65 EXP： | 任务 | 经验 | 说明 | |------|------|------| | 登录 | +5 | 自动完成 | | 观看视频 | +5 | 随机选热门视频发心跳 | | 分享视频 | +5 | 随机分享一个视频 | | 投币（5枚） | +50 | 默认关闭，需 --do-coin 开启（消耗硬币） | | **合计** | **65** | | ```bash python3 {baseDir}/scripts/daily.py python3 {baseDir}/scripts/daily.py --do-coin python3 {baseDir}/scripts/daily.py --do-coin --coin 3 python3 {baseDir}/scripts/daily.py --status ``` ### 功能 2 — 直播间弹幕签到（亲密度用） | 动作 | 亲密度 | 经验值 | |------|--------|--------| | 发送弹幕 | +2 | +5 | ```bash python3 {baseDir}/scripts/checkin.py --room {room_id} python3 {baseDir}/scripts/checkin.py --room {room_id} --msg "打卡" ``` ## 前置：Cookie 设置（首次使用） ```bash python3 {baseDir}/scripts/checkin.py --save-cookie --sessdata "{SESSDATA}" --bili-jct "{bili_jct}" ``` Cookie 获取方法见 `persona.md`。保存一次后所有脚本共用。 ## 辅助：查找直播间 ```bash python3 {baseDir}/scripts/lookup.py "UP主名字或UID" ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: kagura-agent/openclaw-zulip (version 0.1.0)

--- name: openclaw-zulip description: Zulip channel plugin for OpenClaw with topic threading, metadata DB, bot commands, and event queue processing. Install from source when you want to connect OpenClaw to a Zulip organization. --- # OpenClaw Zulip Channel Plugin Connect OpenClaw to Zulip — topic threading, metadata DB, bot commands, event queue processing. ## Install (local path) ```bash git clone https://github.com/kagura-agent/openclaw-zulip.git ``` Add to `openclaw.json`: ```json { "plugins": { "load": { "paths": ["path/to/openclaw-zulip"] }, "entries": { "kagura-zulip": { "enabled": true } } } } ``` ## Configure Add Zulip channel config: ```json { "channels": { "zulip": { "enabled": true, "defaultAccount": "bot", "accounts": { "bot": { "realm": "https://your-org.zulipchat.com", "email": "[REDACTED_SECRET]", "apiKey": "your-zulip-api-key" } } } } } ``` ## Key features - **Topic threading**: Maps Zulip topics to OpenClaw threads - **Metadata DB**: SQLite-backed external metadata for messages/topics - **Bot commands**: `/status`, custom commands via plugin API - **Event queue**: Long-polling event processing with reconnection - **Rate limiting**: Respects Zulip API rate limits with retry ## Zulip bot setup 1. Go to Zulip → Settings → Bots → Add a new bot 2. Choose "Generic bot" type 3. Copy the bot email and API key 4. Use the organization URL as `realm` ## Verification ```bash openclaw gateway restart ``` Check gateway logs for `zulip` channel initialization. Send a DM to the bot in Zulip to verify. ## Tests ```bash cd openclaw-zulip && npm install && npm test ``` 74 vitest tests covering client, gateway, normalize, threading, metadata, and probe modules. ## Source <https://github.com/kagura-agent/openclaw-zulip>

path: channel-plugin-api.ts
content: export { zulipPlugin } from "./src/channel.js";


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: durchblick-nl/protonmail (version 1.0.0)

--- name: protonmail description: Read, search, and scan ProtonMail via IMAP bridge (Proton Bridge or hydroxide). Includes daily digest for important emails. metadata: {"clawdbot":{"emoji":"📧","requires":{"bins":["python3"]}}} --- # ProtonMail Skill Access ProtonMail via IMAP using either: - **Proton Bridge** (official, recommended) - **hydroxide** (third-party, headless) ## Setup ### Option 1: Proton Bridge (Docker) ```bash # Pull and run docker run -d --name=protonmail-bridge \ -v protonmail:/root \ -p 143:143 -p 1025:25 \ --restart=unless-stopped \ shenxn/protonmail-bridge # Initial login (interactive) docker run --rm -it -v protonmail:/root shenxn/protonmail-bridge init # Then: login → enter credentials → info (shows bridge password) → exit ``` ### Option 2: hydroxide (Headless) ```bash # Install git clone https://github.com/emersion/hydroxide.git cd hydroxide && go build ./cmd/hydroxide # Login ./hydroxide auth [REDACTED_SECRET] # Run as service ./hydroxide serve ``` ## Configuration Create config file at `~/.config/protonmail-bridge/config.env`: ```bash PROTONMAIL_HOST=127.0.0.1 PROTONMAIL_PORT=143 PROTONMAIL_USER=[REDACTED_SECRET] PROTONMAIL_PASS=your-bridge-password ``` Or set environment variables directly. ## Usage ```bash # List mailboxes protonmail.py mailboxes # Show recent inbox protonmail.py inbox --limit 10 # Show unread emails protonmail.py unread # Search emails protonmail.py search "keyword" # Read specific email protonmail.py read 123 ``` ## Daily Scan The `daily-scan.py` script identifies important emails based on: - Important senders (banks, government, schools) - Urgent keywords (DE/EN/NL) Configure important patterns in the script or via environment variables. ## Sieve Filters (ProtonMail) Recommended Sieve filter for auto-sorting: ```sieve require ["fileinto", "imap4flags"]; # Important emails - flag them if anyof ( address :contains "From" ["@bank", "@government"], header :contains "Subject" ["Urgent", "Dringend", "Belangrijk"] ) { addflag "\\Flagged"; } # Newsletters - auto-read and move if anyof ( address :contains "From" "newsletter@", address :contains "From" "noreply@" ) { addflag "\\Seen"; fileinto "Newsletter"; stop; } ```


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