ClickDeck Core 使用指南
ClickDeck Core 是一个浏览器端可视化编辑器核心模块,作为 QuickUIDesign 的 DevTools 集成组件使用。本文档介绍如何在项目中安装、集成、配置和使用 ClickDeck Core。
安装
ClickDeck Core 内置于 QuickUIDesign 中,在开发环境下自动激活。集成到项目的方式如下:
如需手动集成,请确保项目中包含以下依赖:
- TypeScript(严格模式)
- DOM API(MutationObserver、FileReader、Canvas、Fullscreen API)
- localStorage 持久化支持
集成方式
作为 DevTools 组件
ClickDeck Core 作为 DevTools 面板集成到应用的开发环境中:
激活方式
首次激活时,编辑器会自动完成初始化(创建 Overlay、Panel、事件监听)。面板默认位于页面右下角,可拖拽到任意位置。
基本工作流
路径 A:直接样式编辑(快速微调)
适合轻量级样式修改(字号、颜色、间距、对齐等),所见即所得。
路径 B:意图标注 + AI Prompt 导出(复杂修改)
适合涉及移动、删除、自定义操作或需要描述具体意图的场景。
元素选中
选中后面板顶部显示 Selected: div.classname 形式的元素描述。文本标签(h1~h6、p、span、a、li、strong、em)点击后自动变为可编辑状态,可直接在页面上修改文字。
样式调整
面板功能按钮根据选中元素类型动态切换:
文本元素(h1-h6, p, span, a, li)
容器元素(div, section)
图片元素
撤销 / 重做
- 面板操作:点击 History 区域的 Undo / Redo 按钮
- 快捷键:
Ctrl+Z撤销,Ctrl+Shift+Z重做 - 分组撤销:同一时刻对同一元素的多个样式修改作为一组撤销/重做
- 注意事项:编辑文本时快捷键不生效(避免干扰原生输入撤销)
导出为 AI Prompt
这是 ClickDeck Core 的核心能力。它将直接样式修改和意图标注合并输出为一份结构化的 AI 编辑指令。
导出流程
Prompt 内容结构
典型 AI Prompt 包含:
- 页面上下文:URL、标题、范围
- 执行任务清单:带目标和详细说明的任务项
- 定位提示:如何在 DOM 中查找元素
- 全局编辑规则:保持无关内容不变
- 任务详情:逐个补丁描述和意图说明
- 最终一致性检查清单:视觉对比指南
何时使用哪种方式
AI 页面评审
面板提供三类评审 Prompt,编辑前让 AI 分析页面:
使用方式:点击按钮 → Prompt 复制到剪贴板 → 粘贴给能看见页面的 AI(如 Gemini)。
数据持久化
ClickDeck 在 localStorage 中保存编辑补丁,键为 clickdeck:page-edits:v1:{origin}{pathname}{search}。
恢复编辑: 刷新页面重新打开编辑器时,如果检测到未提交的编辑,面板显示 "Saved edits found (N)" 提示:
- Restore — 重新应用所有补丁
- Clear — 清除保存的编辑
注意: 持久化补丁仅包含可序列化的样式和属性修改。文本内容修改(ContentPatch)反序列化后需重新 DOM 匹配定位元素。
面板操作
架构概览
ClickDeck Core 采用分层架构:
关键设计决策:
- 非破坏性编辑:所有修改通过内联样式 + 补丁记录实现,不修改源文件
- "软意图"模式:意图编辑产生 AI Prompt 而非直接操作 DOM
- React 兼容:MutationObserver 检测并重新应用覆盖的修改
- 渐进式调整:固定增量而非绝对值,适合快速迭代微调
最佳实践
- 先做直接编辑,再标注意图 — 面板能做的直接做,AI Prompt 会同时包含实际补丁和意图说明
- 意图文字要具体 — 不要写 "优化这里",而是写 "把这个标题字号加大、颜色改为蓝色、添加下方阴影"
- 框选要精确 — 框选范围尽量贴合目标元素,减少 AI 误判
- 检查 Prompt 内容 — 确认任务清单完整、定位信息准确后再复制
- 逐页操作 — 每次 Prompt 只处理一个页面的修改,多页需求分别导出