YN Translation Workshop 2.1.5
第一次了解 YN?可以先读项目介绍 · YN Translation Workshop,再按下面的教程开始使用。
一个把人工逐行编辑、项目资产、完整 AI 翻译、完整 AI 校对和远程操作放进同一工作台的本地翻译工具,内置轻量仅为翻译/校对工作特化的Agent Harness的翻译工作台。
你可以完全关闭 Agent,只使用行对行网页前端手动翻译;也可以让内置 Harness 把整批初翻或校对拆给多个 Worker,并在机械校验、独立复审和完成门全部通过后,再由你逐条确认结果。
2.1.5 更新
- 修复大文件翻译卡死:分块检查只扫描当前范围,全文终检在后台执行,保留全部结构要求、审阅与中断恢复。
- 校对建议复用翻译的格式保留要求与机械检查,防止丢失控制符、标签和占位符。
- 修复并发中断恢复:Host 在启动 Worker 前统一核查、交接已有译文、staging 与审阅记录;提交失败保留可恢复产物,不可重试的内部错误停止整个工作流。
2.1.4 更新
- 整理参考资料可直接新建并绑定项目,在翻译前准备译名表和角色表;首页支持一键清空填写内容并恢复默认参数。
- 资料整理先生成可修改、删除的草稿,核查后一次性提交正式译名表和角色表;中断或失败保留草稿。
- 简便启动先核对参数与原文、试跑控制符保留规则,再使用 HTML 共用参数表和相同翻译提示词;需要人工介入时可先生成行对行 HTML。
- 移除无效的分块开关,保留每块行数;文件夹 HTML 自动填入带大括号的文件顺序,保留已填写的选择。
- 首页顶部可直接配置供应商和模型,无需先选择项目或打开 HTML;设置全局共用。
- 首页新增内置 Agent 任务入口:确认参数后自动打开 HTML 并启动翻译或校对,也可直接整理项目资料。默认分块 500 行、子 Agent 上限 3;翻译前预扫并试跑保留规则。
- HTML 新增角色表查看、编辑和删除;校对可自动应用意见到 HTML,TXT 仍手动保存。
- 修复停止后旧任务或压缩仍继续启动的竞态。
2.1.3 更新
- 修复 Grok 4.7 被误发
reasoning_effort=none的请求:自动及旧“关闭”配置使用官方默认high,没有已知思考档位的模型不发送 effort 参数。 - HTML 术语面板分别显示正式译名表与 AI 候选,导入前可查看、搜索和删除候选,正式表也支持逐条删除。删除仅修改对应表,不自动修改译文或角色资料;旧 HTML 打开时会自动升级。
- 内核升级到 0.99.1,并完成各方面适配,避免回归。
2.1.2 更新
- 标准 Provider 的模型目录可从 Pi 上游自动刷新,并在网络不可用时使用本地缓存或随应用发布的目录。
- 修复停放的译文复用流程恢复、校对术语候选重试和 Workflow 类型恢复中的状态不一致。
- 500 行模型分页与结构化修复上限保持一致,并合并同一行重复的长度风险信号。
2.0.5 → 2.1.0 更新
- 超大审阅页能打开了:不再被 80 MiB 卡死;建议跳到原文,实测从大约 4 秒降到 1–2 秒。
- 大文件翻译、校对更稳,内存不再越跑越高,预扫描也不再卡住主窗口。
- 主窗口能自适应;角色可以给同一人追加多条台词。
- 打开 Agent 或发短问题,不会把审阅页拉回顶部。
- 手机远程改成全屏工作区,Agent 放进工具抽屉。
2.0.1 – 2.0.5:工作流可靠性与 Provider
- 校对与 EPUB 始终遵循页面手选的权威译文绑定;翻译完成后,未手选的页面会跟随正式
translated产物,不再误读临时快照。 - 新增 Grok (OAuth)、按模型适配的思考等级和长推理等待;授权过期时刷新并恢复当前工作,而不是中断整批任务。
- 翻译复审耗尽后把精确失败行交回主 Agent,校对 findings 由 Host 按当前绑定行校正;已通过结果不会被后续空写入或失败项清空。
- 术语长名覆盖短名,跨文件术语差异进入最终警告复核;关闭术语候选时不再构造、更新或校验候选资产。
- 批量应用保留人工修改和 TXT 写入状态,恢复命令明确区分翻译与校对,减少跨工作流误恢复。
2.0 是什么
2.0 的工作流不是一段预填提示词,而是一条由 Pi Agent runtime、YN Host、受限 Function、持久状态、产物校验和完成门共同执行的流程。产品只提供两条完整 Workflow:
- 初翻:生成严格行对齐的候选译文,逐片机械校验、独立复审、精确修复,再提升为正式候选。
- 校对:先扫描全部对齐行,再以逐片精审或分层抽样方式运行语义校对,输出一份 Findings JSON 和可视化审阅页。
下载
- Windows 安装版:
translation-workshop-Setup-2.1.5-x64.exe - Windows 便携版:
translation-workshop-Portable-2.1.5-x64.exe - 校验文件:
SHA256SUMS.txt
本地 2.1.5 构建位于 release/;公开包以发布页面实际上传的版本为准。
完整功能清单
1. 项目、输入与文件绑定
- 新建、载入、保存和切换独立项目;项目设置、工作流状态、资产和会话都保存在项目自己的
.translation-workshop/中。 - 最近项目跟随实际打开或保存的项目,不会被文件选择器里的旧路径覆盖。
- 支持单个 TXT、TXT 文件夹、单个 EPUB 和相邻行双语 TXT / EPUB。
- EPUB 会提取成 UTF-8 工作文本;ruby 只保留基文,原始 EPUB 仍作为导出和重打包来源。
- 分离文件模式可分别绑定原文和译文;双语模式可指定奇偶位置分别作为原文与译文。
- 文件夹模式自动匹配源文与译文,并维护一个权威批次索引。
- 文件顺序支持阶段屏障。例如
A, {B, C}, D会先完成 A,再并行处理 B/C,最后处理 D。 - 翻译输出和校对报告默认绑定当前项目的
AI_translation/与report/,切换项目时不会沿用上一个项目的路径。 - 一个统一的分片大小同时用于初翻与校对;并发 Worker 数和独立复审 Worker 数分别设置为上限,实际数量会随任务量缩减。
- 自定义保留规则可保护变量、事件码、标签、控制码和其他不可改载荷;无效正则会直接报错。
- 支持中英文界面、HTML 主题、项目级 Agent 代理开关和持久项目设置。
2. 行对行翻译与审阅前端
- 不启用 Agent 也能完成从读取、逐行编辑、搜索到写回的人工翻译流程。
- 单文件页和文件夹总览页;文件夹子页面、sidecar 与批次索引使用同一身份绑定。
- 原文与译文逐行对齐显示,支持直接编辑译文、保存人工编辑状态和刷新磁盘候选。
- 分页、页码跳转、全文搜索、滚动位置恢复、最近焦点行定位和文件标签切换。
- 按问题严重度标记行、显示高亮、清除问题、管理只读机械证据与可忽略项。
- 从选中行向 Agent 询问有界上下文,不需要把整份文件塞进对话。
- 校对建议默认可执行;可逐条接受、拒绝或手动改写完整替换文本。
- 一键应用已接受建议,并把批次内全部 canonical 子页面同步到当前译文。
- 可导出 TXT,也可写回已绑定译文;写回前检查路径绑定、基线、sidecar、行数和冲突。
- 写回和覆盖前创建时间戳备份;原文文件始终只读。
- 旧版 HTML 打开时按明确版本标记自动升级到当前协议,不要求重新生成全部页面。
3. 术语、角色、文风与翻译记忆
- 正式术语表:项目内部的权威 canonical glossary。选择外部 glossary 后,工作流会同时保留 canonical 中不冲突的正式词;导入已接受候选时先合并现有 canonical、外部 glossary 与候选,冲突则整次拒绝,成功后再把项目绑定切到 canonical。
- 候选术语:Worker 只能在自己负责的证据行中上报新专名、译名和别名,不直接修改共享资产。
- 角色表:保存姓名、性别、代词、称呼、关系和口吻等可复用事实。
- 文风指南:保存作品级语气、表达偏好和格式约束。
- 翻译记忆:检索项目中已经接受的原译文对齐片段。
- 支持 JSON、Tab、
=>、->、=和逗号分隔术语输入。 - 行对行页面可编辑正式术语、查看和删除 AI 候选、逐条删除正式译名、搜索并替换译文中的命中项,以及导入保留的候选条目。
- 每个 assignment 只注入当前原文直接命中的完整结构化记录;缺失歧义才做单词精确搜索。
- 关闭候选收集只禁止新增候选,已有候选仍可作为只读参考。
- 正式译名优先,其次沿用候选或角色表已建立的译名;后来的不同译法只保留证据。尚无既有权威译名的新发现内部冲突才关闭新任务领取门,Parent 决策后再按当前清单生成精确修复。
- glossary candidate、角色事实、DomainRun 状态和 Host 持久化在同一事务边界提交或回滚。
4. 模型、Provider 与 Agent 会话
- 支持 ChatGPT、Claude、Grok OAuth,以及 OpenAI-compatible API、API key 和显式模型目录。
- Provider、OAuth profile、当前模型和默认 thinking level 是用户级配置,可跨项目使用。
- Agent 网络代理默认关闭;只有当前项目明确启用时才会使用项目代理地址。
- 会话列表、创建与切换会话、独立弹出 Agent 窗口、流式输出和 Markdown 展示。
- thinking、Function 调用和 subagent 以结构化对话 block 展示,不把内部协议文本混进普通回复。
- 支持图片输入时,根据当前模型目录声明决定是否开放附件。
- 显示输入、输出、缓存 token 和估算成本;支持
/compact、复制、Provider 设置、新建会话等产品内命令。 - 工作进行中可发送 Steer,当前工作结束后可排队 Follow-up;Stop 会终止活动 runtime 和 Worker pool。
- Parent 与 Child 使用同一套 Pi Agent runtime、
AgentMessage[]和 Pi JSONL 会话。 - 长会话使用 Pi 原生 compaction;完整 Child 对话留在自己的 JSONL,Parent 只保存轻量状态和会话引用。
5. 完整初翻 Workflow
- Parent 读取当前界面绑定和 Host 状态,选择不超过项目上限的实际并发数,并负责最终汇总。
- Host 根据权威 manifest、文件阶段、统一分片大小、旧译复用掩码和现有证据规划真实债务;模型不能自创文件或行范围。
- 翻译池使用持久 Worker 动态领取互不重叠的 assignment,完成一块后再领下一块,避免每个文件私有队列造成长尾。
- assignment 只获得自己的写权限;理解对话、代词或场景时可读取短邻近上下文,但不会扩大写入范围。
- 译文先写入 Host 管理的 staging,成功写入后立刻持久化路径、hash 和待审状态。
- 强制检查行数、空行、placeholder、标签、控制码、自定义保留规则和精确行身份。
- 独立只读复审池检查全部机械风险行和稳定抽样的普通行;普通行样本随分块大小增长。
- 复审只返回具体失败行与短修改要求,通过行不会逐行生成理由或报告。
- 失败回到写出该块的同一翻译 Worker 做有界精确修复,不重启整块翻译。
- 无进展或修复耗尽时,把 hash-current staging 和精确失败行交给 Parent 接管,保留其他有效行和既有证据。
- 术语冲突进入同一批次的 priority repair wave;修复清零前不会越过优先队列继续普通任务。
- 全部 assignment 结束后运行一次全文机械校验;未被既有证据覆盖的 warning 再由 Parent 做配对语义检查。
- 只有真阳性 warning 会成为精确修复债务;假阳性保存为 hash-bound evidence,避免重复花费 token。
- Stop、崩溃或重启后可从持久 staging、ownership、evidence 和 Pi session 继续。
6. 旧译审计与选择性复用
- 默认关闭复用:完整初翻首次写入前对旧候选做 SHA-256 备份并清空一次,保证干净重翻。
- 开启后先对全部对齐行做机械快筛;行数、空行、placeholder、标签和明显占位文本错误直接进入重译。
- 非目标语言、原文复制、异常长度、重复译文、AI 污染和术语/角色/文风命中只是风险证据,不会自动判死刑。
- 无风险的目标语言对齐行自动复用;只有高风险稀疏行进入只读语义审计。
- 审计只返回
reuse或retranslate,成功提交后不再调用模型复述计数。 - 用户对整批只做一次选择;Host 事务性保留可复用行并清空重译行。
- 后续翻译队列只包含真实重译债务,不会为了连续覆盖把保留行再次交给模型。
- 冷启动按 owner、document、source hash 和保留基线恢复,不会把本轮刚写出的候选误当成启动前旧译。
7. 完整校对 Workflow
- 任何语义 Worker 启动前,Host 对清单内所有文档和全部对齐行运行 H3/H4/H7/H8/H9 等确定性扫描。
- 扫描结果绑定 source、candidate、glossary、character bible 和 style hash;输入变化会使旧证据失效。
- 确定性信号只是供 Worker 结合原文、译文和邻近上下文判断的证据,不会直接变成 finding。
- 逐片精审:Worker 语义检查自己范围内的每一行;分片大小只决定派发和保存边界。
- Monte Carlo:Host 规划不重复的 HOT / WARM / COLD 分层样本,并记录真实覆盖。
- 达到最低轮数后,只有连续两轮无新增才算收敛;轮数上限仍有新增时由用户选择继续三轮、只精审 HOT 区域或按当前结果停止。
- 校对 Worker 只读原文、译文和项目资产,只能提交带证据的结构化 findings 与专名候选。
- 文件夹模式先预扫描全部文件,再把所有文档放进同一个跨文件 staged assignment 队列。
- findings 按 scope 原子替换和去重,必须包含全局行号、问题类型、证据和完整可替换建议。
- 校对提示词携带项目保留规则,控制符、标签和占位符本身不作为正文错误;建议译文提交时复用翻译的结构校验,拒绝符号丢失、改动、数量变化和实际换行。
- 无变化修正、越界行、普通目标语言标点差异和格式不合格的提交会被拒绝。
- 单文件和文件夹都只持久化一份 findings JSON;人类审阅 HTML 由产品从该 JSON 生成。
8. Harness、Host 与可靠性
- Runtime 负责模型调用、Function call、继续执行、Steer / Follow-up 队列、provider retry 和 compaction。
- Harness 把 runtime、系统提示、Function 集、持久状态和完成条件组装成可持续执行的 Agent 环境。
- Host 负责 manifest、assignment、阶段、写入 ownership、文件锁、hash、validator、事务与 completion gate。
- 通用调查、局部修复、完整初翻和完整校对分别拥有不同 typed operation scope。
- 完整批次在创建 Worker 前原子预留;重复活动批次会在模型 runtime 创建前被拒绝。
- Parent 和 Child 可以按需读取参考,但只有 Host 授予的 document / range / exact lines 能写产物。
- staging 提升、domain revision、alignment evidence 与 Host JSONL 持久化是一个可回滚提交边界。
- 可纠正的 Function 输入错误留在同一个 Pi turn;不可重试的内部或持久化错误立即停止整个工作流,保留产物和审阅证据并明确报错。
- 完成不是模型说“完成了”,而是 Host 确认所有任务、修复债务、证据、产物和最终校验都结清。
- 关键阶段、Worker、assignment、provider 错误、staging 与 hash 都有持久记录,便于停止、恢复和排查。
为什么更稳定
- 模型只做语义工作,文件身份、范围、并发写入和完成判断由确定性 Host 管理。
- 候选先进入 staging,不会把半成品直接覆盖到 canonical artifact。
- 翻译 Worker 与独立复审 Worker 分离,失败精确回到原 Worker;无进展会停止盲重试。
- 所有恢复依据都绑定当前文件内容 hash;过期授权和过期证据不能继续生效。
- 关键共享资产更新和产物提升使用事务,任一步失败都会回滚到可恢复状态。
为什么节约 token
- Host 自己规划分片和风险扫描,不让模型全文重读后再决定做什么。
- assignment 只注入直接命中的术语、角色和短邻近上下文;缺什么再精确搜索什么。
- 机械快筛、placeholder 检查、行数检查和确定性校对信号不占模型推理。
- 独立复审只返回失败行,通过行不生成逐行解释。
- Parent 不嵌入 Child 全对话,只读取轻量状态和结构化 discoveries。
- 旧译复用只把高风险稀疏行送入语义审计,保留行不会重新翻译。
- hash-bound 通过证据和 warning 假阳性证据可复用,修改一行不会让整份文件全部重审。
9. 网页与本地参考资料
- Agent 可读取用户明确提供的 HTTP(S) 页面并缓存可读正文。
- Wikipedia 通过 MediaWiki API 提取正文;普通网页提取主要可读内容。
- 缓存参考可供 Parent 与 Child 复用,不需要每个 assignment 重新下载。
- 可只读访问用户明确提供的项目外绝对路径、旧译文和备份译文。
- 所有产物写入仍受项目边界、文档身份和行 ownership 约束。
10. 局域网与远程操作
- 在桌面应用中打开工作 HTML 后启动 LAN 同步,并设置 6 位 PIN。
- 手机、平板或另一台电脑可打开文件夹总览和单文件页。
- 远程端可搜索、翻页、编辑译文、接受或拒绝建议、同步页面并使用 Agent 面板。
- 远程 Prompt、Steer 和 Follow-up 使用桌面端同一持久 Pi session,不会另建一份远程 transcript。
- SSE 只负责低延迟增量显示;断线或代理缓冲后,浏览器会从 canonical Pi messages 收敛到最终状态。
- 桌面应用必须保持运行;LAN 只共享当前工作会话,不开放任意目录浏览。
- 产品不内置公网隧道。需要外网访问时,可把 Cloudflare Tunnel、ngrok 等工具指向页面显示的本地地址。
- 公网地址等于暴露工作台入口。请使用不可猜测的 PIN,不要公开 URL,结束后关闭隧道和 LAN 同步。
11. 更新、恢复与兼容
- 安装版支持 GitHub Release 更新检查、下载和重启安装;便携版跳转到 Release 下载。
- 旧行对行 HTML、旧 proposal HTML 和旧项目字段有明确的升级与迁移路径。
- 旧分片设置只在迁移时读取一次,之后统一写入当前 canonical 设置。
- Stop 会终止活动 runtime,但保留 hash-current staging、校对证据和未完成债务。
- 显式继续会在同一个 Pi session 与 Host batch 中恢复,不另起一批假装重跑。
- Provider 传输错误保留脱敏 cause、provider、model、session 和重试记录,便于定位真实失败。
Agent Function 索引
普通用户不需要手动调用这些 Function。它们是 Harness 交给 Parent 和 Child 的受限操作面;同名只读函数在两个角色中分别暴露,所以共有 52 个唯一名称、55 个可调用面。参数、读取内容、写入目标、拒绝条件和下一步见技术手册 Function Registry。
Parent Functions(38)
| 类别 | Functions |
| --- | --- |
| 工作流控制 | resumeYnWorkflow |
| 共享资产 | readTranslationDiscoveries, resolveTranslationDiscoveries |
| 当前界面 | readYnInterfaceContext |
| 局部校对 | inspectProofreadRange, recordProofreadParentReview |
| 网页参考 | fetchWebReference |
| 项目上下文 | inspectTranslationContext, selectSourceDocument |
| 旧译复用 | prepareTranslationReuseAudit, readTranslationReuseAudit, recordTranslationReuseAudit, runTranslationReuseAudit, applyTranslationReuseDecision |
| 模型与 Child | listAvailableModels, inspectSubagents, steerSubagent |
| 文件与检索 | readSourceLines, readTranslationLines, readProjectFile, listProjectDir, searchProjectText, searchTranslationMemory |
| warning 与对齐 | readTranslationAlignmentRows, inspectTranslationWarnings, recordTranslationWarningChecks, inspectTranslationAlignment, recordTranslationAlignmentChecks |
| 翻译产物 | writeProjectFile, writeTranslationChunk, validateTranslationArtifact |
| 校对产物 | writeProofreadFindings, resolveProofreadGlossaryCandidates, finalizeProofreadReport, resolveProofreadMontecarloLimit |
| 调度 | runProofreadSubagents, runSubagents, runTranslationSubagents |
Child Functions(17)
| 角色 | Functions |
| --- | --- |
| 通用只读 | listProjectDir, searchProjectText, readProjectFile |
| 翻译 Worker | readTranslationContext, readAssignedSource, writeAssignedTranslation, repairAssignedTranslation, validateAssignedTranslation |
| 校对 Worker | readAssignedProofreadContext, readProofreadReference, writeAssignedFindings |
| 局部委派 | readBoundSourceLines, readBoundTranslationLines |
| 独立翻译复审 | readAssignedTranslationReview, submitTranslationReview |
| 旧译语义审计 | readAssignedTranslationAudit, submitTranslationAudit |
一次完整使用流程
flowchart LR
A[新建项目并绑定原文] --> B[生成行对行 HTML]
B --> C[配置 Provider 和模型]
C --> D[运行初翻 Workflow]
D --> E[刷新并人工抽查候选]
E --> F[运行校对 Workflow]
F --> G[生成审阅 HTML]
G --> H[接受 拒绝或手改建议]
H --> I[安全写回或导出 TXT]
第一次使用建议先处理 50 到 200 行,确认编码、行对齐、语言方向、术语、控制码和写回路径,再运行完整项目。具体参数怎么填、每个按钮怎么用、如何远程访问,请直接阅读普通用户教程。
产物与数据位置
| 类型 | 内容 | | --- | --- | | 行对行工作页 | 单文件 HTML,或文件夹 index + canonical child HTML + sidecar | | 候选译文 | 与原文严格行对齐的 TXT 和 Host staging artifact | | 校对结果 | 唯一 Findings JSON,以及由它生成的逐条审阅 HTML | | 项目资产 | 正式术语表、候选术语、角色表、文风指南、翻译记忆 | | 运行状态 | Host batch、assignment、证据、恢复债务和 Pi JSONL sessions | | 备份 | 写回、清空旧译或覆盖资产前生成的时间戳备份 |
源文件永远只读。候选译文、HTML 页面状态和真实译文文件分开保存;不满足绑定、基线、行数或校验契约时,写回会明确失败。
开发与验证
要求 Node.js >=22.19.0。
npm ci
npm run dev
npm run typecheck
npm test
npm run build
npm run verify:electron-agent-html
npm run verify:electron-lan-agent
Windows 发布包:
npm run package:win
npm run verify:release
开发入口见 Host 工作流边界审计和运行时代码地图。审计记录对应其标注日期,当前实现以代码和测试为准。
运行时加载的 child 协议是 translation-child.md 和 proofread-child.md,JSON schema 同在 translation-protocol/。完整工作流由内置系统提示、Host Functions、validator 和 completion gate 执行;旧 translate.md 仅保留文档导航,不是运行时入口。
隐私与安全
- Provider credential 保存在 Electron 用户数据目录,不进入项目仓库。
- 翻译资产、Agent 会话、Host 状态和备份按项目隔离。
- 项目代理默认关闭,进程环境中的代理变量不会静默开启 Agent 网络代理。
- LAN 访问者持有 PIN 后可以操作当前共享会话,请只在可信网络或受控隧道中使用。
- 仓库不跟踪本机 Agent 指令、运行记忆、私有测试路径、编辑导出稿或个人教程源文件。
License
感谢 OpenAI Codex 以及所有参与测试、翻译和反馈的人。