命令行翻译(CLI)
三个翻译工具的引擎是平台无关的纯 TypeScript,命令行入口复用同一条流水线和同一份格式解析 / 装配代码——批处理、并发、重试、429 冷却、术语表、上下文翻译、逐行缓存的行为与网页端一致,只是把浏览器那几样依赖换成了 Node 实现(fetch / 文件缓存 / Ctrl-C 取消)。
适合:整季字幕 / 整个 docs/ 目录批量过一遍、接进自己的脚本或 CI、在没有浏览器的机器上跑。
CLI 不是独立发布的包,它随源码一起提供。先 git clone rockbenben/web-tools-by-ai(或单工具子项目 subtitle-translator / md-translator / json-translate)再 yarn 安装依赖。需要 Node.js ≥ 20.9。
无需额外安装,tsx 已在 devDependencies 中:
示例
先在网页端配好,再用 -s 读进来
设置文件(-s)就是网页端「导出设置」下载的那个 JSON —— 在界面里把服务、密钥、prompt、术语表配好,命令行直接读,不必用一堆 flag 重复描述。两边用的是同一份消毒逻辑,越界数值与坏形状的预设两边都会被丢弃。
保存位置
参数
字幕专属:--bilingual、--original-first、--bilingual-format <ass|srt>(默认 ass)、--no-context(上下文批处理默认开,与网页端一致,此开关关闭)。
Markdown 专属(默认值与网页端逐项一致):--md-raw(直译整行,不保护);--context(上下文批处理默认关,此开关开启,并隐含 --md-raw——上下文模式与占位符保护互斥);--md-no-link-text(链接文字默认翻译,此开关保留原文);--md-translate-frontmatter / --md-translate-code / --md-translate-latex(这三类默认保护,按需 opt in)。
支持的格式
三种格式内建于 CLI 本体,任何 checkout 都全带 —— 单工具子项目里的 yarn cli 一样能翻 Markdown 和 JSON。
退出码
与网页端的差异
- 编码识别一致:CLI 同样自动识别 GBK / Big5 / UTF-16 等编码;识别不出时报
✖ … cannot read并计入退出码 1,不会猜一个编码写出乱码。 - 双语 ASS 固定使用默认样式:ASS 样式是网页端的本地偏好,导出的设置文件里不含它。需要自定义 ASS 样式请用网页端。

