一个功能强大的 Tampermonkey/Greasemonkey 用户脚本,为 Archive of Our Own (AO3) 提供智能翻译和章节总结功能。
- 双引擎系统:独立的翻译引擎和总结引擎,可配置不同的模型和参数
- 智能分块策略:精确的 token 计数和智能文本分块,优化 API 调用效率
- 流式渲染:实时显示翻译进度,提供流畅的用户体验
- 四视图切换:
- 仅译文:只显示翻译后的中文内容
- 仅原文:显示原始英文内容
- 双语对照:中英文对照显示(翻译完成后可用)
- 章节总结:显示 AI 生成的剧情总结
- 本地缓存:自动保存翻译结果,避免重复翻译
- 缓存管理:
- 查看所有翻译缓存键
- 清理单个页面或所有缓存
- 导出缓存为 JSON 文件
- 从 JSON 文件导入缓存
- WebDAV 同步:支持通过 WebDAV 协议同步缓存到云端
- 悬浮按钮组:
- 翻译按钮:开始翻译当前章节
- 总结按钮:生成章节剧情总结
- 下载按钮:下载当前译文缓存
- 批量下载按钮:批量下载多个作品的缓存
- 只计划按钮:仅生成翻译计划,不执行翻译
- 长按菜单:长按主按钮显示更多操作选项
- 工具栏:翻译后显示视图切换和缓存管理按钮
- 移动端优化:响应式设计,支持触摸操作
-
安装浏览器扩展:
- Chrome/Edge: Tampermonkey
- Firefox: Tampermonkey 或 Greasemonkey
- Safari: Tampermonkey
-
准备 OpenAI 兼容的 API:
- OpenAI API
- Azure OpenAI
- 其他兼容 OpenAI API 格式的服务(如 DeepSeek、Claude 等)
- 点击 Tampermonkey 图标,选择"添加新脚本"
- 复制
ao3-transum (1).user.js的全部内容 - 粘贴到编辑器中,保存
- 访问任意 AO3 作品页面,脚本将自动激活
-
打开设置面板
- 点击页面右下角的主按钮(齿轮图标)
- 或长按主按钮选择"设置"
-
配置 API 设置
Base URL: https://api.openai.com API Path: v1/chat/completions API Key: sk-your-api-key-here -
配置翻译模型
模型名称: gpt-4-turbo-preview 上下文窗口: 128000 Max Tokens: 7000 温度: 0.7 -
配置总结模型(可选,可与翻译模型相同或不同)
模型名称: gpt-4-turbo-preview 上下文窗口: 128000 Max Tokens: 7000 温度: 0.7 -
调整提示词(可选)
- 翻译系统提示词:定义翻译风格和要求
- 翻译用户提示词:包含
{{content}}占位符 - 总结系统提示词:定义总结风格
- 总结用户提示词:包含
{{content}}占位符
- 打开任意 AO3 作品页面
- 点击右下角的"翻译"按钮
- 等待翻译完成(可实时查看进度)
- 使用工具栏切换视图模式
- 点击"总结"按钮
- 等待 AI 生成章节剧情总结
- 切换到"总结"视图查看结果
- 仅译文:只显示中文翻译
- 仅原文:显示原始英文
- 双语对照:中英文并排显示(需翻译完成)
- 总结:显示章节剧情总结
- 查看缓存:设置面板 → 缓存管理 → 查看翻译缓存键
- 清除缓存:
- 单页面:工具栏 → 清除翻译缓存
- 全部:设置面板 → 清理所有翻译缓存
- 导出缓存:设置面板 → 导出所有缓存为 JSON
- 导入缓存:设置面板 → 从 JSON 导入缓存
- 在设置面板配置 WebDAV:
WebDAV 地址: https://your-webdav-server.com/path 用户名: your-username 密码: your-password - 点击"上传缓存到 WebDAV"或"从 WebDAV 下载缓存"
- 点击"批量下载"按钮
- 输入作品 ID 列表(每行一个)
- 选择下载选项
- 等待下载完成
- 点击"只计划"按钮
- 查看翻译分块计划,但不执行实际翻译
- 用于预估 token 消耗和成本
在设置面板启用"调试模式",在浏览器控制台查看详细日志:
// 控制台将显示:
[AO3X] 分块计划
[AO3X] API 请求详情
[AO3X] 缓存操作| 参数 | 说明 | 推荐值 |
|---|---|---|
| 上下文窗口 | 模型支持的最大 token 数 | 根据模型而定 |
| Max Tokens | 单次响应的最大 token 数;也用于分块、长度估算与重试扩容 | 7000 |
| 请求时不发送 Max Tokens | 仅影响 API 请求体;开启后仍会继续使用 Max Tokens 做分块与重试计算 | 关闭 |
| 温度 | 控制输出随机性(0-2) | 0.7 |
| Top P | 核采样参数(0-1) | 1 |
| 推理强度 | o1 系列模型专用 | none/low/medium/high |
| 参数 | 说明 | 默认值 |
|---|---|---|
| 预留 token | 为提示词预留的 token 数 | 384 |
| 单次尝试 | 优先尝试单次翻译全文 | true |
| 单次松弛比 | 单次翻译的安全余量 | 0.15 |
| 打包松弛 | 分块打包的紧凑度 | 0.95 |
| 输出/输入比 | 译文与原文的 token 比例 | 1.0 |
系统提示词:
你是专业的文学翻译助手。请保持 AO3 文本结构、段落层次、行内格式(粗体、斜体、链接),人名不做翻译,术语翻译时意译,以保证不了解者也能看懂为准则,语气自然流畅。可以调整语序用词,但不要省略有实质性内容的语句。请保证译文地道,自然,有韵味,符合原文语气和上下文情境。
用户提示词:
你是一个专业的文学翻译助手,请将以下 AO3 正文完整翻译为中文,保证译文地道,自然,有韵味,符合原文语气和上下文情境。人名不做翻译,术语翻译时意译,以保证不了解者也能看懂为准则,保持 HTML 结构与行内标记,仅替换可见文本内容,不要漏翻除人名外的英文内容:
{{content}}
(请直接返回 HTML 片段,不要使用代码块或转义。)
系统提示词:
你是专业的文学内容总结助手。请准确概括故事情节、人物关系和重要事件,保持客观中性的语调,不要做文本分析,仅输出总结内容。
用户提示词:
请对以下AO3章节内容进行剧情总结,重点包括:主要情节发展、角色互动、重要对话或事件。请用简洁明了的中文总结:
{{content}}
(请直接返回总结内容,不需要格式化,不需要做文本分析,人名保留原文不翻译。)
A:
- 检查 API 配置是否正确
- 确认 API Key 有效且有余额
- 查看浏览器控制台的错误信息
- 点击工具栏的"重试未完成"按钮
- 启用调试模式查看详细日志
A:
- 使用更便宜的模型(如 gpt-3.5-turbo)
- 减小 Max Tokens 值
- 调整分块策略参数,减少请求次数
- 充分利用缓存系统,避免重复翻译
A: 双语对照功能需要翻译完全完成后才能使用。等待所有分块翻译完成,按钮会自动高亮。
A:
- 方法一:设置面板 → 导出所有缓存为 JSON
- 方法二:配置 WebDAV 同步到云端
A: 支持所有兼容 OpenAI API 格式的模型,包括:
- OpenAI: GPT-4, GPT-3.5, o1 系列
- Azure OpenAI
- DeepSeek
- Claude (通过兼容层)
- 其他第三方 API 服务
A: 可以。脚本已针对移动端优化,支持触摸操作和响应式布局。需要在移动浏览器上安装支持用户脚本的扩展(如 Firefox + Tampermonkey)。
- 精确 token 计数:使用 tiktoken 库准确计算 token 数量
- 智能分块算法:根据模型上下文窗口自动优化分块策略
- 流式渲染:支持 SSE 流式响应,实时显示翻译进度
- 错误处理:自动重试、超时检测、详细错误提示
- CORS 绕过:使用 GM_xmlhttpRequest 绕过跨域限制
- HTML 保持:保留原文的 HTML 结构和格式标记
- 安全性:HTML 内容经过清理,防止 XSS 攻击
- 翻译+总结双引擎系统
- 精确 token 计数
- 智能分块策略
- 流式渲染
- 章节总结功能
- 独立缓存系统
- 四视图切换
- 长按悬浮菜单
- 移动端优化
- WebDAV 同步支持
本脚本仅供个人学习和研究使用。使用本脚本时请遵守:
- AO3 网站的使用条款
- 相关 API 服务的使用协议
- 当地法律法规
欢迎提交问题报告和功能建议。
- 本脚本不存储或传输任何 AO3 内容到第三方服务器(除了配置的 API 端点)
- 翻译质量取决于所使用的 AI 模型
- API 调用产生的费用由用户自行承担
- 请合理使用,避免对 AO3 服务器造成过大负担
