Token导航 LogoToken导航TokenDH.com
效率敏感数据clawhub未标认证来源可访问clear审计提醒

canvas-workspace画布工作区

Agent Skill

canvas-workspace 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,807

周安装

154

GitHub Stars

公开资料未说明

下载量

1,195
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:canvas-workspace(画布工作区)
来源仓库:https://github.com/quanming1/canvas-workspace
安装命令:
openclaw skills install canvas-workspace
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install canvas-workspace

简介

提供画布图片生成、编辑和操作能力,支持批量处理。

  • 适用于需要将图片推送到画布或处理用户标记的场景。
  • 包含文生图、图编辑和画布 API 调用功能。
  • 需确认是否涉及文件读写和网络请求权限。
  • 建议先测试本地环境再应用于生产流程。canvas-workspace 属于效率类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
canvas-workspace
description
>
metadata
clawdbot
emoji
🎨
requires
env
["QWEN_TEXT_IMAGE_API_KEY"]
bins
["python3", "npx"]
os
["linux", "darwin", "win32"]
primaryEnv
QWEN_TEXT_IMAGE_API_KEY
files
["scripts/*"]

画布工作区

!! 激活后立即执行以下流程

当此 skill 被激活时,你必须按顺序执行以下步骤,不要跳过任何一步。

步骤 1:启动画布工作区

npx deepminer-claw-canvas@latest

启动过程说明(告知用户):

  1. 首次运行会自动安装 Python 依赖(可能需要 1-2 分钟)
  2. 依赖安装完成后启动服务(可能需要 10-30 秒)
  3. 看到 Application startup complete 才表示启动成功
  4. 启动成功后会自动打开浏览器
  5. 默认地址:http://localhost:39301/claw
  6. 如果端口被占用会自动切换到下一个可用端口,以终端输出的实际地址为准
如需指定端口:CLAW_PORT=8080 npx deepminer-claw-canvas@latest

重要

  • 服务启动后保持终端运行
  • 后续的 gen/edit/push 命令需要在新终端中执行
  • 如果服务端口不是默认的 39301,执行脚本时需指定:CLAW_PORT=实际端口 npx deepminer-claw-canvas@latest gen ...

步骤 2:收集图片模型环境变量

主动向用户询问图片模型配置。必须明确说明:生图模型编辑图模型 是两种用途,建议分开配置。

同时提醒用户:如果 Claw Agent 所用底模具备多模态能力(能看图),处理图片编辑、标记理解、附件理解时效果通常更好;但这不是强制要求,是否切换模型由用户自行决定。

对用户这样说:

画布的图片能力需要两类模型:文生图模型编辑图模型,请分别提供对应的 API Key。 目前项目内置了 Qwen 的案例脚本,可以直接使用。如果你有 Qwen(通义万象 / DashScope)的 API Key,只需提供一个 Key 即可同时用于文生图和编辑图。 如果你想接入其他模型,可以参考内置脚本的写法,新写一个独立 Python 脚本。内置脚本在 npm 包内的 skills/canvas-workspace/scripts/ 目录。 如果暂时没有 API Key,画布基础能力(查看状态、推送已有图片)仍可使用,但无法生成或编辑新图片。

步骤 3:设置环境变量

用户提供变量后,必须设置为系统永久环境变量,不要设置临时变量(临时变量关闭终端后就失效)。

每类模型需要三个变量:API_KEY(必填)、MODEL(模型名)、BASE_URL(API 地址)。

使用 Qwen 案例脚本(默认)

Windows(设置永久用户环境变量):

[Environment]::SetEnvironmentVariable("QWEN_TEXT_IMAGE_API_KEY", "用户提供的值", "User")
[Environment]::SetEnvironmentVariable("QWEN_TEXT_IMAGE_MODEL", "qwen-image-2.0-pro", "User")
[Environment]::SetEnvironmentVariable("QWEN_BASE_URL", "https://dashscope.aliyuncs.com/api/v1", "User")

[Environment]::SetEnvironmentVariable("QWEN_EDIT_IMAGE_API_KEY", "用户提供的值", "User")
[Environment]::SetEnvironmentVariable("QWEN_EDIT_IMAGE_MODEL", "qwen-image-edit", "User")
设置后需要重启终端才能生效。

Mac/Linux(追加到 ~/.bashrc 或 ~/.zshrc):

echo 'export QWEN_TEXT_IMAGE_API_KEY="用户提供的值"' >> ~/.bashrc
echo 'export QWEN_TEXT_IMAGE_MODEL="qwen-image-2.0-pro"' >> ~/.bashrc
echo 'export QWEN_BASE_URL="https://dashscope.aliyuncs.com/api/v1"' >> ~/.bashrc

echo 'export QWEN_EDIT_IMAGE_API_KEY="用户提供的值"' >> ~/.bashrc
echo 'export QWEN_EDIT_IMAGE_MODEL="qwen-image-edit"' >> ~/.bashrc

source ~/.bashrc
如果文生图和编辑图使用同一个 Qwen Key,两个 API_KEY 填同一个值即可。 QWEN_BASE_URL 有默认值,不设也行;如果用新加坡地域需改成 https://dashscope-intl.aliyuncs.com/api/v1

使用自定义模型

如果用户要接入其他生图/编辑图模型,需要:

  1. 参考内置 Qwen 脚本(npm 包内 skills/canvas-workspace/scripts/ 目录),新写一个 Python 脚本;
  2. 在脚本中定义该模型自己的环境变量(命名建议:{PROVIDER}_TEXT_IMAGE_API_KEY{PROVIDER}_TEXT_IMAGE_MODEL{PROVIDER}_BASE_URL 等);
  3. 设置永久环境变量。

示例(假设接入 Gemini 文生图,Windows):

[Environment]::SetEnvironmentVariable("GEMINI_TEXT_IMAGE_API_KEY", "用户提供的值", "User")
[Environment]::SetEnvironmentVariable("GEMINI_TEXT_IMAGE_MODEL", "gemini-3.1-flash-image", "User")
[Environment]::SetEnvironmentVariable("GEMINI_BASE_URL", "https://api.example.com/v1", "User")

设置完成后告知用户画布已就绪,可以开始使用。

以上 3 步完成后,画布工作区已就绪。后续用户发送的生图/编辑请求,按下方「决策指引」处理。


决策指引

用户意图操作
文生图(Qwen)npx deepminer-claw-canvas gen --prompt "..."
文生图(Gemini)npx deepminer-claw-canvas gen --prompt "..." --provider gemini
标记编辑(消息含画布图片文件 URL)npx deepminer-claw-canvas edit --prompt "..." --markers-file "<画布图片文件URL>"
自由编辑 / 图生图 / 多图融合npx deepminer-claw-canvas edit --prompt "..." --raw-image <图片URL>
推送已有图片到画布npx deepminer-claw-canvas push --url "..."
查看画布当前状态Invoke-RestMethod -Uri "http://localhost:<端口>/api/canvas/sync/debug"

能力边界

允许禁止
生成/编辑图片删除画布上的图片
查看画布状态移动、缩放、旋转画布上的图片
用 Qwen 案例脚本作为其他模型接入模板在画布上添加标记(仅用户可操作)

Qwen 案例脚本

Qwen 脚本是 MVP 样板,不是统一 provider 框架。

如果未来要接别的模型:

  1. 复制 Qwen 脚本结构;
  2. 使用目标模型自己的 SDK;
  3. 定义该模型自己的 ENV;
  4. 保持相同的调用风格与输出 JSON(尽量一致)。

工具模块

脚本目录下提供了可复用的工具模块,用户构建自定义脚本时可直接导入使用:

模块用途
image_to_base64.py将图片地址(网络 URL 或本地路径)转为 base64 data URL
push_to_canvas.py将图片推送到画布(远程 URL 会自动下载转为本地 URL)

使用示例(在自定义脚本中):

from image_to_base64 import image_to_base64
from push_to_canvas import push_to_canvas

# 图片转 base64,用于传给 AI 模型
base64_url = image_to_base64("https://example.com/image.png")

# 推送图片到画布(远程 URL 自动转本地,避免跨域问题)
element_id, local_url = push_to_canvas("https://example.com/result.png")

1) 文生图脚本

# 使用 Qwen(默认)
npx deepminer-claw-canvas gen --prompt "一张极简海报,蓝白配色"

# 使用 Gemini
npx deepminer-claw-canvas gen --prompt "一张极简海报" --provider gemini
参数必填说明
--prompt文生图提示词
--size输出尺寸,如 1024*1024
--provider模型提供商(qwen/gemini),默认 qwen

生成的图片默认推送到画布。

2) 编辑图脚本

两种调用方式(互斥),生成的图片默认推送到画布:

# 标记编辑:从画布图片文件读取原图/标记图(URL 从用户消息中获取)
npx deepminer-claw-canvas edit --prompt "把<<标记点1>>修改为蓝色" --markers-file "<画布图片文件URL>"

# 自由编辑:直接传原图(URL 从用户消息中获取)
npx deepminer-claw-canvas edit --prompt "变成卡通风格" --raw-image "<图片URL>"

# 自由编辑(多图)
npx deepminer-claw-canvas edit --prompt "把图一的人物放到图二的背景上" --raw-image "img1.png" --raw-image "img2.png"
参数必填说明
--prompt编辑指令
--markers-file与 --raw-image 二选一画布图片文件 URL 或本地路径(标记编辑模式)
--raw-image与 --markers-file 二选一原图 URL 或本地路径,可多次传入(自由编辑模式)

3) 推送图片脚本

直接将已有图片 URL 推送到画布:

npx deepminer-claw-canvas push --url "https://example.com/image.png"

输出约定

脚本输出 JSON,格式尽量一致:

{"status":"ok","url":"https://...","local_url":"http://localhost:39301/uploads/...","element_id":"gen_xxx","pushed":true}

说明:

  • url:AI 模型返回的原始图片 URL(可能是远程 OSS 地址)
  • local_url:推送到画布的本地 URL(远程图片会自动下载转存)
  • element_id:画布上的元素 ID
  • pushed:是否成功推送到画布,false 表示推送失败但图片生成/编辑本身已成功

画布操作 API

接口用途
POST /api/canvas/sync/gen_image推送图片到画布
GET /api/canvas/sync/debug查看画布状态
POST /api/canvas/sync/inject_image批量注入图片

API 详情

POST /api/canvas/sync/gen_image

推送图片到画布。

curl -X POST http://localhost:<端口>/api/canvas/sync/gen_image \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/image.png"}'

GET /api/canvas/sync/debug

查看画布当前状态(图片列表、标记等)。

curl http://localhost:<端口>/api/canvas/sync/debug

画布图片协议

用户在画布上选择图片或标记图片后发消息,消息末尾附带画布图片文件 URL。文件中包含所有与画布相关的图片信息。

消息示例:

请把 <<标记点1>> 修改为蓝色,参考我选中的那张图片的配色

画布图片文件: http://localhost:<端口>/uploads/canvas_images_xxx.json

文件结构

{
  "canvas_markers": [
    {
      "id": "img_B",
      "raw_image": "http://localhost:<端口>/uploads/original_B.png",
      "marked_image": "http://localhost:<端口>/uploads/marked_B.png",
      "markers": [1, 2]
    }
  ],
  "selected_images": [
    {
      "id": "img_A",
      "raw_image": "http://localhost:<端口>/uploads/selected_A.png"
    }
  ]
}
字段含义
canvas_markers有标记的图片列表(原图 + 标记图 + 标记点编号)
selected_images用户选中但未标记的图片列表(仅原图)
raw_image无标记的原始图 URL
marked_image带彩色标记框的合成图 URL
markers标记点编号列表,对应消息中的 <<标记点N>>

处理规则

  1. 从消息末尾提取画布图片文件 URL
  2. 消息中有「画布图片文件」URL → 直接传给 edit --markers-file <URL>,脚本内部会自动下载和解析
  3. 消息中只有普通图片 URL(无标记) → 调用 edit --raw-image <URL>
  4. 两者都有 → 根据用户意图决定调用方式

环境变量参考

Qwen 文生图

环境变量何时必填默认值
QWEN_TEXT_IMAGE_API_KEY使用 Qwen 文生图时
QWEN_TEXT_IMAGE_MODELqwen-image-2.0-pro
QWEN_BASE_URLhttps://dashscope.aliyuncs.com/api/v1

Qwen 编辑图

环境变量何时必填默认值
QWEN_EDIT_IMAGE_API_KEY使用 Qwen 编辑图时
QWEN_EDIT_IMAGE_MODELqwen-image-edit

Gemini 文生图

环境变量何时必填默认值
GEMINI_TEXT_IMAGE_API_KEY使用 Gemini 文生图时
GEMINI_TEXT_IMAGE_MODELgemini-3.1-flash-image
GEMINI_BASE_URLhttps://api.mmw.ink

公共配置

环境变量何时必填默认值
CANVAS_SERVERhttp://localhost:<端口>(默认 39301)

Windows 环境注意事项

  • curl 在 PowerShell 中是 Invoke-WebRequest 的别名,参数不兼容。获取 HTTP 数据请使用 Invoke-RestMethod -Uri "<URL>",不要用 curl
  • web_fetch 等 MCP 工具无法访问 localhost 地址,获取本地服务数据必须用命令行。
  • 执行 shell 命令时使用 PowerShell 语法,不要使用 cmd 语法(& 串联命令在 PowerShell 中报错)。
  • PowerShell 中文错误输出可能显示为乱码(GBK/UTF-8 编码冲突),遇到乱码时根据上下文推断含义,不要将乱码原文展示给用户。

External Endpoints

URL发送的数据
https://dashscope.aliyuncs.com/api/v1Qwen 文生图/编辑图请求(prompt、图片 URL)
https://api.mmw.inkGemini 文生图请求(prompt)
http://localhost:<端口>/api/canvas/sync/*本地画布服务(图片推送、状态查询)

Security & Privacy

  • 会离开本机的数据:用户输入的 prompt、待编辑图片的 URL(发送至 Qwen/Gemini API)
  • 不会离开本机的数据:本地文件内容、环境变量值、画布状态数据
  • 所有对外网络请求均通过 HTTPS 加密传输
  • 本地画布服务仅监听 localhost,不暴露到外网

Model Invocation Note

本 Skill 可能由 OpenClaw 在对话中自主调用,属正常行为。 如不希望自动调用,可在 OpenClaw 设置中关闭该 Skill 的自动触发权限。

Trust Statement

使用本 Skill 时,您的 prompt 和图片 URL 将发送至阿里云 DashScope(Qwen)或第三方 Gemini 代理服务。 请仅在信任这些服务的前提下安装和使用本 Skill。

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

80.77%
按下载量换算965

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills