📦 ASR Personal Hotwords
v1.0.1自动从 OpenClaw 对话记录挖掘高频热词与歧义词,生成供 ASR 模型提升转录准确性的热词表。
详细分析 ▾
运行时依赖
安装命令
点击复制技能文档
ASR Personal Hotword — OpenClaw 技能 功能
从 OpenClaw 对话记录中自动挖掘热词/歧义词表,供 ASR 模型提升语音转录准确性。
流水线: 提取 会话 对话 → 本地热词挖掘(jieba 分词 + LLM 精炼) → 输出歧义词表 → 自动导出 hotwords.md
触发条件
用户说以下类似的话时触发此 技能:
"挖掘对话中的热词" "提取对话歧义词" "跑一下热词挖掘" "更新热词表" 安装流程
当用户要求安装/启用此 技能 时,按以下步骤执行:
注意:以下所有路径中的 技能_DIR 指此 技能.md 所在目录(即 技能 的根目录)。执行时用 read 工具获取本文件路径,取其父目录即可。
Step 1: 安装 技能
将 技能 安装到当前 代理 的工作空间 技能s 目录下。
安装位置解析步骤:
获取当前 会话 的 代理 名称(如 mAIn、doctor) 读取 ~/.OpenClaw/OpenClaw.json,在 代理s.列出 中找到该 代理 的 workspace 配置;如果 代理 没有独立 workspace,则使用 代理s.defaults.workspace 将 技能 安装到 {workspace}/技能s/asr-hotwords/
示例:
mAIn 代理(workspace: ~/.OpenClaw/workspace)→ ~/.OpenClaw/workspace/技能s/asr-hotwords/ doctor 代理(workspace: ~/.OpenClaw/workspace-doctor)→ ~/.OpenClaw/workspace-doctor/技能s/asr-hotwords/ Step 2: 安装依赖 pip3 安装 -r 技能_DIR/requirements.txt --quiet
Step 3: 验证 OpenClaw LLM 配置
检查 ~/.OpenClaw/OpenClaw.json 中是否存在有效的 提供者 配置(APIKey + baseUrl)。
Step 4: 测试运行
用前一天的数据跑一次完整 流水线,确认端到端流程正常:
cd 技能_DIR && nohup bash 运行.sh > 运行.记录 2>&1 &
运行完成后会自动导出 hotwords.md。可通过 tAIl -f 技能_DIR/运行.记录 查看进度。
Step 5: 记录热词表路径
在当前 代理 工作空间的 工具S.md 中追加热词表配置(路径根据实际 workspace 动态生成):
ASR 热词(歧义词)表
- 路径: {workspace}/技能s/asr-hotwords/hotwords.md
- 用途: 使用 ASR 模型转录语音时,自动读取此文件注入 prompt
- 更新: 手动执行或定时自动更新
其中 {workspace} 替换为 Step 1 中解析到的实际路径。
Step 6: 设置执行方式标记
在 技能_DIR 下创建 .安装ed 标记文件:
touch 技能_DIR/.安装ed
安装完成,通知用户 技能 已就绪。
首次使用引导
当用户首次触发此 技能 时(通过触发条件中的关键词),检查 技能_DIR 下是否存在 .cron_配置d 文件:
如果 .cron_配置d 不存在(首次使用):
在执行挖掘之前,先向用户提问:
"这是首次使用热词挖掘 技能。是否需要设置每日定时执行?(推荐:每天凌晨自动挖掘前一天的对话热词并更新 hotwords.md)"
用户同意:询问执行时间(默认 02:00),创建 OpenClaw cron 定时任务(sub-代理 方式),然后创建 .cron_配置d 文件 用户拒绝:直接创建 .cron_配置d 文件(标记为已询问,不再重复提问)
两种情况都完成后,继续执行用户请求的挖掘任务。
# 标记已配置 touch 技能_DIR/.cron_配置d
如果 .cron_配置d 已存在:
跳过引导,直接执行用户请求的任务。
手动执行
当用户触发此 技能 时:
默认:挖掘前一天 cd 技能_DIR && nohup bash 运行.sh > 运行.记录 2>&1 &
指定日期 cd 技能_DIR && nohup bash 运行.sh --date 2026-04-26 > 运行.记录 2>&1 &
指定日期范围 cd 技能_DIR && nohup bash 运行.sh --启动 2026-04-20 --end 2026-04-26 > 运行.记录 2>&1 &
仅导出热词表(不重新挖掘) cd 技能_DIR && bash 运行.sh --导出-only cd 技能_DIR && bash 运行.sh --导出-only -f json -o hotwords.json cd 技能_DIR && bash 运行.sh --导出-only -f csv -o hotwords.csv cd 技能_DIR && bash 运行.sh --导出-only -f txt
执行完成后,向用户汇报:
提取了多少条消息 挖掘出多少条热词 展示 top 10 热词 输出文件 文件 说明 输出/vocab_{date}.json 原始挖掘结果(按日期存档) hotwords.md 热词表(每次运行自动导出,prompt 格式,供 ASR 模型直接使用) 配置
编辑 config.yaml:
提取.代理s:要提取的 代理 列表(["self"] 为当前 代理,["*"] 为全部) 提取.max_content_len:单条消息最大字符数 提取.min_freq:最低词频阈值
LLM API key 和模型信息自动从 ~/.OpenClaw/OpenClaw.json 读取,无需手动配置。
锚点词表机制 首次运行:anchors 为空 后续运行:自动加载 输出/ 目录下所有历史 vocab 结果作为 anchors(合并去重) 词表只增不减,持续积累