yaya-skillsSAFE
Agent Skills 把 X Space 变成中文干货笔记:下载 → 带说话人转写 → LLM 蒸馏 → 分享图 / Turn X Spaces into distilled Chinese notes with speaker labels & share cards.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
English | 简体中文
[](LICENSE) [](https://github.com/eatmoreduck/yaya-skills) [](#安装)
首期主打:X Space 录音转文字。 给没时间听、或忘了听的人——一条链接,一场两小时的 Space 变成按说话人分组、金句原话全保留的中文干货笔记,外加一张可直接发出去的分享图。
yaya-skills 是一套帮助写作者提高效率的工具集合。第一期是 X Space 蒸馏提纯器(yaya-xspace):把没时间听、或忘了听的 Space 提纯成能直接用的干货笔记,背后由下载 / 转写 / 分离三个原子 skill 支撑;后续会增加更多为写作者提效的工具。音频全程不出本机。
快速开始(主打场景)
bash skills/yaya-xspace/run.sh "https://x.com/i/spaces/" # → skills/yaya-xspace/out//distilled.md
首次运行自动下载模型;两小时的场约 30 分钟出稿(GPU 转写与说话人分离并行跑)。
看个真实效果(Demo)
[《噪音之后:为什么做IP一定要有自己的"理论"》](https://x.com/i/spaces/1AKEmvYqbrOKL)——一场真实 Space 的完整产出(119 分钟 / 10 位说话人,聊 IP、人设与流量变现):
分享图内置四种卡面,生成时 --style 切换(下列名称可直接点开看整图):
- Swiss 国际风(默认)——白底、重磅黑体、红色声波弧、细线网格
- Editorial 杂志风——米色宋体、朱红方块、新闻纸质感
- Riso 丝印潮风——蓝橙套印错位、网点、抓眼球
- Midnight 夜读——暗底鎏金细线、宋体,高级感
119 分钟音频 → 29.5 分钟出笔记 + 一张分享图(GPU 转写与 CPU 分
685bb7973a5fOBSERVED · 2026-10-14Install
Commands as the repository documents them. They are shown, not run.
npx skills add eatmoreduck/yaya-skills
npx skills add eatmoreduck/yaya-skills
Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned | |
| codex | mentioned | |
| cursor | mentioned | |
| openclaw | mentioned | |
| windsurf | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: yaya-asr
description: Transcribes any audio or video file into speaker-labeled text entirely on the local machine — no cloud, no login, no API key. Outputs plain text, SRT subtitles, an A/B dialogue transcript, and structured JSON. Use when the user shares a recording (meeting, interview, podcast, lecture, voice memo) and wants a transcript, subtitles, or "谁说了什么"; or says "转写", "语音转文字", "会议纪要", "录音转文字", "做字幕", "who said what". Apple Silicon required for the fast MLX path.
version: 0.1.0
metadata:
openclaw:
homepage: https://github.com/eatmoreduck/yaya-skills#yaya-asr
requires:
anyBins:
- uv
- ffmpeg
---
# yaya-asr —— 本地语音转文字
**任意音频/视频 → 带说话人的文字稿。** 纯本地跑,音频不出你的机器;免费、零登录、不需要任何云端账号。
这是整个 yaya 系列的**原子能力**。它不认识任何业务概念(不知道什么是 Space、会议、播客)——只做一件事:音频进,文字出。
内部是**流水线**:转写(MLX/GPU)一开始就以后台进程拉起说话人分离([yaya-diarize](../yaya-diarize/),CPU),两者并行执行、互不争抢——分离已拆分为兄弟 skill,本 skill 只负责调用与合并。
## 何时使用
- 用户给你一个**录音/录像文件**(会议、访谈、播客、课程、语音备忘、手机录音)
- 用户要**字幕**(.srt)
- 用户问"**谁说了什么**"(需要说话人区分)
- 用户说"转写""录音转文字""会议纪要""做字幕"
**不适用**:想从 X Space 链接直接拿干货笔记 → 用 `yaya-xspace`(它会调用本 skill);实时录音转写(本工具处理已录好的文件)。
## 快速开始
```bash
bash {baseDir}/run.sh "/path/to/recording.m4a"
bash {baseDir}/run.sh "/path/to/meeting.mp4" --speakers 2
bash {baseDir}/run.sh "/path/to/talk.wav" -o ./output
```
首次运行自动建独立 venv、下两个模型(都免 HF token):转写模型 whisper-large-v3-turbo(**~1.5GB**,存 `~/.cache/huggingface/` 全局共享)+ 分离模型(~33MB,存本 skill `models/`)。国内拉 HF 慢可先 `export HF_ENDPOINT=https://hf-mirror.com`。
## 参数
| 参数 | 说明 |
|---|---|
| `--speakers N` | **强制聚成 N 类**(引擎语义=确切人数,**不是上限**)。素材人多就填实际活跃说话人数;人少的录音务必填真实人数;不给默认 12 类;`-1` 按阈值自动聚类(长音频易过分割) |
| `-o DIR` | 输出目录(默认与输入同目录) |
| `--no-diarize` | 只转写不分离(快,但没有 A/B 标签) |
| `--no-crosscheck` | 跳过双参数交叉校验(省一半时间) |
| `--keep-wav` | 保留中间 16k wav |
## 输出(标准格式,可被其它工具消费)
| 文件 | 内容 |
|---|---|
| `<name>.txt` | 纯文本 |
| `<name>.srt` | 字幕(不带说话人) |
| **`<name>.dialog.txt`** | ★ 带说话人的对话稿:`A:文本` |
| **`<name>.dialog.srt`** | ★ 带说话人的字幕 |
| **`<name>.labeled.json`** | ★ 结构化结果(`{speaker, start, text}`),供程序调用 |
> 下游工具请读 **`.labeled.json`**——这是稳定的机器接口,格式不会变。
## 环境要求
| 组件 | 用途 | 来源 |
|---|---|---|
| `uv` | 建 venv、下 Python | 需预装 |
| `ffmpeg` | 音频/视频转码 | 需预装(系统不自带) |
| `mlx-whisper` | 本地转写(**Apple Silicon 专用**) | 脚本自动装 |
| `sherpa-onnx` | 说话人分离 | 脚本自动装 |
> **非 Apple Silicon**:转写引擎需换成 `sherpa-onnx` 自带 ASR 或 `faster-whisper`(两者都有 Win/Linux 轮子)。分离部分(sherpa-onnx)本身已全平台。
## 上游与下游
- **被谁调用**:`yaya-xspace`(编排:下载 → 调本 skill → 蒸馏)
- **依赖**:`yaya-diarize`(说话人分离,转写时以后台进程并行调用,共享 venv 与模型)
- **不依赖任何下载/业务 skill**(单向依赖:上层依赖下层)
## 已知边界
1. **说话人编号是临时的**(A/B/C 按出场顺序),非真实姓名。
2. **不标注重叠语音**(两人同时说时归给一人)。
3. **不含下载功能**——只处理你已有的文件。
4. Whisper 有**同音字错误**("弦外之音"可能被转成"悬外之音")。搜索关键词时请配合模糊/拼音搜索,别只做精确匹配。Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (2 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (5)
assets/architecture.png
assets/banner.png
assets/styles/riso.png
skills/yaya-xspace/fonts/ZCOOLKuaiLe-Regular.ttf
skills/yaya-xspace/fonts/ZCOOLQingKeHuangYou-Regular.ttf
Gates applied: no_behavioural_pass.
685bb7973a5ffull audit observations/trust-audit/skill/eatmoreduck__yaya-skills.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-14 | 685bb7973a5f | SAFE | B | 89 | first audit |
Questions
What does the yaya-skills skill do?
Agent Skills 把 X Space 变成中文干货笔记:下载 → 带说话人转写 → LLM 蒸馏 → 分享图 / Turn X Spaces into distilled Chinese notes with speaker labels & share cards.
Is yaya-skills safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can yaya-skills access on my machine?
The audit observed that it reaches the network. Each of those is consistent with what it says it does. Secrets in the source: none found.
Which assistants does yaya-skills work with?
Its documentation mentions claude-code, codex, cursor, openclaw and windsurf. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (685bb7973a5f), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.