[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-GargantuaX--gemini-watermark-remover":3,"tool-GargantuaX--gemini-watermark-remover":64},[4,17,26,40,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,2,"2026-04-03T11:11:01",[13,14,15],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":23,"last_commit_at":32,"category_tags":33,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,34,35,36,15,37,38,13,39],"数据工具","视频","插件","其他","语言模型","音频",{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":10,"last_commit_at":46,"category_tags":47,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,38,37],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":16},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74939,"2026-04-05T23:16:38",[38,14,13,37],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":23,"last_commit_at":62,"category_tags":63,"status":16},2471,"tesseract","tesseract-ocr\u002Ftesseract","Tesseract 是一款历史悠久且备受推崇的开源光学字符识别（OCR）引擎，最初由惠普实验室开发，后由 Google 维护，目前由全球社区共同贡献。它的核心功能是将图片中的文字转化为可编辑、可搜索的文本数据，有效解决了从扫描件、照片或 PDF 文档中提取文字信息的难题，是数字化归档和信息自动化的重要基础工具。\n\n在技术层面，Tesseract 展现了强大的适应能力。从版本 4 开始，它引入了基于长短期记忆网络（LSTM）的神经网络 OCR 引擎，显著提升了行识别的准确率；同时，为了兼顾旧有需求，它依然支持传统的字符模式识别引擎。Tesseract 原生支持 UTF-8 编码，开箱即用即可识别超过 100 种语言，并兼容 PNG、JPEG、TIFF 等多种常见图像格式。输出方面，它灵活支持纯文本、hOCR、PDF、TSV 等多种格式，方便后续数据处理。\n\nTesseract 主要面向开发者、研究人员以及需要构建文档处理流程的企业用户。由于它本身是一个命令行工具和库（libtesseract），不包含图形用户界面（GUI），因此最适合具备一定编程能力的技术人员集成到自动化脚本或应用程序中",73286,"2026-04-03T01:56:45",[13,14],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":77,"owner_location":78,"owner_email":79,"owner_twitter":77,"owner_website":77,"owner_url":80,"languages":81,"stars":97,"forks":98,"last_commit_at":99,"license":100,"difficulty_score":101,"env_os":102,"env_gpu":103,"env_ram":104,"env_deps":105,"category_tags":111,"github_topics":77,"view_count":23,"oss_zip_url":77,"oss_zip_packed_at":77,"status":16,"created_at":112,"updated_at":113,"faqs":114,"releases":145},3351,"GargantuaX\u002Fgemini-watermark-remover","gemini-watermark-remover","A high-performance, 100% client-side tool for removing Gemini AI watermarks. Built with pure JavaScript, it leverages a mathematically precise Reverse Alpha Blending algorithm rather than unpredictable AI inpainting. \u002F 基于 Javascript 的纯浏览器端 Gemini AI 图像无损去水印工具，使用数学精确的反向 Alpha 混合算法","gemini-watermark-remover 是一款专为移除 Google Gemini AI 生成图像水印而设计的开源工具。它精准解决了用户在获取高质量 AI 创作内容时，难以完美去除官方强制添加的水印标识这一痛点，让图像恢复原始纯净状态。\n\n无论是需要整洁素材的设计师、进行视觉研究的研究人员，还是希望保存无干扰图片的普通用户，都能从中受益。该工具最大的技术亮点在于摒弃了传统依赖人工智能“猜测”修复（Inpainting）的方式，转而采用纯数学计算的“反向 Alpha 混合算法”。这种基于公式的精确推导，能够像素级无损地还原被水印覆盖的区域，避免了 AI 修复可能产生的画面扭曲或伪影。\n\n此外，gemini-watermark-remover 坚持 100% 客户端运行，所有图像处理均在浏览器本地完成，无需上传至任何服务器，从根本上保障了用户的隐私与数据安全。它支持自动识别不同尺寸的水印变体，并提供在线网页版和浏览器脚本两种便捷使用方式，无需安装复杂环境，拖入图片即可瞬间完成处理，兼顾了高效性与易用性。","[中文文档](README_zh.md)\n\n# Gemini Watermark Remover — Lossless Watermark Removal Tool\n\nAn open-source tool to **remove Gemini watermarks** from AI-generated images — losslessly and precisely. Built with pure JavaScript, the engine uses a mathematically exact **Reverse Alpha Blending** algorithm instead of unpredictable AI inpainting, delivering pixel-perfect Gemini watermark removal every time.\n\n> **🚀 Looking for an easy Gemini watermark removal tool? Try it now: [pilio.ai\u002Fgemini-watermark-remover](https:\u002F\u002Fpilio.ai\u002Fgemini-watermark-remover)** — free, no install, works directly in your browser.\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fpilio.ai\u002Fgemini-watermark-remover\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🛠️_Online_Tool-pilio.ai-blue?style=for-the-badge\" alt=\"Online Tool\">\u003C\u002Fa>&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fgemini.pilio.ai\u002Fuserscript\u002Fgemini-watermark-remover.user.js\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🐒_Userscript-Install-green?style=for-the-badge\" alt=\"Userscript\">\u003C\u002Fa>&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fgemini.pilio.ai\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🧪_Dev_Preview-gemini.pilio.ai-gray?style=for-the-badge\" alt=\"Developer Preview\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fcount.getloli.com\u002F@gemini-watermark-remover?name=gemini-watermark-remover&theme=minecraft&padding=7&offset=0&align=top&scale=1&pixelated=1&darkmode=auto\" width=\"400\">\n\u003C\u002Fp>\n\n## Features\n\n- ✅ **100% Client-side** - No backend, no server-side processing. Your data stays in your browser.\n- ✅ **Privacy-First** - Images are never uploaded to any server. Period.\n- ✅ **Mathematical Precision** - Based on the Reverse Alpha Blending formula, not \"hallucinating\" AI models.\n- ✅ **Auto-Detection** - Intelligent recognition of 48×48 or 96×96 watermark variants.\n- ✅ **User Friendly** - Simple drag-and-drop interface with instant processing.\n- ✅ **Cross-Platform** - Runs smoothly on all modern web browsers.\n\n## Gemini Watermark Removal Examples\n\n\u003Cdetails open>\n\u003Csummary>Click to Expand\u002FCollapse Examples\u003C\u002Fsummary>\n　\n\u003Cp>lossless diff example\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_25484bb417ef.webp\">\u003C\u002Fp>\n\n\n\u003Cp>example images\u003C\u002Fp>\n\n| Original Image | Watermark Removed |\n| :---: | :----: |\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_bf9c0f271376.webp\" width=\"400\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_b16b6db3da77.webp\" width=\"400\"> |\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_82243ff06b0c.webp\" width=\"400\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_601a6a415fb6.webp\" width=\"400\"> |\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_1b8be275ad0b.webp\" width=\"400\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_b72066dfb52c.webp\" width=\"400\"> |\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_5afa473ae629.webp\" width=\"400\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_9ffd57d2829b.webp\" width=\"400\"> |\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_f792641755d9.webp\" width=\"400\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_c7f6a7df19ac.webp\" width=\"400\"> |\n\n\u003C\u002Fdetails>\n\n## ⚠️ Disclaimer\n\n> [!WARNING]\n>  **USE AT YOUR OWN RISK**\n>\n> This tool modifies image files. While it is designed to work reliably, unexpected results may occur due to:\n> - Variations in Gemini's watermark implementation\n> - Corrupted or unusual image formats\n> - Edge cases not covered by testing\n>\n> The author assumes no responsibility for any data loss, image corruption, or unintended modifications. By using this tool, you acknowledge that you understand these risks.\n\n> [!NOTE]\n> **Note**: Disable any fingerprint defender extensions (e.g., Canvas Fingerprint Defender) to avoid processing errors. https:\u002F\u002Fgithub.com\u002FGargantuaX\u002Fgemini-watermark-remover\u002Fissues\u002F3\n\n## How to Remove Gemini Watermarks\n\n### Online Gemini Watermark Remover (Recommended)\n\nFor all users — the fastest and easiest way to remove Gemini watermarks from images:\n\n1. Open **[pilio.ai\u002Fgemini-watermark-remover](https:\u002F\u002Fpilio.ai\u002Fgemini-watermark-remover)**.\n2. Drag and drop or click to select your Gemini-generated image.\n3. The engine will automatically process and remove the watermark.\n4. Download the cleaned image.\n\n### Userscript for Gemini Conversation Pages\n\n1. Install a userscript manager (e.g., Tampermonkey or Greasemonkey).\n2. Open [gemini-watermark-remover.user.js](https:\u002F\u002Fgemini.pilio.ai\u002Fuserscript\u002Fgemini-watermark-remover.user.js).\n3. The script will install automatically.\n4. Navigate to Gemini conversation pages.\n5. Eligible Gemini preview images on the page are replaced in place after processing.\n6. Gemini's native \"Copy Image\" and \"Download Image\" actions also return processed results.\n\nCurrent userscript boundaries:\n\n- no injected per-image controls\n- no popup UI or bulk action surface\n- page previews and native copy\u002Fdownload flows are both processed when the source image is reachable\n- preview images keep the original visible while processing, with a subdued `Processing...` overlay\n- if preview processing fails, the original page image stays visible and usable\n\n### Developer Preview\n\nIf you are a developer or contributor, you can preview the latest development build at [gemini.pilio.ai](https:\u002F\u002Fgemini.pilio.ai). This site is a separate online preview\u002Flocal-processing experience, distinct from the userscript. It may contain experimental features and is not intended for general use.\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Development build\npnpm dev\n\n# Production build\npnpm build\n\n# Local preview\npnpm serve\n```\n\n## SDK Usage\n\nThe package root now exposes a small public SDK for third-party integrations:\n\n```javascript\nimport {\n  createWatermarkEngine,\n  removeWatermarkFromImage,\n  removeWatermarkFromImageData,\n  removeWatermarkFromImageDataSync,\n} from 'gemini-watermark-remover';\n```\n\nUse the pure-data API when you already have decoded `ImageData`:\n\n```javascript\nconst result = await removeWatermarkFromImageData(imageData, {\n  adaptiveMode: 'auto',\n  maxPasses: 4,\n});\n\nconsole.log(result.meta.decisionTier);\n```\n\nUse the browser image API when you have an `HTMLImageElement` or `HTMLCanvasElement`:\n\n```javascript\nconst { canvas, meta } = await removeWatermarkFromImage(imageElement);\ndocument.body.append(canvas);\nconsole.log(meta.applied, meta.decisionTier);\n```\n\nIf you need to process many images, reuse a single engine instance so alpha maps stay cached:\n\n```javascript\nconst engine = await createWatermarkEngine();\nconst first = await removeWatermarkFromImageData(imageDataA, { engine });\nconst second = await removeWatermarkFromImageData(imageDataB, { engine });\n```\n\nFor Node.js integrations, use the dedicated subpath and inject your own decoder\u002Fencoder:\n\n```javascript\nimport { removeWatermarkFromBuffer } from 'gemini-watermark-remover\u002Fnode';\n\nconst result = await removeWatermarkFromBuffer(inputBuffer, {\n  mimeType: 'image\u002Fpng',\n  decodeImageData: yourDecodeFn,\n  encodeImageData: yourEncodeFn,\n});\n```\n\n## Testing\n\n```bash\n# Run all tests\npnpm test\n```\n\nRegression tests include image fixtures from `src\u002Fassets\u002Fsamples\u002F`.\nSource samples stay in git.\nLocal files under `src\u002Fassets\u002Fsamples\u002Ffix\u002F` are optional snapshot outputs for manual regression checks and are intentionally not tracked by git.\n\n## Release Notes\n\nSee [CHANGELOG.md](CHANGELOG.md) for release history and [RELEASE.md](RELEASE.md) for the local release checklist.\n\n## How Gemini Watermark Removal Works\n\n### The Gemini Watermarking Process\n\nGemini applies watermarks using standard alpha compositing:\n\n$$watermarked = \\alpha \\cdot logo + (1 - \\alpha) \\cdot original$$\n\nWhere:\n- `watermarked`: The pixel value with the watermark.\n- `α`: The Alpha channel value (0.0 - 1.0).\n- `logo`: The watermark logo color value (White = 255).\n- `original`: The raw, original pixel value we want to recover.\n\n### The Reverse Solution\n\nTo remove the watermark, we solve for `original`:\n\n$$original = \\frac{watermarked - \\alpha \\cdot logo}{1 - \\alpha}$$\n\nBy capturing the watermark on a known solid background, we reconstruct the exact Alpha map and apply the inverse formula to restore the original pixels with zero loss.\n\n## Detection Rules\n\nThe engine no longer relies on a single coarse `48\u002F96 + 32\u002F64` heuristic.\n\nCurrent detection is layered:\n\n- Use an official Gemini size catalog as the primary prior for anchor selection\n- Project near-official exports back onto the closest documented size family\n- Search locally around both default anchors and catalog-derived anchors\n- Accept removal only after restoration validation confirms suppression is real\n\nThe fallback default configs are still:\n\n| Default Condition | Watermark Size | Right Margin | Bottom Margin |\n| :--- | :--- | :--- | :--- |\n| large documented \u002F inferred outputs | 96×96 | 64px | 64px |\n| smaller documented \u002F inferred outputs | 48×48 | 32px | 32px |\n\n## Project Structure\n\n```text\ngemini-watermark-remover\u002F\n├── public\u002F\n│   ├── index.html         # Main page\n│   └── terms.html         # Terms of Service page\n├── src\u002F\n│   ├── core\u002F\n│   │   ├── alphaMap.js    # Alpha map calculation logic\n│   │   ├── blendModes.js  # Implementation of Reverse Alpha Blending\n│   │   └── watermarkEngine.js  # Main engine coordinator\n│   ├── assets\u002F\n│   │   ├── bg_48.png      # Pre-captured 48×48 watermark map\n│   │   └── bg_96.png      # Pre-captured 96×96 watermark map\n│   ├── i18n\u002F              # Internationalization language files\n│   ├── userscript\u002F        # Userscript for Gemini\n│   ├── app.js             # Website application entry point\n│   └── i18n.js            # Internationalization utilities\n├── dist\u002F                  # Build output directory\n├── scripts\u002F               # Local automation and debug launchers\n├── build.js               # Build script\n└── package.json\n```\n\n## Core Modules\n\n### alphaMap.js\n\nCalculates the Alpha channel by comparing captured watermark assets:\n\n```javascript\nexport function calculateAlphaMap(bgCaptureImageData) {\n    \u002F\u002F Extract max RGB channel and normalize to [0, 1]\n    const alphaMap = new Float32Array(width * height);\n    for (let i = 0; i \u003C alphaMap.length; i++) {\n        const maxChannel = Math.max(r, g, b);\n        alphaMap[i] = maxChannel \u002F 255.0;\n    }\n    return alphaMap;\n}\n```\n\n### blendModes.js\n\nThe mathematical core of the tool:\n\n```javascript\nexport function removeWatermark(imageData, alphaMap, position) {\n    \u002F\u002F Formula: original = (watermarked - α × 255) \u002F (1 - α)\n    for (let row = 0; row \u003C height; row++) {\n        for (let col = 0; col \u003C width; col++) {\n            const alpha = Math.min(alphaMap[idx], MAX_ALPHA);\n            const original = (watermarked - alpha * 255) \u002F (1.0 - alpha);\n            imageData.data[idx] = Math.max(0, Math.min(255, original));\n        }\n    }\n}\n```\n\n## Browser Compatibility\n\n- ✅ Chrome 90+\n- ✅ Firefox 88+\n- ✅ Safari 14+\n- ✅ Edge 90+\n\nRequired APIs:\n- ES6 Modules\n- Canvas API\n- Async\u002FAwait\n- TypedArray (Float32Array, Uint8ClampedArray)\n\n---\n\n## Limitations\n\n- Only removes **Gemini visible watermarks** \u003Csmall>(the semi-transparent logo in bottom-right)\u003C\u002Fsmall>\n- Does not remove invisible\u002Fsteganographic watermarks. \u003Csmall>[(Learn more about SynthID)](https:\u002F\u002Fsupport.google.com\u002Fgemini\u002Fanswer\u002F16722517)\u003C\u002Fsmall>\n- Designed for Gemini's current watermark pattern \u003Csmall>(as of 2025)\u003C\u002Fsmall>\n\n## Legal Disclaimer\n\nThis tool is provided for **personal and educational use only**. \n\nThe removal of watermarks may have legal implications depending on your jurisdiction and the intended use of the images. Users are solely responsible for ensuring their use of this tool complies with applicable laws, terms of service, and intellectual property rights.\n\nThe author does not condone or encourage the misuse of this tool for copyright infringement, misrepresentation, or any other unlawful purposes.\n\n**THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM THE USE OF THIS SOFTWARE.**\n\n## Credits\n\nThis project is a JavaScript port of the [Gemini Watermark Tool](https:\u002F\u002Fgithub.com\u002Fallenk\u002FGeminiWatermarkTool) by Allen Kuo ([@allenk](https:\u002F\u002Fgithub.com\u002Fallenk)).\n\nThe Reverse Alpha Blending method and calibrated watermark masks are based on the original work © 2024 AllenK (Kwyshell), licensed under MIT License.\n\n## Related Links\n\n- [Gemini Watermark Tool](https:\u002F\u002Fgithub.com\u002Fallenk\u002FGeminiWatermarkTool)\n- [Removing Gemini AI Watermarks: A Deep Dive into Reverse Alpha Blending](https:\u002F\u002Fallenkuo.medium.com\u002Fremoving-gemini-ai-watermarks-a-deep-dive-into-reverse-alpha-blending-bbbd83af2a3f)\n\n## License\n\n[MIT License](.\u002FLICENSE)\n","[中文文档](README_zh.md)\n\n# Gemini 水印移除工具 — 无损水印移除工具\n\n一款开源工具，用于从 AI 生成的图像中**无损且精确地移除 Gemini 水印**。该引擎完全由纯 JavaScript 构建，采用数学上精确的**反向 Alpha 混合算法**，而非不可预测的 AI 修复技术，每次都能实现像素级完美的 Gemini 水印移除。\n\n> **🚀 正在寻找简单的 Gemini 水印移除工具吗？立即试用：[pilio.ai\u002Fgemini-watermark-remover](https:\u002F\u002Fpilio.ai\u002Fgemini-watermark-remover)** — 免费、无需安装，直接在浏览器中运行。\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fpilio.ai\u002Fgemini-watermark-remover\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🛠️_Online_Tool-pilio.ai-blue?style=for-the-badge\" alt=\"在线工具\">\u003C\u002Fa>&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fgemini.pilio.ai\u002Fuserscript\u002Fgemini-watermark-remover.user.js\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🐒_Userscript-Install-green?style=for-the-badge\" alt=\"用户脚本\">\u003C\u002Fa>&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fgemini.pilio.ai\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🧪_Dev_Preview-gemini.pilio.ai-gray?style=for-the-badge\" alt=\"开发者预览\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fcount.getloli.com\u002F@gemini-watermark-remover?name=gemini-watermark-remover&theme=minecraft&padding=7&offset=0&align=top&scale=1&pixelated=1&darkmode=auto\" width=\"400\">\n\u003C\u002Fp>\n\n## 特性\n\n- ✅ **100% 客户端处理** - 无需后端，不进行服务器端处理。您的数据始终保留在浏览器中。\n- ✅ **隐私优先** - 图像绝不会上传到任何服务器。绝对没有。\n- ✅ **数学精度** - 基于反向 Alpha 混合公式，而非“幻觉式”AI 模型。\n- ✅ **自动检测** - 智能识别 48×48 或 96×96 尺寸的水印变体。\n- ✅ **用户友好** - 简单的拖放界面，即时处理。\n- ✅ **跨平台** - 在所有现代 Web 浏览器上流畅运行。\n\n## Gemini 水印移除示例\n\n\u003Cdetails open>\n\u003Csummary>点击展开\u002F收起示例\u003C\u002Fsummary>\n　\n\u003Cp>无损差异示例\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_25484bb417ef.webp\">\u003C\u002Fp>\n\n\n\u003Cp>示例图片\u003C\u002Fp>\n\n| 原图 | 水印已移除 |\n| :---: | :----: |\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_bf9c0f271376.webp\" width=\"400\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_b16b6db3da77.webp\" width=\"400\"> |\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_82243ff06b0c.webp\" width=\"400\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_601a6a415fb6.webp\" width=\"400\"> |\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_1b8be275ad0b.webp\" width=\"400\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_b72066dfb52c.webp\" width=\"400\"> |\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_5afa473ae629.webp\" width=\"400\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_9ffd57d2829b.webp\" width=\"400\"> |\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_f792641755d9.webp\" width=\"400\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_readme_c7f6a7df19ac.webp\" width=\"400\"> |\n\n\u003C\u002Fdetails>\n\n## ⚠️ 免责声明\n\n> [!WARNING]\n>  **请自行承担风险**\n>\n> 本工具会修改图像文件。虽然它被设计为可靠运行，但由于以下原因仍可能出现意外结果：\n> - Gemini 水印实现方式的差异\n> - 损坏或异常的图像格式\n> - 测试未覆盖的边缘情况\n>\n> 作者对任何数据丢失、图像损坏或意外修改不承担任何责任。使用本工具即表示您理解这些风险。\n\n> [!NOTE]\n> **注意**：为避免处理错误，请禁用任何指纹防护扩展（例如 Canvas Fingerprint Defender）。https:\u002F\u002Fgithub.com\u002FGargantuaX\u002Fgemini-watermark-remover\u002Fissues\u002F3\n\n## 如何移除 Gemini 水印\n\n### 在线 Gemini 水印移除工具（推荐）\n\n对于所有用户来说，这是从图像中移除 Gemini 水印最快最简单的方法：\n\n1. 打开 **[pilio.ai\u002Fgemini-watermark-remover](https:\u002F\u002Fpilio.ai\u002Fgemini-watermark-remover)**。\n2. 将您的 Gemini 生成的图像拖放到页面上，或点击选择图像。\n3. 引擎将自动处理并移除水印。\n4. 下载清理后的图像。\n\n### 适用于 Gemini 对话页面的用户脚本\n\n1. 安装一个用户脚本管理器（例如 Tampermonkey 或 Greasemonkey）。\n2. 打开 [gemini-watermark-remover.user.js](https:\u002F\u002Fgemini.pilio.ai\u002Fuserscript\u002Fgemini-watermark-remover.user.js)。\n3. 脚本将自动安装。\n4. 导航到 Gemini 对话页面。\n5. 页面上的符合条件的 Gemini 预览图将在处理后原位替换。\n6. Gemini 的原生“复制图像”和“下载图像”功能也会返回处理后的结果。\n\n当前用户脚本的限制：\n\n- 不会注入每张图像的控制按钮\n- 没有弹出式 UI 或批量操作界面\n- 当源图像可访问时，页面预览和原生复制\u002F下载流程都会被处理\n- 预览图像在处理过程中保持原始可见，并叠加一个淡化的“处理中…”提示\n- 如果预览处理失败，原始页面图像仍将可见并可用\n\n### 开发者预览\n\n如果您是开发者或贡献者，可以在 [gemini.pilio.ai](https:\u002F\u002Fgemini.pilio.ai) 上预览最新的开发版本。该站点是一个独立的在线预览\u002F本地处理体验，与用户脚本不同。它可能包含实验性功能，不适合一般用户使用。\n\n## 开发\n\n```bash\n# 安装依赖\npnpm install\n\n# 开发构建\npnpm dev\n\n# 生产构建\npnpm build\n\n# 本地预览\npnpm serve\n```\n\n## SDK 使用\n\n软件包根目录现在提供了一个小型公共 SDK，供第三方集成使用：\n\n```javascript\nimport {\n  createWatermarkEngine,\n  removeWatermarkFromImage,\n  removeWatermarkFromImageData,\n  removeWatermarkFromImageDataSync,\n} from 'gemini-watermark-remover';\n```\n\n当您已经拥有解码后的 `ImageData` 时，请使用纯数据 API：\n\n```javascript\nconst result = await removeWatermarkFromImageData(imageData, {\n  adaptiveMode: 'auto',\n  maxPasses: 4,\n});\n\nconsole.log(result.meta.decisionTier);\n```\n\n当您拥有 `HTMLImageElement` 或 `HTMLCanvasElement` 时，请使用浏览器图像 API：\n\n```javascript\nconst { canvas, meta } = await removeWatermarkFromImage(imageElement);\ndocument.body.append(canvas);\nconsole.log(meta.applied, meta.decisionTier);\n```\n\n如果需要处理大量图像，可以重复使用同一个引擎实例，以使 Alpha 映射保持缓存：\n\n```javascript\nconst engine = await createWatermarkEngine();\nconst first = await removeWatermarkFromImageData(imageDataA, { engine });\nconst second = await removeWatermarkFromImageData(imageDataB, { engine });\n```\n\n对于 Node.js 集成，请使用专用子路径，并注入您自己的解码器\u002F编码器：\n\n```javascript\nimport { removeWatermarkFromBuffer } from 'gemini-watermark-remover\u002Fnode';\n\nconst result = await removeWatermarkFromBuffer(inputBuffer, {\n  mimeType: 'image\u002Fpng',\n  decodeImageData: yourDecodeFn,\n  encodeImageData: yourEncodeFn,\n});\n```\n\n## 测试\n\n```bash\n# 运行所有测试\npnpm test\n```\n\n回归测试包括来自 `src\u002Fassets\u002Fsamples\u002F` 的图像样本。源样本保留在 Git 中。位于 `src\u002Fassets\u002Fsamples\u002Ffix\u002F` 下的本地文件是用于手动回归检查的可选快照输出，故意未被 Git 跟踪。\n\n## 发布说明\n\n有关发布历史，请参阅 [CHANGELOG.md](CHANGELOG.md)，有关本地发布清单，请参阅 [RELEASE.md](RELEASE.md)。\n\n## Gemini 水印移除的工作原理\n\n### 双子座水印处理流程\n\n双子座使用标准的 Alpha 合成方法添加水印：\n\n$$watermarked = \\alpha \\cdot logo + (1 - \\alpha) \\cdot original$$\n\n其中：\n- `watermarked`：带有水印的像素值。\n- `α`：Alpha 通道值（0.0 - 1.0）。\n- `logo`：水印标志的颜色值（白色 = 255）。\n- `original`：我们希望恢复的原始像素值。\n\n### 逆向解法\n\n为了去除水印，我们解出 `original`：\n\n$$original = \\frac{watermarked - \\alpha \\cdot logo}{1 - \\alpha}$$\n\n通过在已知的纯色背景上捕获水印，我们可以重建精确的 Alpha 图，并应用逆向公式来无损地恢复原始像素。\n\n## 检测规则\n\n引擎不再依赖单一的粗略 `48\u002F96 + 32\u002F64` 启发式方法。\n\n当前的检测是分层进行的：\n- 使用官方的双子座尺寸目录作为锚点选择的主要先验信息\n- 将接近官方导出的图像投影回最接近的已记录尺寸族\n- 在默认锚点和基于目录推导出的锚点附近进行本地搜索\n- 只有在恢复验证确认水印确实被移除后，才接受移除操作\n\n备用的默认配置仍然是：\n\n| 默认条件 | 水印尺寸 | 右边距 | 底边距 |\n| :--- | :--- | :--- | :--- |\n| 大型已记录或推断输出 | 96×96 | 64px | 64px |\n| 较小的已记录或推断输出 | 48×48 | 32px | 32px |\n\n## 项目结构\n\n```text\ngemini-watermark-remover\u002F\n├── public\u002F\n│   ├── index.html         # 主页\n│   └── terms.html         # 服务条款页面\n├── src\u002F\n│   ├── core\u002F\n│   │   ├── alphaMap.js    # Alpha 图计算逻辑\n│   │   ├── blendModes.js  # 逆向 Alpha 混合模式实现\n│   │   └── watermarkEngine.js  # 主引擎协调器\n│   ├── assets\u002F\n│   │   ├── bg_48.png      # 预捕获的 48×48 水印图\n│   │   └── bg_96.png      # 预捕获的 96×96 水印图\n│   ├── i18n\u002F              # 国际化语言文件\n│   ├── userscript\u002F        # 适用于双子座的用户脚本\n│   ├── app.js             # 网站应用入口文件\n│   └── i18n.js            # 国际化工具\n├── dist\u002F                  # 构建输出目录\n├── scripts\u002F               # 本地自动化与调试启动脚本\n├── build.js               # 构建脚本\n└── package.json\n```\n\n## 核心模块\n\n### alphaMap.js\n\n通过比较捕获的水印素材来计算 Alpha 通道：\n\n```javascript\nexport function calculateAlphaMap(bgCaptureImageData) {\n    \u002F\u002F 提取 RGB 通道的最大值并归一化到 [0, 1]\n    const alphaMap = new Float32Array(width * height);\n    for (let i = 0; i \u003C alphaMap.length; i++) {\n        const maxChannel = Math.max(r, g, b);\n        alphaMap[i] = maxChannel \u002F 255.0;\n    }\n    return alphaMap;\n}\n```\n\n### blendModes.js\n\n该工具的数学核心：\n\n```javascript\nexport function removeWatermark(imageData, alphaMap, position) {\n    \u002F\u002F 公式：original = (watermarked - α × 255) \u002F (1 - α)\n    for (let row = 0; row \u003C height; row++) {\n        for (let col = 0; col \u003C width; col++) {\n            const alpha = Math.min(alphaMap[idx], MAX_ALPHA);\n            const original = (watermarked - alpha * 255) \u002F (1.0 - alpha);\n            imageData.data[idx] = Math.max(0, Math.min(255, original));\n        }\n    }\n}\n```\n\n## 浏览器兼容性\n\n- ✅ Chrome 90+\n- ✅ Firefox 88+\n- ✅ Safari 14+\n- ✅ Edge 90+\n\n所需 API：\n- ES6 模块\n- Canvas API\n- Async\u002FAwait\n- 类型数组（Float32Array、Uint8ClampedArray）\n\n---\n\n## 限制\n\n- 仅能移除 **双子座可见水印** \u003Csmall>（右下角的半透明标志）\u003C\u002Fsmall>\n- 无法移除隐形或隐写术水印。 \u003Csmall>[(了解 SynthID)](https:\u002F\u002Fsupport.google.com\u002Fgemini\u002Fanswer\u002F16722517)\u003C\u002Fsmall>\n- 专为双子座当前的水印模式设计 \u003Csmall>（截至 2025 年）\u003C\u002Fsmall>\n\n## 法律声明\n\n本工具仅供 **个人和教育用途** 使用。\n\n移除水印可能涉及法律问题，具体取决于您所在的司法管辖区以及图像的预期用途。用户应自行负责确保其使用本工具符合相关法律、服务条款及知识产权规定。\n\n作者不纵容或鼓励将本工具用于侵犯版权、虚假陈述或其他任何非法目的。\n\n**本软件按“原样”提供，不提供任何形式的明示或暗示保证。无论何种情况下，作者均不对因使用本软件而产生的任何索赔、损害赔偿或其他责任承担责任。**\n\n## 致谢\n\n该项目是 Allen Kuo ([@allenk](https:\u002F\u002Fgithub.com\u002Fallenk)) 的 [Gemini Watermark Tool](https:\u002F\u002Fgithub.com\u002Fallenk\u002FGeminiWatermarkTool) 的 JavaScript 版本。\n\n逆向 Alpha 混合方法和校准后的水印掩码基于原始作品 © 2024 AllenK (Kwyshell)，采用 MIT 许可证授权。\n\n## 相关链接\n\n- [Gemini Watermark Tool](https:\u002F\u002Fgithub.com\u002Fallenk\u002FGeminiWatermarkTool)\n- [移除双子座 AI 水印：深入解析逆向 Alpha 混合](https:\u002F\u002Fallenkuo.medium.com\u002Fremoving-gemini-ai-watermarks-a-deep-dive-into-reverse-alpha-blending-bbbd83af2a3f)\n\n## 许可证\n\n[MIT 许可证](.\u002FLICENSE)","# Gemini Watermark Remover 快速上手指南\n\nGemini Watermark Remover 是一款基于纯 JavaScript 开发的开源工具，利用数学上精确的**反向 Alpha 混合（Reverse Alpha Blending）**算法，无损且精准地移除 Google Gemini 生成的图片水印。该工具完全在客户端运行，无需上传任何数据，确保隐私安全。\n\n## 环境准备\n\n本工具主要作为浏览器端应用或用户脚本运行，同时也提供 Node.js SDK 供开发者集成。\n\n### 系统要求\n- **操作系统**：Windows, macOS, Linux (跨平台)\n- **浏览器**（在线版\u002F本地预览）：\n  - Chrome 90+\n  - Firefox 88+\n  - Safari 14+\n  - Edge 90+\n- **Node.js 环境**（仅开发或 SDK 集成需要）：建议安装 Node.js v16+ 及 `pnpm` 包管理器。\n\n### 前置依赖\n- **在线使用**：无需安装任何依赖，仅需现代浏览器。\n- **本地开发\u002F构建**：\n  - Node.js\n  - pnpm (`npm install -g pnpm`)\n- **用户脚本模式**：需安装脚本管理器扩展（如 Tampermonkey 或 Greasemonkey）。\n\n> **注意**：为避免处理错误，请禁用各类指纹防御扩展（如 Canvas Fingerprint Defender）。\n\n## 安装步骤\n\n根据您的需求选择以下任一方式：\n\n### 方式一：在线直接使用（推荐）\n无需安装，适合所有用户快速去水印。\n1. 访问官方在线工具：[pilio.ai\u002Fgemini-watermark-remover](https:\u002F\u002Fpilio.ai\u002Fgemini-watermark-remover)\n\n### 方式二：安装用户脚本（自动化处理）\n适合经常在 Gemini 对话页面操作的用户，可自动处理页面上的预览图。\n1. 确保浏览器已安装 **Tampermonkey** 或 **Greasemonkey** 扩展。\n2. 点击以下链接自动安装脚本：\n   [gemini-watermark-remover.user.js](https:\u002F\u002Fgemini.pilio.ai\u002Fuserscript\u002Fgemini-watermark-remover.user.js)\n3. 安装完成后，刷新 Gemini 对话页面即可生效。\n\n### 方式三：本地源码部署（开发者）\n适合需要二次开发或离线运行的用户。\n\n```bash\n# 克隆项目仓库\ngit clone https:\u002F\u002Fgithub.com\u002FGargantuaX\u002Fgemini-watermark-remover.git\ncd gemini-watermark-remover\n\n# 安装依赖\npnpm install\n\n# 启动本地开发预览服务\npnpm dev\n\n# 生产环境构建\npnpm build\n\n# 本地静态服务预览\npnpm serve\n```\n\n## 基本使用\n\n### 场景 A：在线移除水印\n1. 打开 [pilio.ai\u002Fgemini-watermark-remover](https:\u002F\u002Fpilio.ai\u002Fgemini-watermark-remover)。\n2. 将带有 Gemini 水印的图片拖拽到页面，或点击区域选择文件。\n3. 引擎将自动识别水印位置（支持 48×48 或 96×96 变体）并即时处理。\n4. 点击“下载”按钮保存去除水印后的图片。\n\n### 场景 B：在 Gemini 对话中自动移除\n若已安装用户脚本：\n1. 打开任意 Gemini 对话页面。\n2. 页面中符合条件的预览图将在加载后自动去除水印（处理时会有淡淡的 \"Processing...\" 遮罩）。\n3. 直接使用原生的“复制图片”或“下载图片”功能，获取的即为已去水印的版本。\n\n### 场景 C：代码集成 (SDK)\n如果您需要在项目中通过代码调用去水印功能：\n\n**处理 ImageData (纯数据 API):**\n```javascript\nimport { removeWatermarkFromImageData } from 'gemini-watermark-remover';\n\nconst result = await removeWatermarkFromImageData(imageData, {\n  adaptiveMode: 'auto',\n  maxPasses: 4,\n});\n\nconsole.log(result.meta.decisionTier);\n```\n\n**处理 HTML 图像元素:**\n```javascript\nimport { removeWatermarkFromImage } from 'gemini-watermark-remover';\n\nconst { canvas, meta } = await removeWatermarkFromImage(imageElement);\ndocument.body.append(canvas);\nconsole.log(meta.applied, meta.decisionTier);\n```\n\n**批量处理优化:**\n```javascript\nimport { createWatermarkEngine, removeWatermarkFromImageData } from 'gemini-watermark-remover';\n\n\u002F\u002F 复用引擎实例以缓存 Alpha 映射\nconst engine = await createWatermarkEngine();\nconst first = await removeWatermarkFromImageData(imageDataA, { engine });\nconst second = await removeWatermarkFromImageData(imageDataB, { engine });\n```","某数字营销设计师急需将 Gemini 生成的创意海报素材整合进客户的高清印刷品中，但必须去除图像角落的官方水印以满足出版规范。\n\n### 没有 gemini-watermark-remover 时\n- **画质受损严重**：使用传统 PS 内容识别填充或通用 AI 消除工具，往往会导致水印区域纹理模糊、色彩断层，无法达到印刷级无损要求。\n- **隐私安全顾虑**：在线去水印服务通常需要将图片上传至第三方服务器，对于未公开的商业提案素材存在泄露风险。\n- **处理效率低下**：面对批量生成的几十张素材图，手动逐张修图耗时极长，且难以保证每张图的修复效果一致。\n- **算法不可控**：基于猜测的 AI 重绘（Inpainting）可能会错误修改水印周边的原始像素细节，导致设计稿出现“幻觉”瑕疵。\n\n### 使用 gemini-watermark-remover 后\n- **像素级完美还原**：利用数学精确的反向 Alpha 混合算法，gemini-watermark-remover 能彻底移除水印并还原底层像素，实现真正的无损修复。\n- **数据绝对私密**：作为纯浏览器端工具，gemini-watermark-remover 确保所有图像处理均在本地完成，无需上传任何数据，彻底杜绝泄露隐患。\n- **即时批量处理**：拖拽即可自动识别 48×48 或 96×96 不同规格水印，gemini-watermark-remover 能秒级完成单张或批量图片的清理工作。\n- **结果可预测**：摒弃了不稳定的 AI 生成逻辑，gemini-watermark-remover 通过确定性算法保证每次输出都精准一致，无意外伪影。\n\ngemini-watermark-remover 以纯前端的数学算法方案，在保障数据隐私的前提下，为专业用户提供了高效且无损的 Gemini 图像清洗能力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGargantuaX_gemini-watermark-remover_25484bb4.webp","GargantuaX","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FGargantuaX_a75dad4d.jpg",null,"China Chengdu","gargantuax@qq.com","https:\u002F\u002Fgithub.com\u002FGargantuaX",[82,86,90,94],{"name":83,"color":84,"percentage":85},"JavaScript","#f1e05a",96.3,{"name":87,"color":88,"percentage":89},"HTML","#e34c26",3.6,{"name":91,"color":92,"percentage":93},"PowerShell","#012456",0,{"name":95,"color":96,"percentage":93},"Batchfile","#C1F12E",3499,415,"2026-04-04T14:02:56","MIT",1,"跨平台 (任何现代 Web 浏览器)","不需要 GPU","未说明 (基于浏览器运行，取决于浏览器可用内存)",{"notes":106,"python":107,"dependencies":108},"该工具完全基于客户端运行，无需后端服务器。主要依赖现代浏览器的 Canvas API 和 ES6 模块支持。开发环境需安装 pnpm 和 Node.js。建议禁用指纹防御扩展（如 Canvas Fingerprint Defender）以避免处理错误。不支持移除隐形水印或 SynthID 水印。","不需要 Python",[109,110],"无 (纯 JavaScript 实现，构建时需 pnpm)","Node.js (开发环境)",[14,36],"2026-03-27T02:49:30.150509","2026-04-06T07:22:57.783497",[115,120,125,130,135,140],{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},15392,"启用脚本后无法下载图片怎么办？","该问题已在 v1.0.5 版本中修复。更新后的脚本遵循了 Gemini 新的原生下载路径，移除了导致冲突的旧版拦截逻辑，并修复了预览覆盖层的兼容性。\n解决方案：\n1. 升级到最新版本 (v1.0.5 或更高)：https:\u002F\u002Fgithub.com\u002FGargantuaX\u002Fgemini-watermark-remover\u002Freleases\u002Ftag\u002Fv1.0.5\n2. 如果暂时无法升级，可以尝试右键点击图片进行下载作为临时替代方案。\n3. 若更新后问题依旧，请提供浏览器版本、Tampermonkey 版本以及控制台\u002F网络追踪信息。","https:\u002F\u002Fgithub.com\u002FGargantuaX\u002Fgemini-watermark-remover\u002Fissues\u002F45",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},15393,"为什么某些图片的水印无法去除或去除不干净？","工具仅能去除由 Gemini 直接附加在生成图像上的最后一层水印。如果水印无法去除，通常是因为：\n1. 该图片并非由 Gemini 直接生成（例如是基于带水印的参考图生成的）。\n2. 图片经过了二次处理或非原始尺寸输出。\n3. 图片本身包含参考图带来的其他水印（如四角星水印）。\n建议尝试使用文生图重新生成一张干净的图片，或使用 AI 重绘功能尝试去除。","https:\u002F\u002Fgithub.com\u002FGargantuaX\u002Fgemini-watermark-remover\u002Fissues\u002F2",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},15394,"如何在手机（iPhone\u002FiOS）上使用此脚本去除水印？","在 iOS 设备上使用需要确保环境配置正确：\n1. 安装支持用户脚本的浏览器或插件（如在 Safari 中安装 Tampermonkey）。\n2. 下载并启用最新的油猴脚本：https:\u002F\u002Fgemini.pilio.ai\u002Fuserscript\u002Fgemini-watermark-remover.user.js\n3. 注意：移动端支持可能不如桌面端完善，如果最新版仍无效，可能是由于移动端网页结构差异导致脚本无法注入，目前主要推荐在电脑端 Chrome 等浏览器使用以获得最佳效果。","https:\u002F\u002Fgithub.com\u002FGargantuaX\u002Fgemini-watermark-remover\u002Fissues\u002F29",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},15395,"如何处理新出现的更小尺寸（如 48x48）的 Nano Banana 水印？","针对 Gemini Nano Banana 生成的新型小尺寸水印（第三种类型）：\n1. 最新版本的脚本已经能够处理此类问题，但效果可能尚不完美。\n2. 维护者正在持续研究和优化对该类水印的识别与去除算法。\n建议保持脚本更新至最新版本以获取最新的修复补丁。","https:\u002F\u002Fgithub.com\u002FGargantuaX\u002Fgemini-watermark-remover\u002Fissues\u002F24",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},15396,"脚本是否支持商业版 Gemini (business.gemini.google)？","商业版 Gemini 生成的水印在大小、形状和样式上与普通版完全一致。\n虽然脚本默认可能未配置该域名，但用户可以自行修改脚本代码以添加支持。这通常不涉及底层算法的修改，只需在脚本的匹配规则（@match 或 @include）中添加 `business.gemini.google` 相关域名即可生效。","https:\u002F\u002Fgithub.com\u002FGargantuaX\u002Fgemini-watermark-remover\u002Fissues\u002F26",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},15397,"图片处理后出现歪斜或变形是怎么回事？","如果出现图片歪斜或变形，通常与分辨率或图片来源有关：\n1. 确认图片是否为 gemini.google.com 网页端直接导出，而非通过 API 或其他间接方式获取。\n2. 网页版目前最大输出分辨率限制可能导致某些高分辨率解析异常。\n3. 建议测试生成一张标准的 4K 图片（如 5504×3072 尺寸），并使用 PNG 格式原图进行测试，以排查是否为特定分辨率下的解析问题。","https:\u002F\u002Fgithub.com\u002FGargantuaX\u002Fgemini-watermark-remover\u002Fissues\u002F1",[146,151,156,161,166],{"id":147,"version":148,"summary_zh":149,"released_at":150},90044,"v1.0.9","## 变更\n- 从本地应用流程中移除了 Gemini 的原始来源确认，现依赖用户判断输入是否应被处理。\n- 简化了跳过状态的文案，仅报告是否检测到可移除的水印。\n- 在本地开发静态服务器上禁用了浏览器缓存，以减少 http:\u002F\u002F127.0.0.1:4173\u002F 上因缓存过时导致的误报。\n- 移除了未使用的 exifr 依赖，并为已移除的源验证路径增加了回归测试覆盖率。\n\n## 验证\n- pnpm test\n- pnpm build\n- pnpm test:sdk-smoke\n- pnpm benchmark:samples --sample-dir src\u002Fassets\u002Fsamples","2026-03-31T13:42:29",{"id":152,"version":153,"summary_zh":154,"released_at":155},90045,"v1.0.8","## 1.0.8 - 2026-03-31\n\n### 用户脚本\n- 修复了对元数据已被移除的输入文件的 Gemini 来源确认问题：改用图片的实际尺寸，而非仅依赖 EXIF 中的宽度和高度字段。\n- 扩展了已知的 Gemini 尺寸目录，以覆盖项目测试用例中当前使用的高宽比样本输出。\n- 调整了未确认来源状态的文案，当源文件仅处于未确认状态时，不再将已确认的去除质量描述为“非 Gemini”。\n\n### 工具链\n- 从 `benchmark:samples` 和 `export:samples` 中移除了对本地浏览器的依赖；这两个脚本现在直接通过 Node.js 管道对测试用例进行解码和编码。\n- 更新了本地回归测试用例和测试，将剩余的 WebP 样本集作为当前发布的基准。\n\n### 质量\n- 增加了针对无 EXIF 来源回退逻辑以及仅使用 Node.js 进行样本解码\u002F导出流程的回归测试覆盖。\n- 使用完整的自动化测试、SDK 冒烟验证、样本基准测试与导出运行，以及生产构建，重新验证了本次发布。","2026-03-31T11:36:34",{"id":157,"version":158,"summary_zh":159,"released_at":160},90046,"v1.0.6","**完整更新日志**: https:\u002F\u002Fgithub.com\u002FGargantuaX\u002Fgemini-watermark-remover\u002Fcompare\u002Fv1.0.5...v1.0.6","2026-03-30T14:22:59",{"id":162,"version":163,"summary_zh":164,"released_at":165},90047,"v1.0.5","## v1.0.5\n\n此版本修复了 Gemini 图片卡片上的预览叠加层兼容性问题。\n\n- 修复了预览叠加层的层级问题，使其不再覆盖整个图片容器。\n- 修复了分享、复制和下载操作按钮被遮挡或显示异常的问题。\n- 修复了“复制图片”功能偶尔会回退为 `text\u002Fplain` 而非 `image\u002Fpng` 的问题。\n- 在显示无水印预览的同时，保留了 Gemini 原生的复制流程。\n- 增加了针对叠加层位置、边界以及复制兼容性的更严格的结构化回归测试。","2026-03-23T16:35:52",{"id":167,"version":168,"summary_zh":169,"released_at":170},90048,"v1.0.1","# 更改日志 \u002F 更新日志\n\n## 1.0.1 - 2026-03-19\n\n### 用户脚本 \u002F 油猴脚本\n\n- 新增 Gemini 页面内预览图替换链路，页面图片现在可以在手动下载前先完成去水印处理。\n- 预览图抓取在可用时优先走 `GM_xmlhttpRequest`，避免 userscript 沙箱里回退到普通 `fetch` 后触发 CORS 失败。\n- 预览图处理期间新增克制的 `Processing...` 遮罩，处理失败时保持原图可见，不会把页面图片替换成空白状态。\n- 加固了处理中遮罩的生命周期，避免旧的淡出回调误删新一轮处理状态。\n\n### 扩展\n\n- 保持页面内图片替换行为与 userscript 预览处理链路、处理中体验一致。\n\n### 质量\n\n- 新增 userscript 版本同步测试，以及处理中遮罩生命周期边界测试。\n- 已完成完整自动化测试与生产构建验证。","2026-03-19T08:58:59"]