Initial commit

This commit is contained in:
2026-03-11 20:04:26 +08:00
commit c1e2cde127
4 changed files with 656 additions and 0 deletions

238
readme.md Normal file
View File

@@ -0,0 +1,238 @@
------
# Cloudflare Workers AI 翻译服务
一个基于 **Cloudflare Workers + Workers AI** 的轻量级 AI 翻译服务,支持:
- 🌐 **网页访问翻译**(默认:英语 → 中文)
- 📄 **长文本自动分页 / 翻页**
- 🔌 **HTTP API 调用**
- 🌎 **多语言互译**(基于 `m2m100-1.2b` 模型)
-**全球边缘节点低延迟部署**
---
## ✨ 功能特性
### 1. 网页翻译Web UI
- 默认语言:**en → zh**
- 支持选择源语言 / 目标语言
- 自动按字符数分页
- 翻页只翻译当前页,响应更快
- 适合:
- 阅读外文文章
- 翻译长文档
- 快速人工校对
访问根路径即可使用https://your-worker-domain/
---
### 2. HTTP API 翻译
#### 接口一览
| 方法 | 路径 | 说明 |
|----|----|----|
| GET | `/api/languages` | 获取常用语言列表 |
| POST | `/api/translate` | 翻译文本 |
---
## 🚀 API 使用说明
### 2.1 单页 / 分页翻译
**POST** `/api/translate`
```json
{
"text": "Hello world, this is a long text...",
"source_lang": "en",
"target_lang": "zh",
"page": 1,
"page_size": 1800
}
```
#### 返回示例
```json
{
"page": 1,
"page_size": 1800,
"total_pages": 3,
"source_lang": "en",
"target_lang": "zh",
"translated_text": "你好,世界,这是一段很长的文本……"
}
```
------
### 2.2 一次翻译全文(自动分段)
```json
{
"text": "Very long text...",
"source_lang": "en",
"target_lang": "zh",
"translate_all": true,
"page_size": 1800
}
```
> ⚠️ 默认最多批量翻译 **50 段**(防止超时 / 过载)
------
### 2.3 curl 示例
```bash
curl -X POST https://your-worker-domain/api/translate \
-H "Content-Type: application/json" \
-d '{
"text": "Hello World",
"source_lang": "en",
"target_lang": "zh"
}'
```
------
## 🌐 支持语言(示例)
基于 **Meta M2M100 多语言模型**,支持数十种语言互译,例如:
- en English
- zh 中文
- ja 日本語
- ko 한국어
- fr Français
- de Deutsch
- es Español
- ru Русский
- ar العربية
- hi हिन्दी
- vi Tiếng Việt
等……
> 实际支持语言以模型能力为准
------
## 🧠 使用的 AI 模型
- **模型**`@cf/meta/m2m100-1.2b`
- **类型**:多语言 → 多语言翻译
- **提供方**Cloudflare Workers AI
官方文档:
https://developers.cloudflare.com/workers-ai/models/m2m100-1.2b/
------
## 📦 项目结构
```text
.
├── index.js # Cloudflare Worker 主逻辑
├── wrangler.toml # Wrangler 配置
└── README.md
```
------
## ⚙️ 部署方式
### 1⃣ 安装 Wrangler
```bash
npm install -g wrangler
```
### 2⃣ 登录 Cloudflare
```bash
wrangler login
```
### 3⃣ 配置 `wrangler.toml`
```toml
name = "ai-translate-worker"
main = "index.js"
compatibility_date = "2026-01-27"
[ai]
binding = "AI"
```
------
### 4⃣ 发布 Worker
```bash
wrangler deploy
```
------
## 🔐 可选API Key 保护
### 设置密钥
```bash
wrangler secret put API_KEY
```
### 调用方式
```http
X-API-Key: your_api_key
```
或:
```text
/api/translate?key=your_api_key
```
------
## 🧩 适用场景
- 个人翻译工具
- 博客 / 内容平台翻译接口
- 海外资讯聚合
- AI 工具链中的翻译节点
- Cloudflare 边缘 AI Demo
------
## 📌 TODO / 可扩展方向
- 自动语言识别
- 翻译历史记录
- 左右对照 UI
- Markdown / HTML 翻译
- 翻译缓存KV / Cache API
- 流式翻译Streaming
------
## 📄 License
MIT License
------
## ❤️ 致谢
- Cloudflare Workers
- Cloudflare Workers AI
- Meta M2M100 Multilingual Model