media-translation · git:20260318.52926b9 · 2026-03-18 · sha256 d6b07f1e75ed74f8
media-translation git:20260318.52926b9A
Immutable. This exact content is served forever at /api/v1/blob/d6b07f1e75ed74f8.
---
name: media-translation
description: 長文翻譯(Gemini,背景執行)
allowed-tools: mcp__ching-tech-os__run_skill_script
metadata:
ctos:
requires_app: file-manager
mcp_servers: ching-tech-os
requires:
env:
- GEMINI_API_KEY
---
【長文翻譯(Gemini 背景執行)】
將長文(逐字稿、文章等)翻譯成指定語言。使用 Google Gemini 翻譯,背景執行不阻塞。
翻譯流程為非同步:啟動翻譯 → 查詢進度 → 取得翻譯結果。
**可用 scripts:**
1. **translate** — 啟動翻譯(非同步,立即回傳 job ID)
- `run_skill_script(skill="media-translation", script="translate", input='{"source_path":"ctos://...","caller_context":{...}}')`
- source_path:要翻譯的檔案路徑(支援 `ctos://`、`shared://` 格式,限 .md/.txt 純文字)
- 或 text:直接傳入要翻譯的文字(二擇一)
- 可選參數:
· target_language:目標語言代碼(如 zh-TW、en),預設自動偵測
· model:Gemini 模型(預設 gemini-2.5-flash)
- **必須附帶 caller_context**
- 限制:檔案 ≤ 2MB,文字 ≤ 500,000 字元
2. **check-translation** — 查詢翻譯進度(同步)
- `run_skill_script(skill="media-translation", script="check-translation", input='{"job_id":"之前取得的job_id"}')`
- 回傳翻譯狀態(starting/reading/translating/completed/failed)
- 翻譯中顯示進度(如「3/12」表示第 3 段,共 12 段)
- 完成時回傳:file_path(絕對路徑,可用 Read 工具讀取)、ctos_path
**典型使用流程:**
1. 使用者要求翻譯某篇文章或逐字稿
2. 呼叫 translate 啟動翻譯,取得 job_id
3. 告知使用者「翻譯已啟動(job_id: xxxx),完成後會通知你,也可以隨時問我進度」,結束本次回應
4. (系統自動:翻譯完成後 proactive-push 通知使用者)
5. 使用者詢問「翻譯好了嗎?」或「進度如何?」時,用 check-translation 查詢並回報狀態
6. 完成後用 Read 工具讀取 file_path,依使用者需求摘要或回覆全文
**語言偵測邏輯:**
- 未指定 target_language 時自動偵測:
· 英文/中英夾雜 → 翻譯成繁體中文
· 繁體中文 → 翻譯成英文
**AI 行為指引:**
- 當使用者要求翻譯長文件(逐字稿、文章、文件)時使用此 skill
- 短文翻譯(幾段話)直接回覆即可,不需要用此 skill
- **嚴禁使用 sleep 等待翻譯完成**。啟動後只需查詢一次進度:
- 若仍在翻譯中:回覆「翻譯進行中(進度 3/12),你可以稍後再問我」,結束本次回應
- 若已完成:讀取翻譯結果並回覆
- **務必附帶 caller_context**,否則完成後無法推送通知
- 使用者問「翻譯好了嗎」、「進度」等,用 check-translation 查詢。若使用者沒提供 job_id,從對話歷史中找到之前的 job_id