article-translator
Article Translator Skill
将英文或其他语言的文章翻译成中文,并处理其中的图片,最终输出Markdown格式文档。
输入参数
用户提供以下信息(按需询问):
| 参数 | 说明 | 默认值 |
|---|---|---|
url |
文章URL | 必填 |
reader_profile |
读者画像说明 | 0基础小白,科普属性 |
save_path |
保存路径 | 当前目录 |
fetch_method |
获取正文方式 | playwright(若已安装MCP) |
执行流程
1. 获取文章正文
优先使用 Playwright MCP(已配置的情况下):
1) 使用 mcp__plugin_playwright_playwright__browser_navigate 导航到 URL
2) 等待页面首屏稳定后,停留并触发全文加载(处理动态渲染/分段加载)
3) 持续向下滚动,直到页面底部,确保懒加载内容和图片全部出现
4) 若图片或正文区域显示不完整,可缩小页面(zoom out)后继续滚动检查
5) 确认“全文 + 全部图片已渲染”后,再使用 browser_snapshot 获取页面内容
备选方案(无Playwright时):
- WebFetch 获取页面
- 或提示用户提供HTML/文本内容
2. 提取内容
从页面内容中提取:
- 文章标题(title)
- 正文内容(main content)
- 图片列表(img src)
- 图片 base64(优先从已渲染图片提取;无法提取时保留 URL 兜底)
3. 翻译正文
核心原则:保持原意,但中文表达要流畅自然。
读者画像适配:
- 0基础小白(默认):科普风格,语言通俗易懂,避免专业术语,必要时加括号解释
- 专业人士:保持专业术语,可用行业惯用语
- 自定义:按用户提供的画像调整
reader_profile仅作为翻译时的内部风格约束,不在最终 Markdown 顶部显式输出。
翻译技巧:
- 被动句转主动句,更符合中文习惯
- 长句拆短句,每段控制在合理长度
- 保留原文的强调语气(加粗、斜体等Markdown格式)
- 专业术语首次出现时加括号注释英文原词
4. 处理图片
对于文章中的每张图片:
- 下载原图到本地
images/子目录 - 重命名为有意义的名字(可用序号或基于alt text)
- 在Markdown中替换为本地相对路径:

图片下载方式(按优先级):
- Playwright MCP(首选)
- 优先通过 Playwright MCP 在浏览器上下文中获取图片资源并保存到本地
images/。 - 优先下载/导出图片 base64(基于页面已渲染结果),再落盘为本地图片文件。
- 适用于有防盗链、需要携带页面会话/Referer 的图片链接。
- 优先通过 Playwright MCP 在浏览器上下文中获取图片资源并保存到本地
- Python 脚本(第一备选)
- 使用仓库脚本下载:
python "skills/article-translator/scripts/download-image.py" "图片URL" "images" "xxx.jpg"
- bash/curl(第二备选)
curl -L -o "images/xxx.jpg" "图片URL"
执行要求:
- 每张图片都遵循同一顺序:先尝试 Playwright MCP,失败后再回退到脚本,再回退到 bash。
- 只有在“页面全文已加载 + 已滚动触发懒加载 + 图片完整显示”后,才开始提取正文与下载图片 base64。
- 若最终下载失败,在正文中保留原图链接并添加失败说明注释。
5. 组装输出
输出Markdown格式:
# 文章标题
## 导语
(2-4句:概括这篇文章提供的方法、数据/案例、关键见解,以及对读者的实际价值)
---
正文内容...
---

> 原文链接:URL
> 翻译日期:YYYY-MM-DD
元信息换行规范(必须):
- 元信息区(原文链接/翻译日期)放在文末最后,使用 blockquote,并强制硬换行。
- 推荐写法:每行末尾保留两个空格(
)。 - 可选写法:每行末尾使用
<br>。 - 禁止仅依赖自然换行,否则渲染后可能合并为同一段。
导语规范(必须):
- 在正文前必须输出「导语」小节(2-4句),回答“这篇文章为什么值得读”。
- 导语至少覆盖以下四点中的三点:方法/框架、数据/案例、关键见解、实践意义。
- 导语避免复述标题,优先提炼可执行信息和可迁移思路。
保存文件
- 文件名:基于文章标题,保留中文,特殊字符替换
- 格式:
.md - 路径:由用户指定,或保存在当前工作目录
错误处理
| 情况 | 处理方式 |
|---|---|
| URL无法访问 | 提示用户检查URL,或尝试备选获取方式 |
| 页面内容为空 | 询问用户是否手动提供内容 |
| 图片下载失败 | 在正文中保留原图链接,添加注释说明 |
| 内容提取失败 | 请求用户手动复制正文内容 |
示例
用户输入:
翻译 https://example.com/article 并保存到 ~/documents/
读者画像:我是一个对机器学习感兴趣的普通大学生
输出:
- 一篇完整的中文Markdown文档
- 包含下载到
images/目录的文章图片
More from shadowcz007/skills
daily-briefing
从 mixdao latest 获取数据 → 用 MiniMax-M2.5 做分类整理(agent loop:至多5组、每组至少3条)并生成分组摘要与每条推荐语 → 按 cachedStoryId 提交推荐语并上传简报到 mixdao。需配置 MIXDAO_API_KEY、ANTHROPIC_API_KEY。自然语言触发示例:「执行 daily briefing」「做今日 mixdao 简报」。
14solo-scope
从 Solo Scope RSS(https://www.mixdao.world/feed)拉取条目,按主题整理成 3~6 类,每类生成 140 字核心价值摘要,并附每条原标题与 URL 输出简报。由 Agent 自行完成拉取、整理、写简报。触发示例:「做 Solo Scope」「 solo Scope」「整理 mixdao feed」「RSS 分类简报」。
14todo-list
智能待办事项管理技能。支持自然语言时间解析、事项记录与追踪、进度更新,数据持久化到本 skill 目录下 temp 的 Markdown;可通过 node scripts/time.js 与 node scripts/todo.js 调用。
13minimax-search-vlm
使用 MiniMax Coding Plan API 进行网络搜索(web_search)和图像理解(understand_image)。需配置 MINIMAX_CP_API_KEY(MiniMax API Key,一般为 sk-cp- 开头)。触发示例:「MiniMax 搜索」「图像理解」「web search」「understand image」「minimax 搜一下」「描述这张图」。
10article-drafts
批量提交或获取 mixdao 文章初稿(文件路径入参、列表)。需 MIXDAO_API_KEY。触发:更新初稿、获取初稿列表、article-drafts。
6solo-topics
mixdao 专题 Topics:列专题、看文章、投稿。用本 skill 内脚本,勿手写 curl。触发:solo-topics、专题、topic articles、往专题加文章、mixdao 专题 API、列出 mixdao 专题、查看专题文章。
1