Files
-----/AGENTS.md
T

7.9 KiB
Raw Blame History

轻小说翻译长期项目工作流

本项目用于持续推进日语轻小说的简中翻译、复审、润色与 EPUB 交付。开始任何任务前,先阅读本文件,再读取 rules/translation_rules.md、当前系列的 series-style.md 和正式术语表。

必读顺序

  1. rules/translation_rules.md
  2. 当前系列目录下的 series-style.md
  3. 当前系列目录下的 mingcibiao.json
  4. 当前卷目录下与任务阶段相关的文件

如果任务是新卷启动,继续读取 templates/new_volume_start_template.md。如果任务是封装交付,继续读取 epub_delivery/epub_delivery_recipe.md

项目结构

标准结构如下:

<project-root>
  <series-folder>\
    mingcibiao.json
    mingcibiao.ai.json
    mingcibiao.candidates.json
    series-style.md
    <novel-folder>\
      text\
      preprocess_text\
      trans_text\
      final_text\
      deliverables\

长期工作流

  1. 导入源文件,保留段落编号、div 结构、ruby 信息和必要标签。
  2. 扫描正文与 ruby,整理候选词到 mingcibiao.candidates.json
  3. 等用户确认后,将候选词合并进 mingcibiao.json
  4. 锁词后进行正文首译,首译写入 trans_text/chunks
  5. 逐段复审,复审写入 trans_text/reviewed_chunks
  6. 复审完成后恢复 HTML,写入 final_text
  7. 交付前检查术语、残留日文、ruby、段落覆盖率和 HTML 结构。
  8. 需要 EPUB 时,使用 epub_delivery/build_epub_variants.py 生成纯译版和/或中日双语版。

默认多 Agent 协作分工

除非用户明确指定单线程处理,长卷、跨文件、翻译复审或 EPUB 交付任务默认按多 Agent 流水线协作:

  • 统筹 Agent:读取本文件、translation_rules.mdseries-style.mdmingcibiao.json,确认当前阶段、输入文件、输出目录、风险点与暂停条件。
  • 术语 Agent:扫描原文、ruby、标题、技能名、人名地名与高频特殊表达,输出候选术语;只提出候选,不擅自写入正式 mingcibiao.json
  • 首译 Agent:只处理明确分配的 chunk 范围,严格使用已锁定术语、系列风格和段落编号。
  • 复审 Agent:逐段对照源文、首译、术语表和风格文件,修正误译、漏译、日式语序、角色口吻漂移。
  • 格式恢复 Agent:恢复 HTML,保留 div、ruby、段落编号、必要标签和图片引用。
  • QA Agent:执行术语命中、残留日文、ruby、段落覆盖率、HTML 结构、空段落和交付文件检查;只读审查时只给报告,不改文件。
  • 交付 Agent:仅在 QA 通过或用户确认风险后,生成纯译版和/或中日双语版。

并行 Agent 必须写入各自负责的目录或报告,不跨范围修改。发现正式术语、结构、交付形式或规则冲突时,暂停并交给统筹 Agent 汇总后请用户确认。

审校器功能开发或维护任务应先读取 tools/epub_review_editor/MAINTENANCE.md,按工程维护、回归测试和版本规则处理,并默认采用“后端/API、前端交互、文档/工作流、QA 验收”的多 Agent 协作,不套用正文翻译流水线。

翻译与润色原则

  • 输出必须是自然、流畅的简体中文轻小说文风。
  • 以意义优先,再调整成中文语序,不要贴着日语句序硬译。
  • 对话要符合角色性格,不要把所有角色写成同一种口吻。
  • 术语、人名、地名、组织名优先服从 mingcibiao.json
  • 如果发现会影响一致性的新术语,先记录为候选词,不要擅自发明多个译名。
  • 保留 [Pxxxx]<lk>...</lk>、必要的 ruby 和 HTML 标签。
  • 不合并、不拆分原有段落,除非用户明确要求重排结构。
  • 复审必须逐段覆盖,不可以只抽查。

提示词第一性原理

  • 输入必须完整但克制:源文、必要上下文、命中术语、系列风格和输出格式要求同时给出;单段重翻不塞整本术语表。
  • 约束必须显式:不要只写“遵守术语表”,必须把本段实际命中的术语列入提示词;未命中的术语不得进入提示。
  • 输出必须可验收:要求保持段落数量、段落编号、HTML/ruby/标签结构,不输出解释、分析或额外段落。
  • 意义优先于字面:先理解语义、人物关系、语气和叙述功能,再改写成自然简中轻小说文风。
  • 复审不同于重译:复审优先保留首译中正确内容,只修误译、漏译、术语、语序、口吻和格式问题。
  • 不让模型自行定规则:遇到术语冲突、角色称谓冲突、ruby 含义不明、结构缺损时,输出问题或候选,不自行发明长期规则。

Ruby 与格式

  • 纯读音、无额外信息的 ruby,通常直接译成普通中文。
  • 隐含义、别名、外语读音、技能名、称号、世界观术语,应按需要保留为真实 ruby。
  • 不要把有意义的 ruby 改成括号。
  • 不要删除 <rt> 后再用猜测补回。
  • 双语版中,日文保留为灰色,中文译文紧随其后。

常用用户指令

  • 新卷启动:按 templates/new_volume_start_template.md 检查目录、风格文件和术语表。
  • 开始翻译:进入正文翻译流程。
  • 继续:按当前阶段自动推进下一步;没有风险点时不要重复解释整套流程。
  • 生成双语版:生成中日双语 EPUB。
  • 生成翻译版:生成纯译文 EPUB。
  • 终交付封装合并为epub交付给我:默认生成纯译版和中日双语版。

交付脚本

通用封装脚本位于 epub_delivery/build_epub_variants.py。常用命令:

$env:PYTHONIOENCODING='utf-8'
$env:SOURCE_EPUB='<源EPUB完整路径>'
$env:NOVEL_ROOT='<小说工程根目录完整路径>'
python '<project-root>\epub_delivery\build_epub_variants.py' --mode both

可选模式:

python '<project-root>\epub_delivery\build_epub_variants.py' --mode translated
python '<project-root>\epub_delivery\build_epub_variants.py' --mode bilingual

双语 EPUB 网页审校

中日双语 EPUB 生成后,如用户需要网页审校、实时修改译文或标记翻译问题,使用 tools/epub_review_editor/server.py

$env:PYTHONIOENCODING='utf-8'
python '<project-root>\tools\epub_review_editor\server.py' '<中日双语版.epub>' --daemon

审校器会生成独立 session,默认写入 epub_review_sessions\。重点读取:

  • feedback/translation_feedback.jsonl:结构化逐条反馈记录
  • feedback/feedback_for_codex.md:适合直接纳入后续翻译优化的摘要
  • exports/*_网页审校版_*.epub:用户导出的修订版 EPUB

当用户说“读取我的审校反馈”“根据网页标记优化翻译”或类似指令时,优先读取上述反馈文件,将其中的具体修改、问题类型和长期规则沉淀到当前系列的复审口径、候选术语或风格文件中。正式术语表仍需用户确认后再改。

决策规则

  • 如果 series-style.md 不存在,先用 templates/series_style_template.md 创建,再暂停等待用户填写。
  • 如果 series-style.md 为空或明显未完成,先提示用户确认是否继续。
  • 如果用户确认继续,只按已填写部分限定风格,空白部分视为未指定。
  • 名词表、规则冲突、交付形式等会影响全卷一致性的事项,先暂停让用户确认。
  • 用户只说“继续”时,按当前上下文进入下一步,不重新解释流程。
  • 每次完成代码、文档或工作流更新后,先完成必要检查,再将当前仓库同步到 https://git.diaomin.asia/ 对应远端;如果缺少远端地址、凭据或登录授权,先询问用户,不要静默跳过。
  • 涉及通用工作流、目录结构、术语表格式、验收标准或默认协作方式的变更,必须同步 rules/translation_rules.mdREADME.md
  • 涉及网页审校器行为、API、配置、前端交互或 GPT 重翻的变更,必须同步 tools/epub_review_editor/MAINTENANCE.md 并按其版本规则发版。