Sketch 是一款协同 SVG 画布工具,在浏览器中打开一个基于 Fabric.js 的 SVG 编辑器,用于协同可视化原型设计。Codex 通过 MCP 工具写入和读取 SVG,用户可在浏览器中交互编辑,改动经 WebSocket 实时同步。
主要能力(由 sketch-mcp-server 提供):打开命名画布并启动浏览器编辑器(sketch_open_canvas);读取当前 SVG(sketch_get_svg);整体替换画布(sketch_set_svg);追加元素(sketch_add_element);添加固定宽度自动换行文本框(sketch_add_textbox);锁定与解锁对象(sketch_lock_objects / sketch_unlock_objects);保存与加载 JSON 模板并列出模板(sketch_save_template / sketch_load_template / sketch_list_templates);设置缩放、平移、缩放适配(sketch_set_zoom / sketch_pan_to / sketch_zoom_to_fit);截图 PNG 用于视觉校验(sketch_capture_screenshot);清空画布(sketch_clear_canvas);聚焦画布(sketch_focus_canvas);列出与关闭画布(sketch_list_canvases / sketch_close_canvas)。每个画布在独立标签页打开,用不同名称区分不同绘图。
若编辑器显示 disconnected 或出现 WebSocket 错误,可能是残留服务进程阻塞,可先运行 pkill -f 'sketch-mcp-server/dist/index.js',再重连 MCP 服务器,下一次工具调用会重启它。
生成原型、线框和示意图时默认采用极简风格:白/浅灰背景、黑/深灰描边与文字,形状不填充,避免装饰色;描边 1-2px,仅强调时用 2-3px;无衬线字体并按字号建立层级(如标题 24px、正文 16px、标签 12px);简单形状,UI 元素圆角 rx=4-8,不用阴影和渐变;留白充足、按网格对齐。仅在颜色有语义时使用(如红色错误、绿色成功、蓝色交互元素)。
SVG 建议使用标准元素(rect、circle、ellipse、line、path、text、polygon、polyline),根元素加 xmlns,设置宽高(默认 1200x800),颜色用十六进制而非 rgba,图片用 image 内嵌 base64,避免 defs、linearGradient、filter 等 Fabric.js 支持有限的结构。
使用方式上,快速草图流程为:打开画布、写入或追加 SVG、用户在浏览器编辑、再读取 SVG 查看改动;流式构建流程为:打开画布、聚焦、清空、多次追加元素以实时呈现。适用场景包括线框图、原型、示意图的协同编辑与视觉校验。限制:依赖 WebSocket 与 MCP 服务器,可能出现断连;Fabric.js 对部分 SVG 特性支持有限;其余平台支持与收费信息暂未提供。