fetch-what-say
Skill38 starsChanged 10 days agoMITView on GitHub
抓取 yt-dlp 支持的媒体或本地视频,转写成文字稿,Agent 生成树形思维导图摘要,输出可读网页。
- Installs packages
In this repository32 other files it gives its agents.
- bad-solutionSkill
- blog-narratorSkill
- clakSkill
- esflowSkill
- git-reviewSkill
- holiday-of-12306Skill
- html-cutSkill
- juyaSkill
- lan-chatSkill
- md-to-pngSkill
- meet-digestSkill
- meet-record-htmlSkill
- memory-cardSkill
- memory-graphSkill
- mindmapSkill
- mock-ollamaSkill
- okr-to-htmlSkill
- port-to-publicSkill
- similar-judgeSkill
- skill-linkerSkill
- skill-publish-verifySkill
- speak-7dSkill
- summary-user-saidSkill
- switch-chatSkill
- task-pollingSkill
- testcaseSkill
- tmux-servSkill
- vite-plusSkill
- voice-cloneSkill
- voice-to-meSkill
- weather-searchSkill
- webfetch-plusSkill
The file
Files
Fetch What Say
URL / 本地视频 -> yt-dlp / 复制 -> transcript.srt -> transcript.txt -> summary.txt -> viewer.html依赖
Python 包:
pip install esflow mlx-whisper系统二进制(yt-dlp / ffmpeg):
brew install yt-dlp ffmpeg # macOS
sudo apt install yt-dlp ffmpeg # Debian/Ubuntu快速使用
python3 scripts/run.py "https://www.bilibili.com/video/BV1pzjy6GEkC"
python3 scripts/run.py ~/Movies/local.mp4
python3 scripts/run.py --view ~/Downloads/fetch-what-say/<id>/输出目录:
<out>/<id>/
├── video.<ext>
├── transcript.srt
├── transcript.txt
├── summary.txt
└── viewer.htmlsummary.txt 由 Agent 用下方 Summary Prompt 生成,脚本负责抓取、转写、网页查看器。
Flow 结构
esflow DAG 编排(scripts/flow.py 声明,scripts/nodes/ 各节点):
resolve → download → extract_audio → transcribe → agent_summary → export_html
(TO_AGENT)| 节点 | 职责 |
resolve | 解析 input/cookies,算 media_id,建 work_dir,产出 plan |
download | URL 走 yt-dlp,本地文件复制到 work_dir |
extract_audio | ffmpeg 提取 16k 单声道 wav |
transcribe | mlx-whisper 转写,产出 transcript.srt 与 transcript.txt |
agent_summary | TO_AGENT:agent 读 transcript.txt 用 Summary Prompt 写 summary.txt |
export_html | 生成 viewer.html 并弹出 |
Agent 介入
# 1. 首跑:到达 agent_summary 节点,进程退出码 2
python3 scripts/run.py "https://www.bilibili.com/video/BVxxx"
# stderr 打印 [to_agent] 完成后续跑:python3 scripts/run.py --resume <job_dir>
# 2. Agent 读上游产物里的 transcript.txt,用下方 Summary Prompt 写 summary.txt 到 work_dir
# 3. 续跑生成 viewer.html
python3 scripts/run.py --resume <job_dir>调试单节点:esflow run scripts/ --node transcribe(上游从产物目录复用)。
Cookies
优先使用显式 --cookies;不传时按 URL 域名匹配 ~/Downloads/fetch-what-say/cookies/ 下的 .txt。例如 bilibili_cookies.txt 只会自动用于 bilibili.com。脚本不读浏览器 cookies,也不读环境变量。
需要登录权限的网站:用浏览器插件 Get cookies.txt LOCALLY 导出 Netscape cookies.txt,放入上述目录,文件名须包含域名关键词。
参数
常用:
| 参数 | 说明 |
input | 完整 URL,或本地视频文件 |
--out <dir> | 输出根目录,默认 ~/Downloads/fetch-what-say |
--view <dir> | 生成并打开 viewer.html(不进 flow) |
--no-transcribe | 只下载媒体,不转写 |
--resume <job_dir> | 续跑 TO_AGENT 节点 |
--dry-run | 只跑 resolve 产出 plan |
--schema | 输出 JSON 契约 |
高级:
| 参数 | 默认 | 说明 |
--height | 360 | 最高分辨率 |
--prefer | size | 同分辨率下偏小体积,或 bitrate 偏高码率 |
--merge-format | mp4 | 合并容器格式 |
--model | mlx-community/whisper-large-v3-turbo | mlx-whisper 模型 |
--language | zh | 转写语言 |
退出码:0 ok / 1 runtime / 2 to_agent / 3 validation / 4 auth
Summary Prompt
请阅根据下方文章对话或教程内容,生成一份结构化的思维导图式摘要。
输出格式要求:
1. 根节点(第0层):用文档的核心主题提炼出一个概括性标题,单独置于顶部,不加序号,不加树形前缀。标题下方用树形符号(│ 和 ├─)连接下一层。
2. 一级分支:用带圆圈的数字编号(①、②、③、④…)标记每个主要主题,置于同一列,上方共用一条水平主干线。
3. 二级及以下分支:使用 ASCII 树形符号(├─、└─、│)表示层级关系,缩进体现父子关系。
4. 展开深度:至少到三级(根 > ① > ├─ > └─),根据需要可到四级。
5. 节点内容:不得出现完整段落,每句话不超过25字,每句话必须增加信息密度,同类合并。
6. 内容组织:完全根据文档实际内容提炼主题,不预设任何固定板块。自动识别文章的论述结构(可按论点分层、问题分类、时间顺序、人物观点、结论建议等逻辑),动态生成分支。
7. 输出纯文本
风格要求:
- 拒绝散文式叙述,拒绝连接词和过渡句
- 每条只呈现关键事实、判断或结论
- 同一层级条目数量不限,但力求均衡
格式示例如下:
文档核心标题
│
├─ ① 第一主题
│ ├─ 子要点A
│ │ ├─ 细节1
│ │ └─ 细节2
│ └─ 子要点B
│ └─ 细节3
├─ ② 第二主题
│ ├─ 子要点C
│ │ └─ 细节4
│ └─ 子要点D
└─ ③ 第三主题
├─ 子要点E
└─ 子要点F
请**严格按照上述格式**(根节点独立 + 树形符号 + 圆圈序号)生成,内容完全基于您对下方内容的理解。Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

