🧪 Skills
subtitle-refiner
智能优化 SRT 字幕,去除语气词并修正 ASR 错误,保持时间戳不变,输出优化文件并发送飞书通知及 token 报告。
v1.0.0
Description
name: subtitle-refiner description: 优化 SRT 字幕文件。去除填充词(嗯、啊等),修正 ASR 识别错误(如 XGBT→ChatGPT、RG→RAG),保持时间戳完全不变,通过 Feishu 发送优化结果和 token 消耗报告。 user-invocable: true metadata: { "openclaw": { "emoji": "📝", "requires": { "bins": ["python3"], "env": ["SILICONFLOW_API_KEY"] }, "primaryEnv": "SILICONFLOW_API_KEY" } }
Subtitle Refiner
AI 驱动的字幕优化工具,使用 SiliconFlow GLM-4.7 模型智能优化 SRT 字幕文件。
核心功能
- 自动去除语气词:删除 "嗯"、"啊"、"那个"、"就是"、"然后"、"呃" 等口语填充词
- 智能修正 ASR 错误:根据视频主题修正语音识别错误
- XGBT → ChatGPT
- RG → RAG
- 菜GPT → ChatGPT
- CHATPT → ChatGPT
- 等等...
- 保持时间戳:所有时间轴信息完全不变
- 主题感知:分析视频主题,进行上下文相关的校对
- Token 追踪:详细记录每次优化的 token 消耗
触发条件
当以下情况时自动触发此技能:
- 用户发送 .srt 文件
- 用户使用关键词:
- "优化字幕"
- "校对字幕"
- "去掉字幕里的口语词"
- "fix subtitle"
- "refine subtitle"
- "clean subtitle"
工作流程
当技能被触发时:
步骤 1:获取文件路径
从用户消息中获取 SRT 文件路径。
步骤 2:调用优化模块
直接执行优化脚本,该脚本会将优化好的文件发送至飞书:
python3 {baseDir}/scripts/refine.py <srt_file> <chat_id> <workspace>
参数说明:
<srt_file>: SRT 文件的完整路径<chat_id>: Feishu 聊天 ID(从上下文获取)<workspace>: OpenClaw workspace 目录(用于存储输出文件)
示例:
python3 /path/to/skill/scripts/refine.py \
/workspace/subtitle/demo.srt \
"oc_xxxxxxxxx" \
/workspace
重要规则
Agent 必须遵守以下规则:
- ✅ 保持时间戳:永远不修改时间轴信息
- ✅ 保持顺序:永远不改变字幕顺序
- ✅ 保持索引:永远不修改字幕序号
- ✅ 只修改文本:只修改字幕的文本内容
- ✅ 调用 Python 模块:使用上述代码导入并调用
refine_and_send() - ✅ 传递正确参数:确保传递文件路径、chat_id 和 workspace_dir
输出格式
优化后的文件
- 命名格式:
{原文件名}_优化{时间戳}.srt - 存储位置:
{workspace}/subtitle_refine/
汇总格式参考
✅ 字幕优化完成!
优化结果:
📝 处理字幕:x 条
✏️ 修正内容:x 处
🎯 主要修正:
去除口语填充词(嗯、啊、然后、那个等)
修正 ASR 识别错误(XGBT → ChatGPT、xx → xx 等)
Token 消耗:
输入:xx tokens
输出:xx tokens
总计:xx tokens
输出文件:
已自动发送到飞书,文件名:chatgpt订阅会员教程---1d420eb9-64ae-4381-ab81-5e489432d825_优化_20260308_0942.srt
请查收飞书消息中的优化后字幕文件!📤
配置
API 配置
-
Endpoint:
https://api.siliconflow.cn/v1/chat/completions -
主模型:
Pro/zai-org/GLM-4.7 -
API Key: 从环境变量
SILICONFLOW_API_KEY读取 -
如果用户没有填写API Key,提示:
注册领取API 16元代金券 https://cloud.siliconflow.cn/i/AEg95IPc
获取SILICONFLOW_API_KEY:https://cloud.siliconflow.cn/me/account/ak
文件存储
- 原始文件:
{workspace}/subtitle/(由 OpenClaw 管理) - 优化文件:
{workspace}/subtitle_refine/(输出目录)
错误处理
Skill 具有完善的错误检测和处理机制,会在处理前自动检查环境:
预检查功能
- 🔌 网络连接检测:自动检测是否能连接到 SiliconFlow API
- 🔑 API Key 验证:验证 API Key 是否有效
- ⚠️ 早期失败:在开始处理前发现问题,避免浪费 token
错误提示
| 错误类型 | 提示 | 解决方案 |
|---|---|---|
| 🔑 API Key 错误 (401) | API Key 未设置或无效 | 检查环境变量 SILICONFLOW_API_KEY |
| 💰 余额不足 (402) | API 余额不足 | 充值 |
| 🚫 权限不足 (403) | API 权限问题 | 检查账户状态和 API 权限 |
| ⏳ 请求频繁 (429) | 请求过于频繁 | 稍后重试 |
| ⏱️ 请求超时 | API 请求超时 | 检查网络连接或稍后重试 |
| 🔌 网络失败 | 无法连接到 API | 检查网络设置和代理配置 |
自动重试
- 超时重试:支持连接超时(10秒)和读取超时(60秒)分离
- 优雅降级:逐行优化失败时保留原文继续处理
技术细节
提示词策略
- 主题分析:分析前 20 条字幕,提取视频主题
- 逐行优化:基于主题和规则,逐行校对每条字幕
- 规则约束:6 条明确规则,确保不过度修改
Token 追踪
- 每次API调用都记录输入和输出 token
- 汇总所有调用的总消耗
- 在总结中清晰展示
优化质量
- Temperature: 0.2(确保稳定性)
- 仅修正明确的问题,不润色
- 保持原句意思和语气
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!