Atlas / Skills / eatmoreduck / yaya-skills

yaya-skillsSAFE

skills/eatmoreduck/yaya-skills

Agent Skills 把 X Space 变成中文干货笔记:下载 → 带说话人转写 → LLM 蒸馏 → 分享图 / Turn X Spaces into distilled Chinese notes with speaker labels & share cards.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
0.1.0
Hosts
5 documented
License
MIT
Stars
6
01

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 分
Read from source at commit 685bb7973a5fOBSERVED · 2026-10-14
02

Install

Commands as the repository documents them. They are shown, not run.

npx skills add eatmoreduck/yaya-skills
npx skills add eatmoreduck/yaya-skills
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
codexmentioned
cursormentioned
openclawmentioned
windsurfmentioned
04

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 有**同音字错误**("弦外之音"可能被转成"悬外之音")。搜索关键词时请配合模糊/拼音搜索,别只做精确匹配。
05

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.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (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)

INFOInventory / provenance · inv.oversize · CWE-1104
assets/architecture.png
assets/architecture.png
Why it matters. 2245835 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
assets/banner.png
assets/banner.png
Why it matters. 2687132 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
assets/styles/riso.png
assets/styles/riso.png
Why it matters. 2326061 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
skills/yaya-xspace/fonts/ZCOOLKuaiLe-Regular.ttf
skills/yaya-xspace/fonts/ZCOOLKuaiLe-Regular.ttf
Why it matters. 1514968 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
skills/yaya-xspace/fonts/ZCOOLQingKeHuangYou-Regular.ttf
skills/yaya-xspace/fonts/ZCOOLQingKeHuangYou-Regular.ttf
Why it matters. 8328684 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-14 · audit v0.4.1 · source sha 685bb7973a5ffull audit observations/trust-audit/skill/eatmoreduck__yaya-skills.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-14685bb7973a5fSAFEB89first audit
07

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.

Advertisement