Openai Whisper
OpenAI Whisper:使用 Whisper 模型进行视频语音识别和转录。
clawhub install openai-whisperCreate and edit hand-drawn style canvas designs using Excalidraw
# Install Skill (downloads SKILL.md to .claude/skills/) clawhub install excalidraw-canvas # Then just tell Claude: "use Excalidraw Canvas to help me..."
# Same install command — works with all SKILL.md-compatible AI coding tools clawhub install excalidraw-canvas
This Skill is compatible with the OpenClaw standard. After installation, a SKILL.md file is auto-generated, usable by any OpenClaw-compatible AI Agent (Claude Code, Cursor, Windsurf, etc.).
RESULT=$(curl -s -m 60 -X POST https://excalidraw-mcp.up.railway.app/api/render \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"elements": [...]}')
# Save PNG
echo "$RESULT" | python3 -c "import json,sys,base64; d=json.load(sys.stdin); open('/tmp/diagram.png','wb').write(base64.b64decode(d['png']))"
# Get edit URL
echo "$RESULT" | python3 -c "import json,sys; print(json.load(sys.stdin)['editUrl'])"
{"success": true, "png": "<base64>", "editUrl": "https://..../canvas/render-xxxxx"}rectangle, ellipse, diamond, text, arrow, line, freedraw{"type":"rectangle","x":100,"y":100,"width":200,"height":80,"bg":"#a5d8ff","label":"My Box"}
{"type":"ellipse","x":100,"y":100,"width":150,"height":100,"bg":"#b2f2bb","label":"Node"}
{"type":"diamond","x":100,"y":100,"width":140,"height":100,"bg":"#ffec99","label":"Decision?"}
x, y — positionwidth, height — sizebg — any hex fill colorstroke — border color (default #1e1e1e)label — text centered inside the shape{"type":"text","x":100,"y":50,"text":"Title","fontSize":28}
{"type":"arrow","x":300,"y":140,"points":[[0,0],[150,0]]}
{"type":"line","x":0,"y":200,"points":[[0,0],[800,0]]}
Points are relative to x,y. Horizontal: [[0,0],[150,0]], vertical: [[0,0],[0,100]], bent: [[0,0],[0,50],[100,50]].{"type":"freedraw","x":100,"y":100,"points":[[0,0],[5,3],[10,8],[20,15]]}
Freehand path — array of [x,y] points relative to position.RESULT=$(curl -s -m 60 -X POST https://excalidraw-mcp.up.railway.app/api/render \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"elements": [
{"type":"text","x":250,"y":20,"text":"System Design","fontSize":28},
{"type":"rectangle","x":50,"y":80,"width":180,"height":70,"bg":"#a5d8ff","label":"Frontend"},
{"type":"rectangle","x":300,"y":80,"width":180,"height":70,"bg":"#b2f2bb","label":"API"},
{"type":"rectangle","x":550,"y":80,"width":180,"height":70,"bg":"#ffec99","label":"Database"},
{"type":"arrow","x":230,"y":115,"points":[[0,0],[70,0]]},
{"type":"arrow","x":480,"y":115,"points":[[0,0],[70,0]]}
]}')
echo "$RESULT" | python3 -c "import json,sys,base64; d=json.load(sys.stdin); open('/tmp/diagram.png','wb').write(base64.b64decode(d['png'])); print(d['editUrl'])"
message(action="send", filePath="/tmp/diagram.png", caption="✏️ Edit: {editUrl}")
clawhub excalidraw-canvas --create --title "系统架构图" --template flowchart --output arch_diagram.excalidraw && clawhub excalidraw-canvas --input arch_diagram.excalidraw --export png --output arch_diagram.png