AI 教程AI教程72 次浏览 · 2026-10-20
免费本地化 Bilibili 翻译 API 实战:YouTube 字幕一键自动翻译
原文链接
https://www.youtube.com/watch?v=_Li3lZ6ylc8一、核心概述
本教程基于 Bilibili 开源的 DeskTranslator 与其最新发布的 IndexTranslator(35B)模型,演示如何在本地搭建一个 OpenAI 兼容的翻译代理,并在 YouTube 上实现自动字幕翻译。核心痛点:
- 商业大模型翻译费用高昂,按量计费容易失控;
- 大多数免费模型只能本地跑,缺少统一的 API 接口;
- YouTube 原生字幕翻译只能使用官方付费服务,灵活性差。 本方案解决了以上问题:免费、无需 API Key、本地部署,并兼容 Immersive Translate、Chengji 翻译插件等常用浏览器插件,实现 即时、批量、跨平台 的字幕翻译。

二、实操步骤与核心流程详解
1. 下载并解压项目
- 前往 GitHub(或视频提供的链接),点击 Download ZIP 下载源码。
- 解压后进入根目录,双击
setup.bat(Windows)或运行bash setup.sh(macOS/Linux)完成依赖安装。
2. 本地 API 启动
- 安装完成后,程序会自动检测本机网络并调用 Bilibili 官方翻译接口进行 OK 测试。
- 按提示输入
yes/no决定是否让服务后台运行。 - 启动后在终端可看到本地监听地址 127.0.0.1:8080,默认模型为 35B‑A3B(旗舰模型)。
3. 配置浏览器插件(以 Immersive Translate 为例)
- 打开插件设置 → Translation Services → Custom Services。
- 若未出现,先进入 Developer Options,打开 Beta testing features 开关。
- 添加自定义服务,填写:
- API 地址:
http://127.0.0.1:8080/v1/chat/completions - 模型:选择 35B‑A3B(或自行改为 2B/9B)
- Token:随意填写(本地转发不校验)
- API 地址:
- 点击 Test,若返回翻译结果即配置成功。
4. 在 YouTube 上使用
- 安装 Chengji 翻译插件(或其他支持自定义翻译服务的插件)。
- 在插件设置中切换翻译服务为刚才配置的 BDBD(即本地代理)。
- 打开任意 YouTube 视频,开启插件的 自动翻译 功能,即可看到原英文字幕上方显示中文翻译。
5. 进阶使用:自定义输出格式
- 通过在请求体中加入
response_format: "json"或response_format: "markdown",模型会保持相同的格式返回,适用于 Markdown 文档、JSON 数据 的批量翻译。 - 还可在提示词中指定专业术语映射,例如
"将 ‘GPU’ 翻译为 ‘显卡’",提升行业专有名词的准确度。
三、实战技巧与核心小结
- 避免思考链:Bilibili API 默认会返回“思考过程”。本代理在请求体中自动注入
stop: ["\n\n"](或对应字段),确保只返回干净的翻译文本。 - 模型选型:2B 轻量快速,适合日常短句;9B 性价比最佳,日常文档翻译首选;35B 旗舰,支持多模态图片翻译与复杂布局,建议在有足够显存(≥ 24GB)时使用。
- 隐私提示:所有翻译请求都会经过本地转发后发送至 Bilibili 服务器,若涉及敏感信息请自行评估风险,或在离线环境下使用本地模型(如 GGUF)替代。
- 常见坑:
- 端口被占用 → 修改
config.json中的port为未被占用的端口; - 插件不识别自定义服务 → 确认已开启浏览器的 Beta testing features;
- 字幕标签丢失 → 代理代码未转发
\n或 HTML 标签,可自行在proxy.py中添加正则保留。
- 端口被占用 → 修改
- 后续扩展:可将本地代理部署到 Docker 容器,配合 Nginx 进行 HTTPS 代理,供团队统一使用;亦可结合 LangChain 实现更复杂的翻译工作流(如前置文本清洗、后置质量评估)。
核心结论:通过 Bilibili 免费的 IndexTranslator API 与社区提供的 OpenAI 兼容代理,用户可以在本地低成本实现高质量的多语言翻译,尤其是 YouTube 自动字幕翻译,极大提升跨语言内容消费效率。

