用途
DesignCraft 是一个页面排版与文档设计应用,本技能用于通过其结构化自动化接口来操作 DesignCraft,完成页面布局、文本框、样式、图像放置和数据合并文档的创建与编辑。操作目标是保留可编辑的布局,并作用于用户当前选定的文档。
主要能力
- 通过桌面控制协议、MCP 服务器或 CLI 脚本操作 DesignCraft。
- 检查文档结构,包括页面、跨页、项目 ID 与边界、故事(story)、溢出文本、样式、色板、图层和选区。
- 编辑精确的框架、文本、样式与图像放置。
- 执行多命令 CLI 作业与 MCP 批量命令,支持结果引用。
- 数据合并:发现数据源字段、添加占位符、预览记录并执行合并,生成新文档而模板保持不变。
- 保存原生 .designcraft 文件并导出所需交付格式,渲染页面以核对结果。
使用方式
选择会话
先发现可用的 DesignCraft 工具、可执行文件和已有会话,优先使用已连接的 MCP 服务器。
- 编辑用户正在运行的应用:使用桌面控制,或
designcraft-cli mcp --connect PORT(也接受HOST:PORT)。 - 独立处理文件:
designcraft-cli mcp启动带空白 Letter 文档的进程内无头引擎,编辑前需先打开目标文件;此模式不改变用户的实时窗口。 - CLI 脚本既可处理文件,也可连接运行中的应用;选择参数前先查看
designcraft-cli --help与相关子命令。 - 启动所需桌面控制会话:
designcraft --control <port>或环境变量DESIGNCRAFT_CONTROL_PORT;7979 是上游示例,并非必需端口。尽量复用已有会话。服务器绑定回环地址且无身份验证,仅在使用期间启用。应用或连接不可用时,应报告缺失的前置条件。
控制传输与发现
桌面控制通道是原始 TCP 加 UTF-8 JSON 行,不是 HTTP 或 MCP JSON-RPC。每个换行发送一个请求,每个请求读取一个回复,使用唯一 ID,并在依赖操作前检查 ok:
{"id":1,"method":"document.inspect"}
{"id":2,"method":"ui.inspect"}
{"id":3,"method":"engine.commands"}
engine.execute 接收 {command, params};通过 engine.commands 发现命令 ID、参数和启用状态。使用 MCP 时可用 list_commands 和 execute,或在检查 schema 后使用专用工具。MCP 失败可能是 isError: true 的工具结果。
格式错误的行会关闭 TCP 连接,请求不得超过 4 MiB,服务器最多允许 16 个并发连接。错误回复后需重连。若变更操作丢失回复或超时,先检查文档结果再重放。无法确定是否执行时应停止并报告不确定性;重复创建或合并可能产生重复工作。
布局与文本编辑
在定位编辑前检查页面、跨页、项目 ID 与边界、故事、溢出、样式、色板、图层和选区。MCP 提供 inspect_document 和 get_story;桌面提供 document.inspect。当焦点、工具或对话框重要时,单独检查 UI 状态。
对精确的框架、文本、样式和图像放置,优先使用引擎命令或专用 MCP 工具。后续编辑使用实际返回的项目 ID 和故事 ID;当命令依赖选区或文本范围时先建立选区或文本范围。set_story_text 会替换故事文本;它用于替换而不是部分插入,除非本就期望完整结果文本。在适合所请求布局时保留文本串接和可编辑样式。
坐标单位为点(1/72 英寸),y 向下增大,位于跨页空间。在相对页跨页上,右页从 x = 页面宽度开始;应检查页面边界而非假定每页从零开始。MCP 的 render_page 和 export_png 使用从零开始的页面索引。解释框架的 rect 或其他几何数组前,先检查命令参数。
工具手势操作需有意识地选择当前工具。桌面 ui.pointer 支持显式 space: "canvas" 或 "screen";屏幕交互前检查缩放、原点和画布矩形。MCP 已连接指针也支持屏幕空间。键盘和文本输入依赖插入点或聚焦字段;确定性定位重要时优先使用故事或引擎编辑。
使用 ui.menu.list 和 ui.menu.invoke 操作菜单。无参数调用带参数的菜单命令可能打开其对话框而非执行编辑。检查对话框,用 ui.dialog.set 填写已文档化字段,然后确认或取消。不要假定菜单调用已完成文档更改。
脚本与数据合并
多命令 CLI 作业应先阅读 agent 指南。脚本接受命令行、JSON 行或 {command, params} 的 JSON 数组。结果引用如 "$0.story" 和 "$last.id" 可让后续步骤定位先前结果。MCP 批量支持命令或脚本文本,并在第一个错误处停止;继续前检查 failedIndex 和部分结果,不要盲目重放整个部分完成的批次。
数据合并需发现 data.source.select、data.fields、data.placeholder.add、data.options、data.preview、data.preview.stop 和 data.merge。添加占位符前检查源字段,并对代表性记录预览文本溢出与图像适配。data.merge 创建并激活新文档,模板保持不变;需将合并文档保存到预期输出路径。已废弃的 spread merge 参数会报错。
保存、导出与验证
使用桌面 app.open、app.save 和 app.export,或 MCP 的 open_document / save_document 处理原生 .designcraft 文件和已安装的导出命令。应发现格式特定参数而非猜测文件操作 schema。适当时保存可编辑原生文档,并单独导出所需交付格式。
检查结果文档结构和溢出文本,然后用 ui.render 或 MCP render_page 渲染相关页面并查看图像,检查边距、出血、文本流、裁剪和图像放置。窗口截图显示 UI 状态;页面渲染显示图稿,且无需呈现窗口即可使用。MCP 窗口工具需要连接模式。参考文档还记录了用于离屏整窗捕获的源码树 ui_shot 示例。
报告完成前验证保存和导出成功、实际输出文件存在且可读,返回保存路径及任何重要布局或导出问题。
适用场景
- 在 DesignCraft 中自动化创建与编辑页面布局、文本框、样式和图像。
- 基于模板的数据合并批量生成文档,并保留模板不变。
- 对已有 DesignCraft 文档进行检查、渲染与导出交付。
限制
- 本技能不安装 DesignCraft,也不配置 MCP 服务器。
- 桌面控制服务器绑定回环地址且无身份验证,仅应在使用期间启用。
- 请求不得超过 4 MiB,最多 16 个并发连接;格式错误的行会关闭连接。
- 变更操作丢失回复或超时时,存在无法确定是否执行的情况,需停止并报告。
- 参考快照为 2026-10-08 下载的上游未修改版本;已安装命令参数与快照不同时应以实际发现为准,不要借用其他 ArtCraft 应用的标志或 schema。