← 返回 Skills 市场
0xartex

Excalidraw Canvas

作者 0xArtex · GitHub ↗ · v1.0.0
cross-platform ✓ 安全检测通过
899
总下载
0
收藏
4
当前安装
1
版本数
在 OpenClaw 中安装
/install excalidraw-canvas
功能描述
Create Excalidraw diagrams and render them as PNG images. Use whenever you need to draw, explain complex workflows, visualize UIs/wireframes, or diagram anyt...
使用说明 (SKILL.md)

Excalidraw Canvas

Render diagrams or any drawings as PNG via a hosted API. Always double-check coordinates of elements or arrows.

Render

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'])"

Response: {"success": true, "png": "\x3Cbase64>", "editUrl": "https://..../canvas/render-xxxxx"}

Always returns both the PNG image and an edit URL where your owner can modify the diagram in a full Excalidraw editor.

Element Types

All available types: rectangle, ellipse, diamond, text, arrow, line, freedraw

Shapes (rectangle, ellipse, diamond)

{"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 — position
  • width, height — size
  • bg — any hex fill color
  • stroke — border color (default #1e1e1e)
  • label — text centered inside the shape

Text

{"type":"text","x":100,"y":50,"text":"Title","fontSize":28}

Arrows & Lines

{"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]].

Freedraw

{"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.

Full Example

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'])"

Sending to User

message(action="send", filePath="/tmp/diagram.png", caption="✏️ Edit: {editUrl}")

Always include the edit URL so the user can tweak the diagram.

安全使用建议
This skill appears to do what it says: build and render Excalidraw diagrams via a hosted API and return a PNG plus an edit URL. Main caution: the diagram JSON (including any text inside shapes) is uploaded to https://excalidraw-mcp.up.railway.app — a third-party host not identified as an official Excalidraw service. Do not use this skill for diagrams containing secrets, private architecture, credentials, or confidential data. If you need stronger privacy, ask for a version that uses an official/external vetted API or self-hosted renderer, or test with only non-sensitive sample diagrams first. If you want higher assurance, request the maintainer/source or a trustworthy hosting domain before using with real data.
功能分析
Type: OpenClaw Skill Name: excalidraw-canvas Version: 1.0.0 The skill's purpose is to render Excalidraw diagrams via a hosted API. It makes a `curl` request to `https://excalidraw-mcp.up.railway.app/api/render` to send diagram data and receives a base64-encoded PNG, which is then saved to `/tmp/diagram.png` using a Python script. All actions, including external network calls and local file operations, are directly aligned with the stated purpose of creating and rendering diagrams. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, or prompt injection attempts to subvert the agent's behavior beyond its intended function, as detailed in SKILL.md.
能力评估
Purpose & Capability
Name/description (render Excalidraw diagrams to PNG) matches the SKILL.md: instructions POST diagram element JSON to a rendering API and return a PNG and edit URL. No unrelated binaries, env vars, or installs are requested.
Instruction Scope
Runtime instructions are narrowly scoped to: POST JSON to https://excalidraw-mcp.up.railway.app/api/render, decode base64 PNG to /tmp/diagram.png, and return/send the edit URL. They do not read arbitrary local files or request unrelated credentials. Note: the skill will transmit the full diagram payload to an external third-party service (including any text you put in shapes), and instructs writing a file to /tmp.
Install Mechanism
No install spec or code files are present (instruction-only). This is the lowest install risk — nothing is written to disk by the skill itself beyond the one PNG file it asks to create at /tmp/diagram.png.
Credentials
The skill requests no environment variables or credentials, which is proportionate. However, because it sends diagram content to an external, third-party endpoint (hosted on railway.app, not an official excalidraw.com domain), use caution: diagrams may contain sensitive information that would be disclosed to that service.
Persistence & Privilege
The skill does not request persistent presence, does not modify other skills or system settings, and uses default invocation settings. No elevated privileges or always-on behavior requested.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install excalidraw-canvas
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /excalidraw-canvas 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of excalidraw-canvas: - Create and render Excalidraw diagrams as PNG images via API. - Supports basic shapes (rectangle, ellipse, diamond), text, arrows, lines, and freehand drawing. - Returns both PNG image and an editable Excalidraw link with each render. - Detailed documentation and usage examples included.
元数据
Slug excalidraw-canvas
版本 1.0.0
许可证
累计安装 5
当前安装数 4
历史版本数 1
常见问题

Excalidraw Canvas 是什么?

Create Excalidraw diagrams and render them as PNG images. Use whenever you need to draw, explain complex workflows, visualize UIs/wireframes, or diagram anyt... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 899 次。

如何安装 Excalidraw Canvas?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install excalidraw-canvas」即可一键安装,无需额外配置。

Excalidraw Canvas 是免费的吗?

是的,Excalidraw Canvas 完全免费(开源免费),可自由下载、安装和使用。

Excalidraw Canvas 支持哪些平台?

Excalidraw Canvas 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Excalidraw Canvas?

由 0xArtex(@0xartex)开发并维护,当前版本 v1.0.0。

💬 留言讨论