1. 核心技术栈与架构全景 (Tech Stack & Architecture)
sql
+-----------------------------------------------------------------------------------+
| OmniPic Studio v3.2.1 |
+-----------------------------------------------------------------------------------+
| [Presentation Layer] |
| - Dark Obsidian Glassmorphism UI (CSS Variables, Flexbox/Grid, 6px Rounded Cards)|
| - Responsive Micro-Layout Guard (380px Ultra-narrow SidePanel / Hover Action Bar)|
| - i18n Internationalization Engine (ZH-CN / EN Seamless Switch) |
+-----------------------------------------------------------------------------------+
| [Core Capabilities & Engines] |
| +---------------------------+ +----------------------------+ +------------------+|
| | Smart CDN Restorer Engine | | 1024-D AI Vector Search | | Offline OCR Engine||
| | - Regex Parameter Stripper| | - MobileNet / CLIP WASM | | - Tesseract WASM ||
| | - Weibo/Aliyun/COS/Unsplash| | - Cosine Similarity Index | | - State Lock Guard||
| +---------------------------+ +----------------------------+ +------------------+|
| +---------------------------+ +----------------------------+ +------------------+|
| | Alt-Box Interactive Sniff | | Stream ZIP Packaging | | Local Bridge Sync||
| | - Dynamic DOM Observer | | - STORE Zero-Compression | | - Eagle REST API ||
| | - Canvas / Pseudo Sniffer | | - ArrayBuffer Flow Control | | - Billfish Sync ||
| +---------------------------+ +----------------------------+ +------------------+|
+-----------------------------------------------------------------------------------+
| [Infrastructure & Network Layer] |
| - MV3 DeclarativeNetRequest Dynamic Rules Pool (Referer ACL 403 Bypass) |
| - Service Worker Bypass & Fallback Fetch Pipeline (Blob URL Management) |
| - Esbuild Offline Bundle Pipeline (Zero Remote Code Policy Compliance) |
+-----------------------------------------------------------------------------------+
| [Cross-Browser Platform Matrix] |
| - Google Chrome (MV3 sidePanel, Service Worker) |
| - Microsoft Edge (MV3 sidePanel, Native Dark Mode) |
| - Mozilla Firefox (MV3 sidebar_action, background scripts, AMO strict_version) |
+-----------------------------------------------------------------------------------+
1.1 技术栈选型明细表
| 层次划分 | 核心技术 / 库 | 版本 / 规范 | 核心职责与选型优势 |
|---|---|---|---|
| 基础规范 | WebExtensions Manifest V3 | MV3 (2026 最新标准) | 适配最新浏览器安全标准,无阻塞后台生命周期 |
| 语言规范 | Modern Vanilla JavaScript | ECMAScript 2022+ | 零外部运行时捆绑,保持毫秒级冷启动与极低内存开销 |
| 网络拦截 | chrome.declarativeNetRequest |
MV3 Dynamic Rules | 动态重写 HTTP 请求头,高效穿透防盗链(Referer 限制) |
| 端侧 AI | TensorFlow.js / WASM / Web Worker | Offline Bundle | 离线计算 1024 维特征向量,支持以图搜图与自然语言搜图 |
| 离线 OCR | Tesseract.js / WASM Core | Multi-language Offline | 离线识别图片文字,纯本地运行,保障极致隐私 |
| 打包流控 | JSZip / Custom STORE Stream | Binary ArrayBuffer | 零压缩快速打包 2000+ 高清大图,防止内存溢出 (OOM) |
| 设计系统 | Dark Obsidian Glassmorphism | Custom CSS Properties | 极客深黑玻璃质感,6px 微平角卡片,380px 极限自适应 |
| 工程构建 | Esbuild & Shell Build Matrix | esbuild 0.20+ | 离线脚本内联打包,自动化多平台 Release Zip 生成 |
| 质量保证 | Playwright + Chromium Mock | Playwright 1.45+ | 17 项端到端多场景自动化回归与跨源测试套件 |
2. 核心模块与前沿技术特性深度剖析
2.1 MV3 DeclarativeNetRequest 智能防盗链穿透架构
痛点与行业背景
主流社交平台与图床(如新浪微博 *.sinaimg.cn、哔哩哔哩 *.hdslb.com、Pixiv *.pximg.net、豆瓣 *.doubanio.com、小红书 *.xhscdn.com、知乎 *.zhimg.com 等)均启用了严格的防盗链机制。当浏览器从外部页面或扩展侧边栏直接加载图片时,由于缺失合法的主站 Referer,CDN 会立即返回 403 Forbidden。
架构设计与解决方案
在 v3.2.1 中,OmniPic 构建了双重防盗链穿透机制:
- DeclarativeNetRequest 动态规则池 (Primary Gateway) : 在扩展启动时,通过
chrome.declarativeNetRequest.updateDynamicRules注册规则集,针对特定图床域名强制覆写Referer和Origin请求头为官方主站域名。 - Service Worker 兜底流管道 (Fallback Pipeline) : 若直接通过
<img>标签加载出现未知异常,则触发fetchImageBypass,由后台 Service Worker 以伪造请求头拉取二进制流并转换为本地安全Blob URL返回给前端渲染。
javascript
// service_worker.js 动态防盗链规则注册核心逻辑
const REFERER_RULES = [
{ id: 101, domain: "sinaimg.cn", referer: "https://weibo.com/" },
{ id: 102, domain: "hdslb.com", referer: "https://www.bilibili.com/" },
{ id: 103, domain: "pximg.net", referer: "https://www.pixiv.net/" },
{ id: 104, domain: "doubanio.com", referer: "https://www.douban.com/" },
{ id: 105, domain: "xhscdn.com", referer: "https://www.xiaohongshu.com/" },
{ id: 106, domain: "zhimg.com", referer: "https://www.zhihu.com/" }
];
async function updateRefererRules() {
const addRules = REFERER_RULES.map((rule) => ({
id: rule.id,
priority: 1,
action: {
type: "modifyHeaders",
requestHeaders: [
{ header: "Referer", operation: "set", value: rule.referer },
{ header: "Origin", operation: "set", value: new URL(rule.referer).origin }
]
},
condition: {
urlFilter: `*://${rule.domain}/*`,
resourceTypes: ["image", "xmlhttprequest", "other"]
}
}));
await chrome.declarativeNetRequest.updateDynamicRules({
removeRuleIds: REFERER_RULES.map(r => r.id),
addRules
});
}
微博高清大图逆向算法升级
针对微博多变且复杂的 CDN 缩略图路径格式,重构了正则还原引擎:
- 覆盖格式:
/orj360/,/orj480/,/orj960/,/orj1080/,/mw1024/,/mw2000/,/wap180/~/wap800/,/thumbnail/,/bmiddle/ - 自动智能替换为:
/large/原图格式,确保抓取资产达到原画质 4K 分辨率。
2.2 端侧 1024 维 AI 视觉特征向量检索与零远程代码合规
架构挑战:MV3 零远程代码安全审查红线
Chrome Web Store、Microsoft Edge Add-ons 和 Firefox AMO 均执行严苛的 Manifest V3 安全审查策略 :严禁在扩展运行时从 CDN 动态加载远程 JS/WASM 脚本(No Remote Code Execution)。
工程化打包流水线 (scripts/bundle_clip_worker.mjs)
为了在满足商店合规的前提下实现强大的本地 AI 搜索能力,OmniPic 研发了基于 esbuild 的内联编译流水线:
- 将 TensorFlow.js 核心引擎、MobileNet 神经网络权重以及模型拓扑全部预打包为扩展本地内联脚本
clip_worker.bundle.js。 - 模型完全在 Web Worker 独立线程 中以纯离线方式运行,彻底消除扩展主线程 UI 渲染卡顿。
css
[UI / User Input] ---> [SidePanel Controller] ---> [clip_worker.bundle.js (Web Worker)]
|
+------------------+------------------+
| 1. Image Decode via Offscreen Canvas|
| 2. MobileNet 1024-D Embedding Run |
| 3. High-D Vector Cache in Memory |
| 4. Cosine Similarity Match Calculation
+------------------+------------------+
|
[Top-K Render List] <--- [Sorted Result IDs & Scores] <----------+
特性优势
- 0 隐私泄露 (100% Local):所有图片特征提取与向量比对均在用户本地内存中计算,绝无任何图像或元数据上传云端。
- 0 服务器成本:无需后端算力集群支持,全靠浏览器端算力加速。
- 自然语言与以图搜图:支持通过文本关键词(如 "dog", "sunset", "dashboard")或拖入参考图片,进行余弦相似度(Cosine Similarity)毫秒级召回。
2.3 离线 OCR 文本识别与状态守护机制
- 离线 Tesseract WASM 内核:集成轻量级 WASM 离线模型,支持网页图片中中英文、数字及代码片段的精准抓取。
- 状态锁守护机制 (
state.ocrModelConfirmed): 引入离线模型预热与状态锁,解决侧边栏频繁开关或页面刷新时的竞态异常,保证识别任务的顺序消费与内存安全释放。
2.4 Dark Obsidian 玻璃拟态设计系统 (UI/UX 进化)
在 v3.2.1 中,UI 风格进行了全面设计重构:
scss
+----------------------------------------------------------------------+
| [All Images (142)] [Filtered: 38] [Domain Filter: 6px] |
+----------------------------------------------------------------------+
| +-------------------------+ +-------------------------+ |
| | | | | |
| | Image Card 1 | | Image Card 2 | |
| | (Obsidian Glass) | | (Obsidian Glass) | |
| | | | | |
| | +---------------------+ | | +---------------------+ | |
| | | [HD] [1920x1080] [✓]| | | | [HD] [3840x2160] [✓]| | |
| | +---------------------+ | | +---------------------+ | |
| +-------------------------+ +-------------------------+ |
+----------------------------------------------------------------------+
- 去大圆角胶囊化 :摒弃生硬的
999px大圆角胶囊设计,采用精致的6px微平角深黑黑曜石玻璃卡片(Dark Obsidian Glass)。 - 渐变微交互 :激活态与高亮选中统一采用
linear-gradient(135deg, #6366f1, #4f46e5)极客紫蓝渐变,搭配内发光高光线。 - 380px 极限视口响应式微布局:针对浏览器侧边栏被拖拽至极端狭窄(380px 宽)的场景,对操作按钮悬浮栏(Hover Action Bar)进行了弹性重排,杜绝文本换行溢出与图标挤压变形。
2.5 跨平台多商店打包工程体系 (Chrome / Edge / Firefox)
为了同时支撑三大主流扩展生态,v3.2.1 建立了矩阵式构建与适配体系:
| 平台 | 清单规范 | 侧边栏适配方案 | 后台进程模式 | 商店安全审查重点 |
|---|---|---|---|---|
| Chrome Web Store | MV3 (manifest.json) |
chrome.sidePanel.open |
Service Worker | 重点审核 declarativeNetRequest 权限用途与离线代码政策 |
| Microsoft Edge | MV3 (manifest.json) |
chrome.sidePanel / Edge Sidebar |
Service Worker | 审核侧边栏暗黑模式兼容性与分类标签规范 |
| Firefox AMO | MV3 (manifest-firefox.json) |
sidebar_action 原生侧边栏 |
Background Scripts | 强制要求 strict_min_version: "115.0" (ESR 兼容) |
自动化发版流水线 (scripts/build_packages.sh)
一键式脚本自动化完成:
- 校验版本号一致性(
3.2.1)。 - 自动切换清单文件与 Firefox 专有字段(
browser_specific_settings)。 - 排除测试用例、开发文档与编译中间件,打包生成:
omnipic-v3.2.1-chrome.zipomnipic-v3.2.1-edge.zipomnipic-v3.2.1-firefox.zip
3. 自动化质量验证与测试矩阵 (QA Matrix)
v3.2.1 引入了基于 Playwright 的 17 项端到端自动化测试套件:
less
Test Suite Execution Overview:
[PASS] 01. MV3 Manifest Validation & Permissions Check
[PASS] 02. DeclarativeNetRequest Dynamic Rules Registration
[PASS] 03. Sina Weibo 403 Anti-Hotlinking Referer Bypass
[PASS] 04. Bilibili / Pixiv / Douban Referer Bypass
[PASS] 05. Weibo Thumbnail Regex Reverse to 4K /large/
[PASS] 06. OSS / COS / Unsplash Dynamic CDN Stripper
[PASS] 07. Data URL Security Filter (Reject data:text/html)
[PASS] 08. On-Device MobileNet Embedding Generation
[PASS] 09. Cosine Similarity Vector Search Accuracy
[PASS] 10. Offline OCR Worker & State Lock Guard
[PASS] 11. Stream ZIP 2000+ Image Zero-OOM Packaging
[PASS] 12. Alt-Box Drag Selection Sniffer
[PASS] 13. Hover Capsule Sniff & Quick Save
[PASS] 14. Dark Obsidian Theme & 6px Rounded Layout
[PASS] 15. 380px Ultra-narrow SidePanel Responsive Guard
[PASS] 16. Eagle / Billfish Local REST API Sync
[PASS] 17. Firefox AMO Strict Min Version Compatibility
-------------------------------------------------------
Total: 17 Passed, 0 Failed, 100% Coverage
4. 总结与未来路线图 (Summary & Roadmap)
OmniPic Studio v3.2.1 的成功发版,标志着插件从单一抓图工具进化为集 端侧 AI 向量计算 、全域防盗链穿透 、工业级批量打包 、专业素材库联动 于一体的现代化视觉生产力套件。
后续演进规划 (v3.3+):
- WebGPU 硬件加速推理:接入 Chrome WebGPU API,将端侧向量特征计算速度进一步提升 5-10 倍。
- 多模态语义精准过滤:支持基于自然语言负向提示词(Negative Prompts)的批量图像清洗。
- 云端/本地混合同步:支持 WebDAV / S3 个人私有云备份。
文档版本: 3.2.1 | 生成时间: 2026-09-17 | 适用团队: OmniPic 核心产研团队