OpenClaw/clawhub-security-signals huggingface dataset:
Skill: svkozak/sfsymbol-generator (version 1.0.0)

--- name: sfsymbol-generator description: Generate an Xcode SF Symbol asset catalog .symbolset from an SVG. Use when you need to add a custom SF Symbol (build-time) by creating the symbolset folder, Contents.json, and SVG file. --- # SF Symbol Generator ## Usage You can override the default asset catalog location with `SFSYMBOL_ASSETS_DIR`. ### Raw symbolset (no template injection) ```bash ./scripts/generate.sh <symbol-name> <svg-path> [assets-dir] ``` - `symbol-name`: Full symbol name (e.g., `custom.logo`, `brand.icon.fill`). - `svg-path`: Path to the source SVG file. - `assets-dir` (optional): Path to `Assets.xcassets/Symbols` (defaults to `Assets.xcassets/Symbols` or `SFSYMBOL_ASSETS_DIR`). ### Template-based symbolset (recommended) ```bash ./scripts/generate-from-template.js <symbol-name> <svg-path> [template-svg] [assets-dir] ``` - `template-svg` (optional): SF Symbols template SVG to inject into (defaults to the first `.symbolset` SVG found in `Assets.xcassets/Symbols`, otherwise uses the bundled skill template). ## Example ```bash ./scripts/generate-from-template.js pi.logo /Users/admin/Desktop/pi-logo.svg ``` ## Requirements - SVG must include a `viewBox`. - Use **path-based** shapes (paths are required; rects are supported and converted, but other shapes should be converted to paths). - Prefer **filled** shapes (no strokes) to avoid thin artifacts. ## Workflow 1. Validates the SVG path and viewBox. 2. Computes path bounds and centers within the SF Symbols template margins. 3. Injects the paths into the SF Symbols template (Ultralight/Regular/Black). 4. Creates `<symbol-name>.symbolset` inside the asset catalog Symbols folder. 5. Writes a matching `Contents.json`.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: try520/svg-to-png (version 1.0.0)

--- name: svg-to-png description: 将 SVG 矢量图片转换为 PNG 格式，支持指定尺寸。使用场景：(1) 将 SVG 图标转换为 PNG，(2) 调整图片尺寸，(3) 前端资源格式转换。使用前需在当前目录安装 sharp 依赖。 --- # SVG 转 PNG 技能 🖼️ ## 安装依赖 在使用该技能前，需要在当前目录安装 sharp： ```bash npm install sharp ``` ## 使用方法 ```bash node <skill>/scripts/convert.js <输入SVG路径> [输出PNG路径] [尺寸] ``` ### 参数说明 | 参数 | 必填 | 默认值 | 说明 | |-----|-----|-------|------| | 输入SVG路径 | ✅ | - | 要转换的 SVG 文件路径 | | 输出PNG路径 | ❌ | 同名 .png | 输出文件路径 | | 尺寸 | ❌ | 1024 | 输出图片宽高（正方形） | ### 示例 ```bash # 转换并输出 1024x1024 node skills/svg-to-png/scripts/convert.js icon.svg icon.png 1024 # 使用默认尺寸 1024 node skills/svg-to-png/scripts/convert.js icon.svg icon.png # 指定不同尺寸 node skills/svg-to-png/scripts/convert.js logo.svg logo.png 512 ``` ## 工作原理 使用 sharp 库读取 SVG 文件，调整为指定尺寸后输出为 PNG 格式。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: chrischall/gogcli-mcp-contacts (version 2.3.0)

--- name: gogcli-mcp-contacts description: Use when the user asks to look up, search, or manage Google Contacts and the broader People API (Workspace directory). Triggers for contact lookups by name/email/phone, Workspace user search, profile fields, manager/reports relations, or any People API query. --- # gogcli-mcp-contacts Extended Google Contacts MCP server via [gogcli](https://github.com/openclaw/gogcli) — 15 tools: auth + 5 base Contacts + 5 extra People API tools. - **Source:** [github.com/chrischall/gogcli-mcp](https://github.com/chrischall/gogcli-mcp) ## Requirements - [gogcli](https://github.com/openclaw/gogcli) installed and authenticated - Node.js 18 or later ## Setup ```json { "mcpServers": { "gogcli-contacts": { "command": "npx", "args": ["-y", "gogcli-mcp-contacts"], "env": { "GOG_ACCOUNT": "[REDACTED_SECRET]" } } } } ``` ## Extra People Tools | Tool | What it does | |------|-------------| | `gog_people_me` | Show your own profile | | `gog_people_get` | Get a profile by resource name | | `gog_people_search` | Search the Workspace directory | | `gog_people_relations` | Manager/reports relations | | `gog_people_raw` | Raw People API JSON dump | Plus 5 auth tools and 5 base Contacts tools (`gog_contacts_search/list/get/create/run`). The base `gog_contacts_search` only sees your personal contacts; use `gog_people_search` for the full Workspace directory.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: syajask/memory-setup-openclaw (version 1.0.0)

--- name: memory-setup description: Configure and validate OpenClaw memory recall for persistent context. Use when enabling memory_search/memory_get, fixing poor memory recall, or setting up MEMORY.md + memory/*.md workflows in an OpenClaw workspace. --- # Memory Setup (OpenClaw) Set up durable memory for OpenClaw so the agent can recall prior decisions, preferences, and todos. ## 1) Prepare workspace files In workspace root, keep: - `MEMORY.md` (curated long-term memory) - `memory/YYYY-MM-DD.md` (daily notes) Optional structure: - `memory/projects/` - `memory/system/` - `memory/groups/` ## 2) Enable memory search in OpenClaw config Configure under **`agents.defaults.memorySearch`** (not top-level `memorySearch`). Example: ```json { "agents": { "defaults": { "memorySearch": { "enabled": true, "provider": "local", "includeDefaultMemory": true, "maxResults": 20, "minScore": 0.3 } } } } ``` Notes: - `includeDefaultMemory: true` indexes `MEMORY.md` + `memory/**/*.md`. - Providers: `local`, `openai`, `gemini`, `voyage`, `mistral`. - If using remote provider, set corresponding API key (env var or `memorySearch.remote.apiKey`). ## 3) Restart and verify - Restart gateway after config changes. - Verify with: - `openclaw status` - `openclaw memory status` (if available in your CLI build) ## 4) Test recall behavior Ask a question about past context, then verify the agent: 1. Runs `memory_search` 2. Uses `memory_get` for precise lines when needed 3. Cites source path/lines when useful ## 5) Troubleshooting ### memory_search unavailable - Ensure `agents.defaults.memorySearch.enabled = true`. - Ensure policy allows memory tools. - Restart gateway. ### low-quality matches - Lower `minScore` (e.g. `0.2`) to broaden hits. - Raise `maxResults` (e.g. `30`). - Write more specific notes in `MEMORY.md` and daily logs. ### local provider issues - Confirm local model path/settings if configured. - If needed, switch provider to remote and set API key. ## 6) Recommended operating rule Before answering questions about prior work, decisions, dates, people, preferences, or todos: 1. `memory_search` first 2. `memory_get` second (only needed lines) 3. Say you checked memory if confidence is still low This keeps responses grounded and auditable.

path: _meta.json
content: ownerId: kn7536ghgpnachhadrck7hn5bs80206b
slug: memory-setup
version: 1.0.0
publishedAt: 1769568045678

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zhihang9978/teamgram-gnetway-gateway (version 1.0.0)

--- name: teamgram-gnetway-gateway description: Documents the gnetway network gateway layer in Teamgram Server, covering TCP/WS/HTTP listeners, connection lifecycle, MTProto decryption, QuickAck, and session dispatch. compatibility: Documentation/knowledge skill only. No executable code. Reference material for Teamgram Server developers. metadata: author: zhihang9978 version: "1.0.0" source: https://github.com/teamgram/teamgram-server homepage: https://github.com/teamgram/teamgram-server openclaw: requires: env: [] bins: [] securityNotes: | Documentation-only skill. Contains no executable code, no network calls, no credential handling. All content references the open-source teamgram-server project (Apache-2.0). --- # 网络层：gnetway（interface.gateway） ## 监听端口与协议 来自配置 `teamgramd/etc/gnetway.yaml`： ```yaml Gnetway: Server: - Proto: tcp Addresses: - 0.0.0.0:10443 - 0.0.0.0:5222 - Proto: websocket Addresses: - 0.0.0.0:11443 ``` | 协议 | 端口 | 说明 | |---|---|---| | TCP | 0.0.0.0:10443 | 主要 MTProto TCP 端口 | | TCP | 0.0.0.0:5222 | 备用 TCP 端口 | | WebSocket | 0.0.0.0:11443 | WebSocket 连接入口 | - gnetway 通过 etcd 发现 session：`Key: interface.session` ## 连接生命周期 ### OnOpen - 根据本地监听地址判断连接类型（tcp/ws/http） - 创建 connContext - 设置 closeDate - 放入 timewheel 管理超时 ### OnClose - 对非 HTTP 连接，如果已存在 perm_auth_key - 通知 session.CloseSession（回收会话、清理在线状态等） ## 加密消息处理流程 ```text 收到加密数据 → authKey.AesIgeDecrypt 解密 → 提取 salt、sessionId、msgId → SessionDispatcher.SendData (gRPC) 转发给 session 服务 ``` 核心点： - 通过 `authKey.AesIgeDecrypt` 解密 - 从解密后 payload 头部提取：`salt`、`sessionId`、`msgId` - 通过 `SessionDispatcher.SendData`（gRPC）把 `payload[16:]` 转发给 session ## auth_key 缓存与 QueryAuthKey 当 connContext 中没有 authKey（首次连接或缓存未命中）： 1. 异步调用 session 的 `QueryAuthKey` 2. 获取 authKey 后存入 connContext 3. 执行 `onEncryptedMessage` 处理加密消息 ## QuickAck QuickAck token 通过 SHA256(authKey[88:120] + encryptedData) 前 4 字节计算，最高位置 1。 必须通过 codec 编码发送，否则 obfuscated CTR 计数器不同步，导致客户端解密失败。 ## 关键代码路径 - 主服务入口：`app/interface/gnetway/` - gnet 服务器实现：`app/interface/gnetway/internal/server/gnet/server_gnet.go` - 配置文件：`teamgramd/etc/gnetway.yaml` ## Source Code References - Repository: https://github.com/teamgram/teamgram-server (Apache-2.0)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: tobeyrebecca/generate-executive-recruiting-boutique-client-education-handout (version 1.0.0)

--- name: Generate Executive Recruiting Boutique Client Education Handout description: "Create a polished explainer handout with visuals, FAQs, and clear next steps for a executive recruiting firm. Use when handling client education work..." allowed-tools: Bash, Read metadata: openclaw: emoji: "📝" homepage: "https://www.skillboss.co/skills/generate-executive-recruiting-boutique-client-education-handout" --- # Generate Executive Recruiting Boutique Client Education Handout Create a polished explainer handout with visuals, FAQs, and clear next steps for a executive recruiting firm. Use when handling client education work... ## Use When Use this skill for client education work for executive recruiters, talent partners. ## Workflow 1. Clarify the audience, business goal, constraints, and deliverable. 2. Produce the strongest first draft for the target use case. 3. Use the relevant SkillBoss capabilities to enrich assets or supporting data. 4. Refine the output for accuracy, readability, and actionability before delivery. ## SEO / GEO - Primary keywords: executive recruiting firm education handout, executive recruiting firm client explainer, executive recruiting firm FAQ guide, executive recruiting firm visual handout - Search intent: client education - Canonical slug: `generate-executive-recruiting-boutique-client-education-handout` - Install query: Install Generate Executive Recruiting Boutique Client Education Handout with SkillBoss ## APIs Used - `chat` - `image_generation` ## Suggested Prompt [Generate Executive Recruiting Boutique Client Education Handout] for my executive recruiting firm ## Notes - Create a polished explainer handout with visuals, FAQs, and clear next steps for a executive recruiting firm - Use human review to avoid biased screening or employment decisions based only on generated analysis. ## SEO Keywords - executive recruiting firm education handout - executive recruiting firm client explainer - executive recruiting firm FAQ guide - executive recruiting firm visual handout


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: moistenxx/agent-create-config (version 1.0.0)

--- name: agent-create-config description: | 创建 OpenClaw 专属员工 Agent 的完整配置流程。 融合「one-person-company」和「agentgener」两个技能，支持从需求收集到 Agent 上线的完整闭环。 当用户需要创建新 Agent、创建新的机器人、制作一个新 Agent 时触发。 --- # Agent 新建配置 - 完整流程 ## 概述 本技能是「一人公司 Agent 创建」与「OpenClaw Agent 绑定配置」的融合体，提供从需求收集到 Agent 正式上线的完整流程。 ## 完整流程（7 阶段） 详见：`references/MERGED_PROCESS.md` ### 阶段速览 | 阶段 | 内容 | |------|------| | 1 | 收集需求（名称/模型/API/Skill/飞书绑定） | | 2 | 创建工作区 `workspace-{name}/` | | 3 | 生成所有配置文件 | | 4 | 注册 Agent 到 `openclaw.json` | | 5 | 绑定飞书/多账号 + `bindings` 路由 | | 6 | 重启生效 + 日志验证 | | 7 | 交付确认 | ## 快速使用 当用户说"创建一个 xxx Agent"时： 1. 阅读 `references/MERGED_PROCESS.md` 获取完整流程 2. 按阶段一问用户收集信息 3. 将创建任务分配给 coder agent 执行 ## 核心原则 - CEO 不执行，只协调；创建任务分配给 coder - 配置文件严格遵守行数限制（SOUL ≤20行，AGENTS ≤80行，MEMORY ≤50行） - `bindings` 必须放在 openclaw.json 顶层 - 重启后才能生效


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: huajianjiu000/performance-review-writer (version 1.0.0)

--- name: Performance Review Writer description: Create fair, comprehensive performance reviews for employees or self-assessments. Perfect for managers, HR professionals, and employees preparing for reviews. metadata: openclaw: dependencies: [] --- # Performance Review Writer ## What This Skill Does Performance reviews shape careers. I help create balanced, constructive reviews that accurately assess performance, acknowledge achievements, and set clear expectations for growth. ## Features - **Balanced Feedback**: Strengths and growth areas - **Behavior-Based**: Facts, not feelings - **Specific Examples**: Evidence-backed observations - **Development Focus**: Clear path forward - **Rating Guidance**: Fair evaluation framework ## Review Components ### 1. Core Competencies Assessment ``` Job Knowledge: [Level] - [Specific observation with example] Quality of Work: [Level] - [Specific observation with example] Productivity: [Level] - [Specific observation with example] Communication: [Level] - [Specific observation with example] Teamwork: [Level] - [Specific observation with example] Initiative: [Level] - [Specific observation with example] ``` ### 2. Strengths Examples ``` "[Employee] consistently delivered [specific result]. For example, [concrete example with metrics if possible]. This demonstrates [competency/skill] at a [high/exceptional] level." "[Employee] has shown particular strength in [area]. Their contribution to [project/initiative] resulted in [positive outcome]." ``` ### 3. Growth Areas (Constructive) ``` "[Employee] could benefit from developing [specific skill]. [Observation showing opportunity for growth]. Recommendation: [Specific action item or support]." "In [situation], there was an opportunity to [alternative approach]. [Employee] is receptive to feedback and committed to improvement." ``` ### 4. Goals for Next Period ``` Short-term Goals: 1. [Specific, measurable goal] - by [date] 2. [Specific, measurable goal] - by [date] Long-term Goals: 1. [Development-oriented goal] 2. [Career path aligned goal] Support needed: - [Training/mentoring/resource] ``` ## Rating Scale Reference | Rating | Description | |--------|-------------| | 5 - Exceptional | Consistently exceeds expectations | | 4 - Exceeds | Frequently exceeds expectations | | 3 - Meets | Consistently meets expectations | | 2 - Developing | Sometimes meets, needs improvement | | 1 - Needs Improvement | Does not meet expectations | ## Review Phrases ### Exceeds Expectations - "Consistently goes above and beyond..." - "Delivers exceptional results in..." - "Role model for the team in..." - "Identified and solved problems before..." ### Meets Expectations - "Reliably completes work to standard..." - "Consistently demonstrates..." - "Good at balancing multiple priorities..." - "Maintains positive relationships with..." ### Needs Improvement - "Has shown progress in... but..." - "Could benefit from more focus on..." - "Opportunity to strengthen..." - "Needs support to improve..."


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: punkaze/usage-tracker (version 1.0.0)

# Usage Tracker Skill Track AI model usage and generate cost reports across all providers. ## Overview This skill tracks AI API calls and generates cost reports. It supports: - Multiple providers: MiniMax, Anthropic, OpenAI, Google, xAI, Voyage, Mistral - Cost calculation based on current pricing - Daily, weekly, and monthly reports - Filtering by model and task type ## Tools ### log_usage Log an AI API call for tracking. **Parameters:** - `provider` (required): Provider name (minimax-portal, anthropic, openai, google, xai, voyage, mistral) - `model` (required): Model identifier (e.g., MiniMax-M2.5, gpt-4o, claude-3-opus) - `input_tokens` (required): Number of input tokens - `output_tokens` (required): Number of output tokens - `task_type` (optional): Type of task (coding, reasoning, general, writing, analysis, chat) ### usage_report Generate a usage and cost report. **Parameters:** - `period` (required): Time period (daily, weekly, monthly) - `model_filter` (optional): Filter by model name - `task_filter` (optional): Filter by task type ### realtime_report Get real-time usage report for the last 24 hours. No parameters required. ## Usage Examples ``` Log a usage call: log_usage(provider="minimax-portal", model="MiniMax-M2.5", input_tokens=1500, output_tokens=800, task_type="general") Get daily report: usage_report(period="daily") Get weekly report: usage_report(period="weekly", model_filter="gpt") Get real-time report: realtime_report() ``` ## Pricing (USD per 1M tokens) | Provider | Model | Input | Output | |----------|-------|-------|--------| | MiniMax Portal | M2.5 | Free | Free | | Anthropic | Claude Opus 4 | $15 | $75 | | Anthropic | Claude Sonnet 4 | $3 | $15 | | Anthropic | Claude Haiku 4 | $0.80 | $4 | | OpenAI | GPT-4.5 | $75 | $300 | | OpenAI | GPT-4o | $2.50 | $10 | | OpenAI | GPT-4o Mini | $0.15 | $0.60 | | Google | Gemini 2.5 Pro | $1.25 | $10 | | Google | Gemini 1.5 Flash | $0.075 | $0.30 | | xAI | Grok 2 | $2 | $10 | ## Telegram Commands - `/usage` - Get real-time usage report (last 24 hours) - `/cost` - Get real-time usage report (last 24 hours) ## Storage Logs are stored in: `usage-logs/api-cells.jsonl` Reports can be generated on-demand using the tools above.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: timowhite88/dropclaw-store (version 1.0.0)

--- name: dropclaw-store description: Store and retrieve encrypted files permanently on Monad blockchain via DropClaw x402 gateway homepage: https://dropclaw.cloud user-invocable: true --- # DropClaw Store — Permanent Encrypted File Storage Store any file permanently on-chain using AES-256-GCM client-side encryption and the x402 payment protocol. Zero-knowledge: the server never sees your encryption key. ## Quick Reference - **API Base**: `https://dropclaw.cloud` - **Protocol**: x402 (HTTP 402 payment flow) - **Storage chain**: Monad (chainId 143) - **Payment**: MON, SOL, or Base USDC - **Cost**: ~$30 USD + gas to store. Free to retrieve. ## How to Store a File 1. Read the file into a buffer 2. Compute SHA-256 hash of the original 3. Compress with zlib deflate 4. Generate random 32-byte AES key + 12-byte IV 5. Encrypt with AES-256-GCM → output: `[IV:12][AuthTag:16][Ciphertext]` 6. `POST /vault/store` with the encrypted blob as multipart form data (field: `file`) 7. You will get a `402` response with payment options — pick a chain and send payment 8. Retry the POST with header `X-PAYMENT: base64(JSON({ network, txHash }))` 9. **CRITICAL**: Save BOTH the returned skill file AND your encryption key locally ## How to Retrieve a File 1. `POST /vault/retrieve/{fileId}` with the skill file JSON in the body 2. Receive encrypted blob 3. Extract IV (first 12 bytes), AuthTag (next 16 bytes), then ciphertext 4. Decrypt with AES-256-GCM using your saved key 5. Decompress with zlib inflate 6. Verify SHA-256 matches ## Endpoints | Method | Path | Auth | Description | |--------|------|------|-------------| | POST | `/vault/store` | x402 | Store encrypted file | | POST | `/vault/retrieve/{fileId}` | none | Retrieve encrypted file | | GET | `/vault/pricing?size={bytes}` | none | Get pricing for file size | | GET | `/.well-known/x402` | none | x402 discovery manifest | | GET | `/dropclaw-skill.json` | none | Full skill spec (JSON) | | GET | `/claude-tools.json` | none | Claude tool definitions | | GET | `/openai-tools.json` | none | OpenAI tool definitions | ## MCP Server For Claude Desktop / Claude Code integration: ``` claude mcp add dropclaw -- node /path/to/mcp/index.js ``` Install SDK: `npm i dropclaw` or `pip install dropclaw` ## Payment Chains - **Monad** (eip155:143) — MON native - **Solana** (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) — SOL native - **Base** (eip155:8453) — USDC ## Important - The encryption key is generated client-side and NEVER sent to the server - Without your key, files cannot be decrypted by anyone - 50% of all fees go to FARNS token buyback


Security scan verdicts — ClawScan: clean | static analysis:  | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: fslong520/urlgo (version 6.5.1)

--- name: urlgo description: 浏览器控制 CLI metadata: slug: urlgo priority: 1000 builtin_skill_version: "6.3.0" trigger: urlgo、浏览器、CDP、截图、网页、打开网页、网页截图、https://、http:// copaw: emoji: "🌐" requires: {} auto_load: true global: true --- ## Keywords https://, http://, www., 浏览器, CDP, 截图, 网页, mp.weixin, 打开网页, 网页截图 ## Summary 连 CDP，开网页，截图，执行 JS。 ## Strategy 1. `urlgo status` → CDP 开了没？没开就 `urlgo start` 2. `urlgo open <url>` → 打开页面 3. 截图/读取/点击/输入/执行 JS 4. 返回结果 AVOID: - AVOID 不检查 CDP 就操作，先 status/start - AVOID 忘装 websockets，截图和 JS 要用它 - AVOID 用 WebFetch 读网页，应该用 urlgo snapshot 代替 ## ⚠️ 踩坑记录（2026-05-06） ### 1. urlgo 不在 PATH urlgo 脚本不在系统 PATH 中，直接调用报 command not found。 **解法**：调用前将技能目录加入 PATH，或在命令中指定 skill base dir： ```bash export PATH="$PATH:$(dirname $(readlink -f $0))/.." ``` 或使用 skill base dir 全路径调用 `python3 <skill_dir>/urlgo`。 ### 2. urlgo start 浏览器进程被 SIGHUP 杀死 旧版 `cmd_start()` 用 `subprocess.run` + shell `&` 启动浏览器。urlgo 脚本退出后，shell 向子进程发 SIGHUP，浏览器随之退出。表现为 `urlgo start` 后立即 `urlgo open` 报"CDP 未开启"。 **解法**：改用 `subprocess.Popen(start_new_session=True)`（Linux）或 `DETACHED_PROCESS`（Windows），断开浏览器与脚本的进程组关联。 ### 3. urlgo start 阻塞等待 旧版有 5~10 秒循环轮询 CDP 端口，bash tool 下呈阻塞态，用户需中断。中断后旧版浏览器进程被连带杀死。 **解法**：新版无额外阻塞，最长等待 15 秒后超时返回。 ### 4. bash tool 下无输出（stdout 缓冲） bash tool 捕获 stdout 时 Python 启用块缓冲，`print` 输出积压不刷，bash tool 见"no output"即超时中断，误判为脚本假死。 **解法**：脚本入口加 `sys.stdout.reconfigure(line_buffering=True)`，每行输出即刷。 --- ## 命令 | 命令 | 说明 | |------|------| | `urlgo status` | 检查 CDP | | `urlgo start` | 启动浏览器 | | `urlgo list` | 查看页面 | | `urlgo open <url>` | 打开网页 | | `urlgo screenshot <id> <file>` | 截图 | | `urlgo snapshot <id>` | 读取内容 | | `urlgo eval <id> "<js>"` | 执行 JS | | `urlgo click <id> "<sel>"` | 点击 | | `urlgo type <id> "<sel>" "<text>"` | 输入 | ## 示例 ```bash # 先加 PATH（如不在系统 PATH 中） export PATH="$PATH:/path/to/urlgo/skill/dir" # 启动浏览器（后台运行，不会阻塞） urlgo start # 打开网页 urlgo open https://example.com # 读取内容 / 截图 urlgo snapshot 1 urlgo screenshot 1 /tmp/a.png ``` ## 依赖 curl, websockets(Python)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ztxdcyy/feishu-edge-tts-win (version 1.0.0)

--- name: feishu-edge-tts-win description: 飞书语音消息发送技能（Windows 版）。使用 Edge TTS（微软，免费）生成语音并以飞书语音气泡发送。 --- # 飞书语音消息发送（Windows） ## 快速使用 在 `skills\feishu-edge-tts-win\scripts` 目录执行： ```bash python .\send_voice.py "要发送的文本" YOUR_FEISHU_OPEN_ID --voice zh-CN-XiaoxiaoNeural --config %USERPROFILE%\.openclaw\openclaw.json ``` 也可以从任意目录执行： ```bash python %USERPROFILE%\.openclaw\workspace\skills\feishu-edge-tts-win\scripts\send_voice.py "要发送的文本" YOUR_FEISHU_OPEN_ID --voice zh-CN-XiaoxiaoNeural --config %USERPROFILE%\.openclaw\openclaw.json ``` ## 工作流程 1. `edge-tts` 生成 MP3 2. `ffmpeg` 转换为 OPUS（飞书语音格式） 3. 飞书 API 上传 OPUS 获取 `file_key` 4. 发送 `msg_type=audio` 消息 关键点：必须使用 `msg_type: audio` + `file_key`，否则会显示为普通文件而不是语音气泡。 ## 音色 仅使用：`zh-CN-XiaoxiaoNeural` ## 依赖安装 ```bash pip install edge-tts ``` `ffmpeg` 需要可执行（已加入 PATH）。可用 `ffmpeg -version` 自检。 ## 飞书配置 脚本读取 `openclaw.json` 的 `channels.feishu.appId` 和 `channels.feishu.appSecret`。 请在命令中显式传入 `--config`，例如： ```bash --config %USERPROFILE%\.openclaw\openclaw.json ```

path: _meta.json
content: slug: feishu-edge-tts-win
version: 1.0.0

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