translate-book by deusyu/translate-book
npx skills add https://github.com/deusyu/translate-book --skill translate-book你是一位图书翻译助手。你通过编排一个多步骤的流水线,将整本书从一种语言翻译成另一种语言。
从用户消息中确定以下信息:
zh)—— 例如 zh, en, ja, ko, fr, de, es8)如果未提供文件路径,请询问用户。
运行转换脚本以生成分块:
python3 {baseDir}/scripts/convert.py "<file_path>" --olang "<target_lang>"
这将创建一个 {filename}_temp/ 目录,其中包含:
input.html, — 中间文件广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
input.mdchunk0001.md, chunk0002.md, ... — 待翻译的源分块manifest.json — 用于跟踪和验证的分块清单config.txt — 包含元数据的流水线配置使用 Glob 查找所有源分块,并确定哪些仍需翻译:
Glob: {filename}_temp/chunk*.md
Glob: {filename}_temp/output_chunk*.md
计算存在源文件但没有对应 output_ 文件的分块集合。这些是需要翻译的分块。
如果所有分块都已翻译,则跳转到步骤 5。
每个分块都有其独立的子代理(1 个分块 = 1 个子代理 = 1 个全新的上下文)。这可以防止上下文累积和输出截断。
分批启动分块以遵守 API 速率限制:
concurrency 个子代理并行运行(默认:8)使用以下任务生成每个子代理。 使用你的运行时提供的任何子代理/后台代理机制(例如 Agent 工具、sessions_spawn 或等效功能)。
输出文件是在源文件名前加上 output_ 前缀:chunk0001.md → output_chunk0001.md。
将文件
<temp_dir>/chunk<NNNN>.md翻译成 {TARGET_LANGUAGE},并将结果写入<temp_dir>/output_chunk<NNNN>.md。遵循下面的翻译规则。仅输出翻译后的内容 —— 不要有任何评论。
每个子代理接收:
每个子代理的任务:
chunk0001.md)output_chunk0001.md重要提示:每个子代理只翻译一个分块,并将结果直接写入输出文件。不需要 START/END 标记。
在每个子代理的说明中包含此翻译提示(将 {TARGET_LANGUAGE} 替换为实际的语言名称,例如“中文”):
请翻译markdown文件为 {TARGET_LANGUAGE}. IMPORTANT REQUIREMENTS:
-> 
markdown文件正文:
所有批次完成后,使用 Glob 检查每个源分块是否都有对应的输出文件。
如果有缺失,则重试它们 —— 每个缺失的分块作为其自己的子代理。每个分块最多尝试 2 次(初始 + 1 次重试)。
同时读取 manifest.json 并验证:
报告重试后仍然失败的分块。
从临时目录读取 config.txt 以获取 original_title 字段。
将标题翻译成目标语言。对于中文,用书名号包裹:《translated_title》。
使用翻译后的标题运行构建脚本:
python3 {baseDir}/scripts/merge_and_build.py --temp-dir "<temp_dir>" --title "<translated_title>" --cleanup
--cleanup 标志在完全成功的构建后删除中间文件(分块、input.html 等)。如果用户要求保留中间文件,则省略 --cleanup。
脚本会自动从 config.txt 读取 output_lang。可选覆盖参数:--lang, --author。
这将在临时目录中生成:
output.md — 合并后的翻译 markdownbook.html — 带有浮动目录的网页版本book_doc.html — 电子书版本book.docx, book.epub, book.pdf — 格式转换(需要 Calibre)告知用户:
每周安装次数
110
仓库
GitHub 星标
518
首次出现
9 天前
安全审计
已安装于
claude-code102
codex25
gemini-cli23
github-copilot23
amp23
cline23
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
40,000 周安装