你要基于 VisBug 现有代码架构,二次开发一个新的 Chrome 浏览器扩展产品,名字叫 Liaison。
Liaison 的定位不是普通调试工具,而是一个“AI 编程定位、网页样式编辑与批注”工具。它允许用户直接在任意网页上选中元素,像在 Figma 中一样调整样式、添加评论、查看修改列表,并导出结构化 Prompt 或 JSON 给开发者或 AI 使用。
注意:不是从零重写一个独立插件,而是基于 VisBug 现有能力进行增强开发,尽量复用 VisBug 的底层选择、测量、移动、布局和元素操作逻辑,只替换或扩展上层产品界面与工作流。
1. 在网页上直接选中元素,并进行可视化样式编辑。
4. 支持导出 JSON 和结构化 Prompt。
5. 支持 React 开发环境下的组件树 / 源码定位增强。
6. 支持固定编辑器、拖拽吸附、共享元素、批量评论。
7. 提供自定义颜色编辑器,支持纯色和填充渐变。
1. 基于 VisBug 现有架构开发,不要推翻重做。
4. 不允许把所有逻辑揉在一个文件里,必须模块化。
- 模式切换:设计、标尺、评论、自动布局、配置列表、更多
- top-toolbar.element.js
- top-toolbar.element.css
- 统一管理当前选中元素、hover 元素、多选元素
- style-panel.element.js
- style-panel.element.css
- 或拆成独立的 color-popover 模块
- comment-panel.element.js
- page-overview-panel.element.js
- liaison-app.element.js 为总入口
- padding 拖动时元素上显示可视化间距预览
- 不允许再用原生 color input 作为主交互
- stop 增加 / 删除 / 切换 / 拖拽
- 在开发环境下尝试从 React Fiber 读取:
请统一围绕“一个元素一条记录”组织,但支持组信息。
- shadowLayerNColorConfig
- mode: solid | gradient
- stops: [{ hex, opacity, position }]
第 1 步:基于 VisBug 接管顶部工具栏和模式切换
- 先复用 VisBug 选择 / 标尺 / move
第 8 步:完成 Prompt 和 React 上下文增强
2. Tab 在编辑器里优先切换输入框,不要误触工具栏。
3. Ctrl+Z / Cmd+Z 支持撤回样式修改。
4. 颜色弹窗、更多菜单、吸附提示、配置列表都不能被宿主容器裁剪。
5. 打开配置列表时,固定编辑器临时取消固定;关闭后恢复。
6. 浮层要挂在正确层级,避免跟页面元素抢事件。
7. 所有对页面的修改都要尽量实时预览,松手后正式提交。
7. 如何基于 VisBug 复用底层能力的说明
不要只给伪代码。请尽可能输出接近可运行、可直接继续开发的完整实现。