# OITranslator **Repository Path**: zzk123456/oitranslator ## Basic Information - **Project Name**: OITranslator - **Description**: 一个 Chrome Extension MV3 网页翻译插件,支持使用任意兼容 OpenAI `/v1/chat/completions` 格式的大模型进行翻译。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-02 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Open Immersive Translator 一个 Chrome Extension MV3 网页翻译插件,支持使用任意兼容 OpenAI `/v1/chat/completions` 格式的大模型进行翻译。 ## 功能 - 一键翻译当前网页文本,尽量保留原页面 DOM、样式与排版。 - 支持双语对照显示,可选择上下对照或行内对照。 - 支持划词翻译,选中文本后即时弹出译文。 - 支持关闭当前页面翻译,恢复原文。 - 支持翻译历史查看、复制与清空。 - 支持自定义 API Base URL、model、API Key。 - 支持测试连接、流式响应、目标语言、翻译风格、自动翻译、字号等设置。 - 页面全文翻译默认使用 6 路并发请求,可在设置页调整为 1 到 12。 ## 安装 1. 打开 Chrome,进入 `chrome://extensions/`。 2. 开启右上角“开发者模式”。 3. 点击“加载已解压的扩展程序”。 4. 选择本项目目录:`C:\Users\76952\Documents\translation`。 5. 点击扩展图标,进入设置页填写模型配置。 ## API 兼容要求 插件会向模型服务发送: ```http POST {API_BASE_URL}/v1/chat/completions Authorization: Bearer {API_KEY} Content-Type: application/json ``` 请求体: ```json { "model": "your-model", "messages": [ { "role": "system", "content": "你是专业翻译助手,只返回纯净译文,不解释、不添加额外内容" }, { "role": "user", "content": "待翻译文本" } ], "temperature": 0.2, "stream": false } ``` 如果填写的 API Base URL 已经以 `/v1/chat/completions` 或 `/chat/completions` 结尾,插件会直接使用该地址。 ## 常见配置 - DeepSeek:`https://api.deepseek.com`,模型如 `deepseek-chat` - 通义千问兼容模式:`https://dashscope.aliyuncs.com/compatible-mode`,模型如 `qwen-plus` - OpenAI:`https://api.openai.com`,模型如 `gpt-4o-mini` - Ollama:`http://localhost:11434`,模型如 `llama3.1` Gemini、Claude、文心一言等如果不是原生 OpenAI 格式,需要使用官方兼容模式或兼容网关。 ## 项目结构 ```text manifest.json assets/ background/service-worker.js content/content.css content/content.js popup/popup.html popup/popup.css popup/popup.js settings/settings.html settings/settings.css settings/settings.js shared/config.js README.md ``` ## 注意事项 - Chrome 内置页面、扩展商店页面等不允许内容脚本注入,需在普通网页使用。 - 全文翻译会限制单页最多处理 600 个文本节点,避免超长页面造成请求过多。 - API Key 仅保存在本机 `chrome.storage.local`,不会上传到除用户配置模型服务外的其他位置。