Doctranslator — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Doctranslator (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
🎉 DocTranslator Pro 版本现已发布! 欢迎体验,功能更强大!
DocTranslator 文档翻译,支持多种文件格式的翻译,兼容 OpenAI 格式的 API,并支持批量操作和多线程处理。无论是个人用户还是企业团队,DocTranslator 都能帮助你高效完成文档翻译任务!✨
[[English]](README_en.md)
📑 txt、📝 markdown、📄 word、📊 csv、📈 excel、📑 pdf(非扫描版)、📽️ ppt 文档的 AI 翻译。
🤖 支持任何符合 OpenAI 格式的端点 API(中转 API),灵活适配多种 AI 模型。
🚀 支持批量上传和翻译文档,提升工作效率。
⚡ 利用多线程技术,加速文档翻译过程。
🐳 支持 Docker 一键部署,简单易用。
用户端页面 用户端页面2 用户端页面3
管理端页面 管理端页面2 管理端页面3
推荐在 Linux 系统中使用 Docker Engine。
git clone https://github.com/mingchen666/DocTranslator.git
cd DocTranslator
cp backend/.env.example backend/.env编辑 backend/.env,将 FLASK_ENV 设为 production,并填写真实的 PROD_DATABASE_URL、SECRET_KEY 和 JWT_SECRET_KEY。
bash deploy.sh脚本会校验部署配置、自动构建 backend/Dockerfile、执行数据库迁移,并按 TRANSLATION_QUEUE_BACKEND 启动 API、Nginx 和对应 worker。默认 database 启动 数据库队列 worker;celery 启动 Redis 及普通文档、PDF 两个 Celery worker。
bash update.sh更新脚本要求工作区干净,并且只接受 main 分支的快进更新,随后复用同一部署流程重建 后端镜像。已提交的 frontend/dist 和 admin/dist 会直接被 Nginx 使用,无需在服务器 构建前端。
<details> <summary>Windows 部署</summary>
<br>
deploy.sh 和 update.sh 面向 Linux/macOS 的 Bash。Windows 用户可在 Docker Desktop 的 Linux containers 模式下,通过 PowerShell 在项目根目录执行:
# 首次部署或默认数据库队列模式
docker compose up -d --build --force-recreate
# 日常更新
git pull --ff-only; if ($LASTEXITCODE -eq 0) { docker compose up -d --build --force-recreate } else { exit $LASTEXITCODE }该方式同样自动构建后端镜像,并直接使用已提交的 frontend/dist 与 admin/dist。 Celery 模式使用 docker compose --profile celery up -d --build --force-recreate。
</details>
git clone https://github.com/mingchen666/DocTranslator.git
cd DocTranslator在 backend/.env 文件中填写必要的环境变量
进入后端目录安装依赖:
cd backend
pip install -r requirements.txtpython run.pypython run.py 会先执行 Alembic 数据库迁移和幂等初始化,再启动开发服务器。 也可以单独运行 python migrate_startup.py 只执行迁移。生产数据库升级前必须先备份。
/dist 文件夹已经是打包好了的,直接部署使用即可,不本地开发可以忽略下面步骤
>
前端
cd frontend
pnpm install
pnpm dev管理端
cd admin
pnpm install
pnpm dev<details> <summary>其他部署方式:Docker Compose、Celery、对象存储和独立容器</summary>
<br>
生产环境优先使用上方 deploy.sh。旧版只启动 API 和 Nginx 的手工命令不会启动 翻译队列 worker,不能用于当前版本。需要手工管理容器时,请使用本节末尾的完整示例。
新数据库不会创建默认管理员。首次启动前可在 backend/.env 同时配置 ADMIN_EMAIL 和 ADMIN_PASSWORD;创建成功后应移除 ADMIN_PASSWORD。
#### 启动项目
cd DocTranslator
docker compose up -d --build --force-recreateDocker Compose 从 backend/.env 读取数据库和密钥配置,并在启动服务前同步完成迁移。
默认 TRANSLATION_QUEUE_BACKEND=database,只运行数据库 worker,不需要 Redis。 需要 Celery + Redis 时,在 backend/.env 设置:
TRANSLATION_QUEUE_BACKEND=celery
CELERY_BROKER_URL=redis://redis:6379/0然后使用 Celery profile:
docker compose --profile celery up -d --build --force-recreate#### 翻译结果对象存储
默认情况下,翻译结果继续保存在 /app/storage。如需把新完成的结果保存到 阿里云 OSS,可在 backend/.env 设置:
RESULT_STORAGE_BACKEND=oss
OSS_ENDPOINT=https://oss-cn-hangzhou.aliyuncs.com
OSS_BUCKET=your-private-bucket
OSS_ACCESS_KEY_ID=your-access-key-id
OSS_ACCESS_KEY_SECRET=your-access-key-secret
OSS_PREFIX=translations/历史本地结果不会自动迁移;每条记录仍从它完成时使用的存储后端读取。 /app/storage 挂载仍然必须保留,用于源文件、翻译临时文件和历史结果。
#### 独立 Docker 容器
不使用 Compose 时,所有容器使用同一个镜像、同一个 .env、同一个数据库和 /app/storage 挂载。
先构建镜像并创建网络:
docker build -t doctranslator ./backend
docker network create my-network数据库队列模式:
docker run -d --name backend-container --env-file backend/.env \
--network my-network -p 5000:5000 \
-v $(pwd)/backend/db:/app/db \
-v $(pwd)/backend/storage:/app/storage doctranslator
docker run -d --name backend-worker-container --env-file backend/.env \
--network my-network \
-v $(pwd)/backend/db:/app/db \
-v $(pwd)/backend/storage:/app/storage \
doctranslator python worker.pyCelery 模式额外启动 Redis 和两个 Celery worker:
docker run -d --name redis --network my-network \
redis:7-alpine redis-server --appendonly yes
docker run -d --name celery-document-worker --env-file backend/.env \
--network my-network \
-v $(pwd)/backend/db:/app/db \
-v $(pwd)/backend/storage:/app/storage \
doctranslator celery -A app.celery_app:celery worker \
--queues=translation.default --concurrency=2
docker run -d --name celery-pdf-worker --env-file backend/.env \
--network my-network \
-v $(pwd)/backend/db:/app/db \
-v $(pwd)/backend/storage:/app/storage \
doctranslator celery -A app.celery_app:celery worker \
--queues=translation.pdf --concurrency=1独立容器部署在多台主机时,/app/storage 必须使用共享文件系统;普通本地 Docker volume 不能跨主机共享翻译源文件和结果文件。
#### 更新项目
cd /DocTranslator
git pull --ff-only && docker compose up -d --build --force-recreate</details>
维护此项目需要耗费大量精力,如果DocTranslator对你有帮助,欢迎赞赏支持!你的支持是我持续开发的动力!😊 <img src="docs/e652698b250efb6e5151b084bd08814.jpg" alt="赞赏码" width="300">
有任何问题想交流,欢迎加入我们的交流群 <img src="docs/images/qq-group.png" alt="交流群" width="300">
欢迎贡献代码!
如有任何问题或建议,请联系我:
在读生一枚,有点喜欢前端,喜欢探索AI应用和工具开发 🎉 感谢大家的支持!欢迎 Star ⭐️ 和 Fork 🍴,一起完善 DocTranslator!
本项目基于 ezwork 进行重构优化,感谢原作者的贡献!🙏
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.