首页龙虾技能列表 › Excalidraw Canvas — Excalidraw 图表渲染

Excalidraw Canvas — Excalidraw 图表渲染

v1.0.0

使用 Excalidraw 创建图表并渲染为 PNG 图像。适用于绘制、解释复杂工作流、可视化 UI/线框图或创建任何图表。

0· 713·5 当前·5 累计
by @0xartex (0xArtex)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/3
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
medium confidence
该技能的指令和要求与其目的(通过托管 API 渲染 Excalidraw 图表)相符。它不需要凭据或安装,但会将图表数据发送到第三方端点,因此避免发送敏感内容。
评估建议
该技能似乎正在做它所声称的:通过托管 API 构建和渲染 Excalidraw 图表,并返回 PNG 图像和编辑 URL。主要警告:图表 JSON(包括形状内的任何文本)将上传到第三方主机 https://excalidraw-mcp.up.railway.app(不是官方 Excalidraw 服务)。不要使用此技能创建包含机密、私有架构、凭据或保密数据的图表。如果需要更强的隐私,请请求使用官方/外部审查的 API 或自托管渲染器,或者先使用非敏感样本图表进行测试。...
详细分析 ▾
用途与能力
名称/描述(渲染 Excalidraw 图表为 PNG)与 SKILL.md 匹配:指令将图表元素 JSON 发送到渲染 API,并返回 PNG 和编辑 URL。无不相关的二进制文件、环境变量或安装请求。
指令范围
运行时指令仅限于:向 https://excalidraw-mcp.up.railway.app/api/render 发送 JSON,解码 base64 PNG 到 /tmp/diagram.png,并返回/发送编辑 URL。它们不读取任意本地文件或请求不相关的凭据。注意:该技能将传输完整的图表有效负载到外部第三方服务(包括您在形状中输入的任何文本),并指示写入文件到 /tmp。
安装机制
没有安装规范或代码文件(仅指令)。这是最低的安装风险 — 除了它请求创建的 /tmp/diagram.png 之外,技能本身不会将任何内容写入磁盘。
凭证需求
该技能不请求环境变量或凭据,这是合理的。然而,因为它将图表内容发送到外部第三方端点(托管在 railway.app 上,而不是官方 excalidraw.com 域),请谨慎:图表可能包含将被披露给该服务的敏感信息。
持久化与权限
该技能不请求持久存在,不修改其他技能或系统设置,并使用默认调用设置。没有请求高级权限或始终开启的行为。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/3

excalidraw-canvas 初始发布:- 通过 API 创建和渲染 Excalidraw 图表为 PNG 图像。- 支持基本形状(矩形、椭圆、菱形)、文本、箭头、线和自由绘制。- 每次渲染返回 PNG 图像和可编辑的 Excalidraw 链接。- 包含详细文档和使用示例。

● 无害

安装命令 点击复制

官方npx clawhub@latest install excalidraw-canvas
镜像加速npx clawhub@latest install excalidraw-canvas --registry https://cn.clawhub-mirror.com

技能文档

渲染图表或任何绘图为 PNG 通过托管 API。始终检查元素或箭头的坐标。

渲染

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": [...]}')
# 保存 PNG
echo "$RESULT" | python3 -c "import json,sys,base64; d=json.load(sys.stdin); open('/tmp/diagram.png','wb').write(base64.b64decode(d['png']))"
# 获取编辑 URL
echo "$RESULT" | python3 -c "import json,sys; print(json.load(sys.stdin)['editUrl'])"
响应:{"success": true, "png": "", "editUrl": "https://..../canvas/render-xxxxx"} 始终返回 PNG 图像和可编辑的 Excalidraw 链接。

元素类型

所有可用类型:rectangleellipsediamondtextarrowlinefreedraw

形状(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?"}
  • xy — 位置
  • widthheight — 大小
  • bg — 任意十六进制填充颜色
  • stroke — 边框颜色(默认 #1e1e1e
  • label — 形状内居中的文本

文本

{"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]]}
点相对于 x、y。水平:[[0,0],[150,0]],垂直:[[0,0],[0,100]],弯曲:[[0,0],[0,50],[100,50]]

自由绘制

{"type":"freedraw","x":100,"y":100,"points":[[0,0],[5,3],[10,8],[20,15]]}
自由路径 — 相对于位置的 [x,y] 点数组。

完整示例

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="✏️ 编辑:{editUrl}") `` 始终包含编辑 URL,以便用户可以调整图表。

数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务