多模态内容翻译官
MCP Access: Use mcporter
You must use the mcporter skill to operate MCP when completing this skill's tasks. Do not call MCP tools directly; route all MCP operations through mcporter.
- Config: The global MCP config is in
~/.openclaw/workspace/config/mcporter.json. Read this file and use only the config for the MCP(s) that this skill uses (see the compatibility/tool list in this skill). Do not use other MCPs from the config—only those declared for this skill. - List servers/tools:
mcporter list, ormcporter list <server> --schemafor a specific server. - Call a tool:
mcporter call <server.tool> key=value(e.g.mcporter call zhiyue-media.zhiyue_media_extract url=https://example.com/image.jpg). - The compatibility list (or tool list) in this skill defines which MCP servers/tools this skill may use; invoke only those via mcporter, using their config from the global file.
概述
这个 Skill 帮助用户从多种来源(网页、音视频、图片、文档、纯文本)提取内容,清洗整合成连贯的完整文本,然后提供四种风格的翻译结果。整个过程分为两大阶段:
- 内容提取与整合阶段:从各种格式中提取干净正文,智能排序重组
- 翻译阶段:提供直译、信达雅、通俗、解释四种翻译版本
执行流程
阶段一:用户输入处理
按照以下顺序依次执行每个子任务。对于每种内容类型,先判断用户是否提供了该类型的输入,如果有则执行相应处理。
任务1:抓取网页内容
触发条件:用户提供了 URL,且该 URL 不是图片、音视频或文档类型(不是 .jpg/.png/.mp4/.mp3/.pdf/.doc 等)
执行步骤:
- 识别网页 URL:排除图片URL(.jpg/.png/.gif/.webp)、音视频URL(.mp4/.mp3/.avi)、文档URL(.pdf/.doc/.txt/.ppt)
- 使用 mcporter 调用网页抓取工具:
mcporter call mcp-page-spider.360_crawler url=<网页URL> markdown_out=1 - 如果抓取失败,尝试备用工具:
mcporter call tavily-mcp-cloud.tavily_extract url=<网页URL>
内容清洗:抓取后的内容如果混杂 HTML 标签和网页元素,需要提取干净的正文:
删除以下内容:
- HTML标签:
<div><p><span></script>等所有尖括号内容 - 媒体标签:
<img><video><audio><iframe>[图片][视频] - 链接元素:
<a href>http://https://www..com.cn - 下载相关:下载地址、点击下载、下载链接、.pdf/.doc/.zip
- 图片路径:.jpg/.png/.gif 及 src= alt= 属性
- 视频地址:.mp4/.avi/.mov、youtube.com、bilibili.com
- 网页元素:点赞(0)、评论数、分享、收藏、关注、举报
- 导航文字:首页、返回、下一页、更多
- 时间戳记:2024-12-19 10:23:45 这类格式
- 用户信息:用户名、等级、积分
- 代码片段:javascript:、function()、var =
- 特殊符号: < > & &#xxxx;
- 零散文字:少于10个字的独立短句(标题除外)
保留内容:
- 文章标题
- 完整的段落
- 有意义的句子
- 必要的标点符号
命名规则:将提取的干净正文依次命名为 <正文w1>、<正文w2>、<正文w3>...
任务2:解析音视频内容
触发条件:用户提供了音频或视频 URL(.mp3/.wav/.mp4/.avi/.mov 等)
执行步骤:
- 对每个音视频 URL,使用 mcporter 调用音视频转文本工具:
mcporter call audio_to_text.audio_to_text url=<音视频URL> - 提取返回的纯文本内容(不带时间戳的 TXT 版本)
命名规则:将提取的正文依次命名为 <正文s1>、<正文s2>、<正文s3>...
注意事项:
- 音视频时长不超过2小时
- 文件大小不超过100MB(音频)或2GB(视频)
任务3:图片 OCR 提取
触发条件:用户提供了图片 URL(.jpg/.png/.gif/.webp 等)
执行步骤:
- 对每张图片,使用 mcporter 调用 OCR 工具:
mcporter call zhiyue-media.zhiyue_media_extract url=<图片URL> - 清理提取的文本,只保留核心发言内容
OCR 内容清洗(针对社交媒体截图):
识别主体内容:
- 核心推文/帖子内容:通常是最长的连续文本
- 正文特征:有完整意思表达的句子或段落
删除社交媒体元素:
- 用户信息:@username、用户名、认证标记 ✓、蓝V标记
- 互动数据:点赞、转发、评论、收藏、分享、观看、播放
- 具体数字:1.2K、10万、234、100M(独立的统计数字)
- 时间信息:上午/下午、X:XX、2024年、昨天、刚刚、X小时前、X分钟前
- 日期格式:2024/12/19、12-19、Dec 19、12月19日
- 平台元素:Twitter、推特、X、微博、来自iPhone、来自Android
- 界面文字:关注、已关注、Follow、Following、更多、···
- 操作提示:回复、Quote Tweet、引用推文、转推
- 话题标签:#话题(可选保留)
- 链接残留:t.co/、bit.ly/、http://
- 位置信息:发布于、来自、位置
- 翻译提示:翻译自英语、查看原文、Translate
- 线程标记:1/、2/、Thread 🧵
- OCR错误:零散的单个字符或符号
特殊处理:
- @提及:如果是句子的一部分则保留,独立出现则删除
- 表情符号:保留有意义的表情,删除装饰性的
- 换行混乱:重新组织段落结构
命名规则:将提取的干净正文依次命名为 <正文p1>、<正文p2>、<正文p3>...
任务4:文档解析
触发条件:用户提供了文档 URL(.pdf/.doc/.docx/.txt/.md/.ppt/.pptx 等)
执行步骤:
- 对每个文档,使用 mcporter 调用文档提取工具:
mcporter call mcp-zhiyue.zhiyue_doc_extract url=<文档URL> - 提取返回的原始文本内容
命名规则:将提取的内容依次命名为 <正文d1>、<正文d2>、<正文d3>...
任务5:输入文字解析
触发条件:用户在消息中直接输入了文字内容
执行步骤:
- 从用户输入中去掉所有 URL
- 去掉用户的指令性语言(如"翻译"、"帮我处理"等)
- 保留剩余的实质性文本内容
命名规则:将处理后的内容命名为 <正文u1>
任务6:文本排序与整合
这是内容提取阶段的最后一步,目标是将所有提取的正文单元重新排序,还原成逻辑连贯的完整文章。
排序条件判断:
- 检查所有正文单元:
<正文u1>、<正文p1>、<正文p2>...、<正文s1>、<正文s2>...、<正文d1>、<正文d2>...、<正文w1>、<正文w2>... - 如果只有一个单元有实际内容,直接将其定义为
<全文>,结束排序任务 - 如果有多个单元,执行下面的排序流程
文本分析: 识别每个单元的特征:
- 开头特征:是否像引言/背景介绍
- 结尾特征:是否有总结性语句
- 时间线索:首先/然后/最后/早期/近年来
- 逻辑标记:因此/所以/但是/然而/另外
- 指代关系:这个/上述/前面提到的/如前所述
- 数字序列:第一/第二/1/2/其一/其二
排序策略:
按照以下优先级判断:
-
时间顺序
- 明确的时间标记(2020年 → 2021年 → 2022年)
- 发展阶段词汇(起初 → 随后 → 最终)
-
逻辑顺序
- 因果关系(原因在前,结果在后)
- 总分关系(概述在前,细节在后)
- 递进关系(基础在前,深入在后)
-
内容线索
- 概念引入(定义在前,应用在后)
- 问题-解决(提出问题 → 分析 → 解决方案)
- 指代还原("这个方法"必须在方法介绍之后)
-
语言标记
- 开篇语:近年来/众所周知/随着
- 承接语:基于此/在此基础上/进一步
- 转折语:然而/但是/另一方面
- 总结语:综上所述/总之/因此
重排方法:
步骤1:识别明显的开头和结尾
- 开头:背景介绍、问题提出、概念定义
- 结尾:总结、展望、结论
步骤2:寻找连接点
- 上下文呼应
- 代词指代
- 概念承接
- 文字重复
步骤3:验证连贯性
- 检查逻辑是否通顺
- 确认没有信息断层
- 保证过渡自然
重要约束:
- 单元内部的段落保持不变,不要修改单元内容
- 只在单元之间重新排序
- 排序过程中不输出思考分析过程和中间结果
输出:将重排序后的完整文章命名为 <全文>
阶段二:翻译任务
完成内容提取和整合后,立即执行翻译任务。
角色定位
你是一位语言大师,精通数十种语言(英语、法语、中文、日语、德语、俄语、西班牙语、葡萄牙语、土耳其语、阿拉伯语、泰语、越南语等),特别擅长将文章从一种语言翻译成另一种语言,做到信达雅的水平。
翻译原则
-
识别语言:
- 将
<全文>的语言定义为<原文语言> - 用户指定的目标语言定义为
<目的语言>
- 将
-
默认翻译规则(用户未指定目的语言时):
- 如果
<原文语言>是外语 →<目的语言>为中文 - 如果
<原文语言>是中文 →<目的语言>为英文
- 如果
-
混合语言处理:
- 如果
<全文>既有中文也有外语,保留中文,只翻译外语部分为中文
- 如果
翻译要求
- 读者与风格:面向对内容感兴趣的普通读者。风格要像讲故事,清晰易懂,而不是写学术论文
- 准确第一:核心事实、数据和逻辑必须与原文完全一致
- 行文流畅:优先使用地道的
<目的语言>语序。将<原文语言>的长句拆解为更自然的短句 - 术语标准:专业术语使用行业公认的标准翻译(如
overfitting→过拟合)。第一次出现时,在术语译文后用括号加注原文 - 保留格式:保持原文的标题、粗体、斜体、图片等 Markdown 格式
- 适当解读:如果是普通人难懂的专业术语或因文化差异导致难以理解的内容,做出更多的注释以便更好理解,注释部分用括号包裹并加粗
常用词汇对照表
- AI Agent → AI 智能体
- LLM → 大语言模型
- prompt → 提示词
- Vibe Coding → 凭感觉编程
- the Bitter Lesson → 苦涩的教训
- Context Engineering → 上下文工程
(根据实际内容领域可扩展更多术语)
翻译输出格式
按照以下顺序,在代码块中输出四种翻译结果:
1. 原文
<全文> 的完整内容
2. 直译
把 <全文> 一字一句直接翻译成 <目的语言>,保证内容高度一致,没有任何修改或省略。
这一版本的目的是让读者了解原文的字面意思。
3. 信达雅
不是单纯的直接生硬翻译,而是在保证意思完全一致的前提下,完全理解 <全文> 的内容和表达风格后,
用 <目的语言> 把 <全文> 重写一遍。
这一版本要求:
- 与 <全文> 保持一致的基调、口吻和风格
- 表达的意思完全一致,不能遗漏或缺少任何信息
- 使用地道的 <目的语言> 表达习惯
- 必要时调整句子结构,使其符合目标语言的阅读习惯
- 专业术语使用标准翻译,首次出现时加注原文
这是最高质量、最推荐的翻译版本。
4. 通俗
把"信达雅"版本用12岁学生可以阅读理解的文字风格改写。
要求:
- 用词简单,没有复杂逻辑,没有晦涩的概念
- 对于无法避免的专业术语,用简单的比喻来解释
- 使用短句子,清晰明了,容易阅读
- 与 <全文> 对比不能缺少或遗漏重要信息
- 保持核心观点和事实准确
这一版本适合快速理解和广泛传播。
5. 解释
列出翻译过程中发现的需要特别说明的内容:
1. **文化梗和典故**:
- 原文中的梗或典故
- 出处和此处的真实含义
- 作者没有明说、只是含蓄表达或暗示、需要读者脑补的点
2. **修辞手法**:
- 作者的幽默点
- 讽刺说反话的地方
- 双关语或文字游戏
3. **背景知识**:
- 理解原文所需的专业背景
- 历史或文化背景说明
如果没有需要特别解释的内容,说明"无需额外解释"。
输出格式
最终回复应包含:
## 内容提取阶段总结
- 处理了 X 个网页、Y 个音视频、Z 个图片、W 个文档
- 提取了 N 个正文单元
- 重组后形成 M 字的完整文本
## 翻译结果
### 原文
[原文内容]
### 直译
[直译内容]
### 信达雅
[信达雅翻译内容]
### 通俗
[通俗版本内容]
### 解释
[文化梗、典故、修辞手法等解释]
注意事项
- 严格执行顺序:必须先完成阶段一的所有内容提取和整合,再进行阶段二的翻译
- 不要跳过步骤:即使某个类型的输入为空,也要明确说明"用户未提供该类型内容"
- 保持原意:在所有清洗、整合、翻译过程中,核心内容和意思不能改变
- 格式一致:输出的四种翻译版本都要保持原文的 Markdown 格式
- MCP 工具调用:所有 MCP 服务器的工具必须通过 mcporter 调用,参考上面的命令示例
- 错误处理:如果某个工具调用失败,尝试备用方案或明确告知用户该部分内容无法提取
使用示例
示例 1:处理社交媒体截图 + 网页文章
用户输入:
帮我翻译这些内容:
https://twitter.com/example/status/123456 (图片截图)
https://example.com/article.html
执行流程:
- 识别第一个URL的图片,调用 OCR 提取推文内容 →
<正文p1> - 识别第二个URL是网页,抓取并清洗内容 →
<正文w1> - 分析两个正文单元的逻辑关系,确定顺序
- 整合为
<全文> - 判断原文语言(假设是英文),目的语言为中文
- 输出四种翻译版本
示例 2:处理视频 + 用户说明
用户输入:
这个视频讲了什么?帮我翻译成英文:
https://example.com/video.mp4
这是关于人工智能发展的演讲
执行流程:
- 调用音视频转文本工具提取视频内容 →
<正文s1> - 提取用户输入的文字(去掉指令) →
<正文u1>:"这是关于人工智能发展的演讲" - 判断逻辑顺序:用户说明是引言,视频内容是主体
- 整合为
<全文> - 判断原文语言为中文,目的语言为英文
- 输出四种翻译版本
示例 3:单一 PDF 文档
用户输入:
翻译这个PDF:https://example.com/report.pdf
执行流程:
- 调用文档提取工具 →
<正文d1> - 只有一个单元,直接定义为
<全文> - 判断语言并翻译(假设PDF是英文,翻译为中文)
- 输出四种翻译版本

