# visual-annotator **Repository Path**: binghe021/visual-annotator ## Basic Information - **Project Name**: visual-annotator - **Description**: No description available - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-28 - **Last Updated**: 2026-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Visual Annotator(可视化标注工具) 一款浏览器扩展,用于在任意网页上标注元素并复制结构化 Markdown——专为 AI 编程助手打造。 标注元素、截取截图、捕获浏览器控制台日志,然后把一切粘贴到你选择的 AI 助手中。输出针对 AI 消费做了优化:包含选择器、边界框、计算样式以及截图文件路径的结构化 Markdown。 **一键捕获控制台** —— 所有 `console.log`、`console.warn`、`console.error` 以及未处理的异常都会在后台被记录。点击工具栏中的终端图标,即可将它们作为格式化的 Markdown 复制。图标上的红点会提醒你有错误发生。 ### 配合使用 **Markdown + 截图** —— 有本地文件系统访问权限的 AI 助手可以直接读取保存的截图文件: | 助手 | 用法 | |------|------| | **[Claude Code CLI](https://code.claude.com/docs/en/quickstart)** | 将 Markdown + 截图路径粘贴到 CLI 提示中 | | **[Claude Code VS Code](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code)** | 粘贴到 Claude Code 聊天面板 | | **[Cursor](https://cursor.com)** | 粘贴到聊天或 Cmd+K 行内编辑 | | **[Windsurf](https://windsurf.com)** | 粘贴到 Cascade 聊天 | | **[Cline](https://cline.bot)** | 粘贴到 VS Code 的聊天面板 | | **[Aider](https://github.com/Aider-AI/aider)** | 粘贴到 CLI 提示中 | | **[GitHub Copilot](https://github.com/features/copilot)** | 粘贴到 VS Code 的 Copilot 聊天 | | **[Pi](https://github.com/badlogic/pi-mono)** | 粘贴到 CLI 提示中 | | **[OpenCode](https://github.com/anomalyco/opencode)** | 粘贴到 CLI 提示中 | | **[Gemini CLI](https://geminicli.com)** | 粘贴到 CLI 提示中 | | **[Google Antigravity](https://antigravity.google)** | 粘贴到对话中 | **仅 Markdown** —— 没有文件系统访问权限的网页端 AI 助手可以获取完整的结构化 Markdown(选择器、样式、边界框),但无法加载截图文件: | 助手 | 用法 | |------|------| | **ChatGPT** | 粘贴到对话中 | | **[Gemini](https://gemini.google.com)** | 粘贴到对话中 | | 其他任何助手 | 只要能读 Markdown 就能用 | 无后端。无框架依赖。适用于所有网站。 ## 演示 https://github.com/user-attachments/assets/c954c6cb-d978-4980-a194-51a8702903c3 ## 安装 ### Mac 1. 下载或克隆此仓库 2. 打开 Chrome,进入 `chrome://extensions` 3. 开启**开发者模式**(右上角开关) 4. 点击**加载已解压的扩展程序** 5. 在文件对话框中,导航到下载的 `visual-annotator` 文件夹并选中 6. 扩展图标出现在工具栏——点击拼图图标,将 **Visual Annotator** 固定以便快速访问 ### Windows 1. 下载或克隆此仓库 2. 打开 Chrome,在地址栏输入 `chrome://extensions` 3. 开启**开发者模式**(右上角开关) 4. 点击**加载已解压的扩展程序** 5. 浏览到下载的 `visual-annotator` 文件夹并选中 6. 扩展图标出现在工具栏——点击拼图图标,将 **Visual Annotator** 固定以便快速访问 ### 更新 拉取新代码后更新: 1. 进入 `chrome://extensions` 2. 找到 **Visual Annotator**,点击重新加载图标(圆形箭头) ## 使用方法 1. **切换工具栏** —— 点击扩展图标或按 `Cmd+Shift+.`(Mac)/ `Ctrl+Shift+.`(Windows/Linux) 2. **标注** —— 点击钢笔图标(或按 `A`),然后点击页面上的任意元素 3. **评论** —— 可选地添加描述,选择意图和严重程度 4. **意图** —— 选择修复、变更、提问、通过或**复制**(获取元素的 HTML DOM) 5. **截图** —— 在标注弹窗中直接截取元素的裁剪截图 6. **复制** —— 点击复制图标,将所有标注作为结构化 Markdown 复制到剪贴板 7. **控制台** —— 点击终端图标,将捕获的控制台日志作为 Markdown 复制 8. **保存截图** —— 点击下载图标,批量将所有截图保存到本地 9. **导出分享包** —— 点击归档图标,导出含 Markdown + 截图的 ZIP 压缩包 10. **粘贴** —— 粘贴到任意 AI 助手的提示中 ## 扩展弹窗 点击扩展图标打开弹窗,包含以下选项: | 选项 | 说明 | |------|------| | 显示/隐藏工具栏 | 在当前页面切换标注工具栏 | | 始终开启 | 在每个页面自动显示工具栏 | | 自动复制 | 每次标注后自动将 Markdown 复制到剪贴板 | | 自动截图 | 每次标注时自动截取截图 | ## 工具栏按钮 | 按钮 | 快捷键 | 说明 | |------|--------|------| | 标注 | `A` | 切换元素选择模式 | | 复制 | — | 将所有标注作为 Markdown 复制 | | 控制台 | — | 将浏览器控制台日志作为 Markdown 复制 | | 保存截图 | — | 批量保存所有截图到本地 | | 导出分享包 | — | 导出含 Markdown + 截图的 ZIP 压缩包 | | 清空 | `X` | 移除所有标注 | | 最小化 | — | 将工具栏折叠为一个小悬浮按钮 | ## 元素选择器 标注模式激活时: - **悬停**元素可看到高亮和提示框(标签、类名、尺寸) - **Alt/Option + 滚动**可在父元素间循环切换 - **点击**选择元素并打开评论弹窗 - **点击编号标记**编辑已有标注 - **Escape**退出标注模式 ## 复制意图 **复制**意图让你获取页面上任意元素的完整 HTML DOM。当你想让 AI 助手理解精确的标记结构时非常有用——例如复刻组件、重构 HTML 或调试渲染问题。 选择"复制"作为意图时,会出现一个复选框:**包含元素的完整 HTML DOM**(默认勾选)。所选元素的完整 `outerHTML` 将作为代码块包含在 Markdown 输出中。 ```markdown ## 1. `div.card` [copy · important] - **Comment:** Replicate this card component - **HTML:** ```html

Title

Content with links

``` --- ``` ## Markdown 输出 复制按钮生成的 Markdown 如下: ```markdown # Visual Feedback — My App **URL:** https://myapp.com/dashboard **Viewport:** 1440x900 **Date:** 2025-01-15T10:30:00.000Z --- ## 1. `button.btn-primary` [fix · important] - **Comment:** The button should use the design system blue (#3B82F6), not green. - **URL:** https://myapp.com/dashboard - **Element:** `