# New_Tool **Repository Path**: le1o1e/new_tool ## Basic Information - **Project Name**: New_Tool - **Description**: 针对慧标平台开发的插件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-27 - **Last Updated**: 2026-06-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 方言翻译助手 + 静音段检测 Chrome 浏览器扩展,包含两个独立模块: - **方言翻译**:选中方言文本,AI 自动翻译为标准普通话并替换原文 - **静音段检测**:在语音标注平台自动检测未标注的静音段,并提供可视化辅助标记 ## 前置要求 - Node.js >= 18 - pnpm(`npm install -g pnpm`) ## 安装与构建 ```bash # 1. 安装依赖 pnpm install # 2. 编译 TypeScript(静音段检测模块) pnpm build # 3. 开发模式(文件变更自动重新编译) pnpm dev ``` ## 加载到 Chrome 1. 打开 Chrome,地址栏输入 `chrome://extensions` 2. 右上角开启"**开发者模式**" 3. 点击"**加载已解压的扩展程序**",选择项目根目录 4. 插件图标出现在浏览器右上角 --- ## 模块一:方言翻译 ### 使用 1. 在任意页面选中需要翻译的文本 2. 通过以下两种方式触发翻译: - **快捷键**:`Ctrl + Shift + F`(Mac:`Command + Shift + F`) - **右键菜单**:选中文字 → 右键 → "翻译为标准汉语" 3. 翻译完成后原文即被替换为普通话 ### 配置 AI 服务 点击浏览器右上角插件图标,打开配置面板: | 配置项 | 说明 | | ---------- | ------------------------------------------ | | AI 服务商 | DeepSeek / 硅基流动 / 自定义 (OpenAI 兼容) | | API URL | API 端点地址,切换服务商会自动填充默认值 | | API Key | 对应平台的 API 密钥 | | 模型 | 模型名称,切换服务商会自动填充默认值 | | 系统提示词 | 自定义 AI 翻译行为,可微调翻译风格 | --- ## 模块二:静音段检测 ### 原理 不分析音频、不解码文件、不做 DSP。直接利用页面已有 `.wavesurfer-region` 元素,通过计算相邻 Region 间的时间间隔(gap)发现静音段。 当 `gap >= 阈值`(默认 0.5 秒)时,认定为静音段。 ### 功能 | 功能 | 说明 | | ------------ | ----------------------------------------------------------- | | Region 扫描 | 自动扫描页面中所有 `.wavesurfer-region` 元素 | | 静音检测 | 计算相邻 Region 间隔,O(n) 复杂度,支持 1000+ Region | | 波形覆盖层 | 在原始波形上方绘制红色半透明静音标记,不修改原有 Region | | 点击跳转 | 点击静音段自动定位波形(优先 `wavesurfer.seekTo`) | | 实时刷新 | MutationObserver 监听 Region 增删改,自动重新检测 | | 导出 JSON | 一键导出检测结果 | | 阈值可配置 | 支持 0.3 / 0.5 / 1.0 / 2.0 秒,保存到 chrome.storage.local | ### 使用 1. 打开语音标注平台页面(包含 `.wavesurfer-region` 元素) 2. 页面右下角出现"静音段检测"浮动面板 3. 面板列出所有检测到的静音段,点击任一段可跳转到对应波形位置 4. 点击"导出"按钮下载 JSON 格式结果 5. 右键扩展图标 → "选项"可调整最小静音时长阈值 ### 导出格式 ```json [ { "start": 10.38, "end": 10.97, "duration": 0.59 } ] ``` --- ## 工程结构 ``` ├── background.js # Service Worker — 方言翻译消息路由 ├── manifest.json # Chrome Extension 配置 │ ├── ai/ # 方言翻译 — AI Provider 模块 │ ├── index.js │ └── providers/ │ ├── base.js │ ├── deepseek.js │ ├── siliconflow.js │ └── custom.js │ ├── content/ # 方言翻译 — Content Script │ ├── content.js │ └── content.css │ ├── popup/ # 方言翻译 — 配置面板 │ ├── popup.html │ ├── popup.js │ └── popup.css │ ├── utils/ # 方言翻译 — 工具模块 │ ├── storage.js │ ├── cache.js │ └── toast.js │ ├── src/ # 静音段检测 — TypeScript 源码 │ ├── types/ │ │ └── index.ts # 类型定义 │ ├── shared/ │ │ └── storage.ts # chrome.storage 读写 │ ├── content/ │ │ ├── index.ts # Content Script 入口 + 浮动面板 │ │ ├── regionScanner.ts # .wavesurfer-region 扫描解析 │ │ ├── silenceDetector.ts # 静音段检测算法 O(n) │ │ ├── overlayRenderer.ts # Canvas 覆盖层渲染 │ │ ├── mutationWatcher.ts # MutationObserver 监听 │ │ └── playerController.ts# 播放器 seekTo / audio.currentTime │ └── options/ │ └── options.ts # 选项页面逻辑 │ ├── options/ # 静音段检测 — 选项页面 │ └── options.html │ ├── content/silence-detector.js # (构建产物) 静音段检测 Content Script ├── options/options.js # (构建产物) 选项页面 JS │ ├── package.json ├── tsconfig.json ├── vite.config.ts ├── .eslintrc.json └── .prettierrc ``` ## 技术栈 - Chrome Extension Manifest V3 - TypeScript(静音段检测模块) - Vite(构建) - pnpm(包管理) - ESLint + Prettier ## License MIT