Lazy loaded image
用 Cloudflare Worker 写了一个自己的 AI 翻译网页
字数 761阅读时长 2 分钟
2026-3-21
2026-3-22
password
comment
type
Post
status
Published
date
Mar 21, 2026
slug
cloudflare-ai-translator
summary
一个轻量、干净、支持防刷验证和流式输出的 AI 翻译工具。
tags
Cloudflare Worker
JavaScript
AI 翻译
流式输出
防刷验证
网页应用
category
技术分享
icon
fas fa-language
平时用一些在线翻译网站,总会遇到几个问题:字数限制、广告多、弹窗烦、页面不够干净。
所以我干脆自己写了一个基于 Cloudflare Worker 的 AI 翻译网页,目标很简单:打开就能用,界面尽量清爽,翻译结果尽量干净。
项目地址:

一、为什么做

这个工具本质上是为了解决自己的日常需求。
相比很多传统翻译网站,我更想要的是一个:
  • 没有乱七八糟广告的页面
  • 能直接翻译句子和段落
  • 输入单词时还能顺手给出更清晰解释
  • 结果能边生成边显示的轻量工具
不追求复杂功能,只追求顺手。

二、做了什么

整体功能并不复杂:
  • 普通句子直接翻译
  • 英文单词或短语走“词汇解析”模式
  • 支持流式输出
  • 支持本地历史记录
  • 支持明暗主题切换
其中单词模式不只是给一个中文意思,还会尽量输出:
  • 核心含义
  • 词性说明
  • 常见搭配
  • 相关词
  • 简单例句
这样比普通翻译更适合查词。

三、做了哪些防盗刷验证

因为背后会调用 AI 接口,所以不能完全裸开放。这里做了两层基础防护。

1. Turnstile 人机验证

用户第一次进入时,如果没有有效会话,就先完成 Cloudflare Turnstile 验证。
后端会再请求官方接口校验 token,确认通过后才允许使用。

2. Session Cookie 校验

验证成功后,服务端会签发一个带签名的 Cookie。
之后每次调用翻译接口时,都会校验这个 Cookie 是否有效、是否过期。
签名会结合:
  • 用户 IP
  • 过期时间
  • 服务端密钥
虽然方案不复杂,但对这种个人小工具来说已经够用了。

四、为什么还要清理 AI 输出结果

AI 虽然能翻译,但经常会在最后补一些没必要的话,比如:
  • 如果你愿意,我还可以继续补充……
  • 如需更多例句……
  • 欢迎继续提问……
这些内容放在聊天里没问题,但放在翻译工具里就显得很多余。
所以我专门在代码里做了一层结果清理,把这类尾巴去掉,只保留真正有用的翻译内容。
💡
我觉得这一步其实很重要:不只是让 AI 能输出,还要让结果更像一个真正的工具。

五、总结

这个项目并不复杂,本质上就是一个基于 Cloudflare Worker 的轻量 AI 翻译网页。
做它的原因也很简单:不想再忍受传统翻译网站的广告、限制和复杂体验。
有时候,自己写一个顺手的小工具,反而比很多现成产品更适合自己。
上一篇
NodeWarden:Cloudflare Workers 上的 Bitwarden 兼容服务端体验
下一篇
OpenAI/AI 账号分流与矩阵风控架构实战:基于 3X-UI 与 Docker

评论
Loading...