{"repo":"anneheartrecord/florilegium","free":true,"listed":false,"github":"https://github.com/anneheartrecord/florilegium","clone":"git clone https://github.com/anneheartrecord/florilegium.git","description":"A runtime-agnostic local agent workflow that turns video links or transcripts into neutral, readable Obsidian notes — captions or local Whisper, free and fully local.","language":"Shell","stars":10,"topics":["ai-agent","bilibili","knowledge-management","obsidian","whisper","youtube","yt-dlp"],"license":"MIT","category":"ai-agents","readme_excerpt":"English Florilegium · 他山之石 一个运行时无关的本地 agent workflow：给它一个 YouTube、B 站、播客或其他视频链接（也可以直接给文字稿），它会抓字幕或转写音频，再把内容整理成一篇 可直接阅读的文章 ，写进你的 Obsidian 知识库的「他山之石」目录，专门用来沉淀他人观点。全程免费、本地运行。 「他山之石，可以攻玉」——收别人的见解，为我所用。Florilegium 是中世纪学者对「采撷众家精华、汇成一编」的称呼，正好对应这个意思。workflow 的内部名仍是 tashanzhishi 。 它不是 Claude Code、Codex 或任何单一 agent 的专属扩展。适配条件只有两个：agent 能读取一份 Markdown 指令文件，并且能调用本仓库的 shell / Python 脚本。不同 agent runtime 只需要把仓库放到它能发现的位置，或显式指向这个仓库的 SKILL.md 。Claude Code 和 Codex 只是下方提供的可选放置路径。 它解决什么 刷到一个好视频，想存下作者的观点，手动记又麻烦。这个 workflow 让流程变成一句话： 用 tashanzhishi 把这个链接剪藏了： 然后它就：抓字幕 → 清洗 → 写成一篇中立、可直接阅读的文章 → 落到你 Obsidian 库的「他山之石」目录。 特点 - 可读文章，不是观点汇总 ：产出像一篇杂志短文，不是 1. 作者认为… 的清单。 - 忠实 + 标注立场 ：事实和推测分开，作者的带货 / 立场会被点出来。 - 三级取文 ： 1. 有可下载字幕 → yt-dlp 直接抓（最快）。 2. 没字幕但音频可取 → 本地 faster-whisper 转写。B 站无字幕视频走这条。 3. YouTube 反爬锁死（SABR / PO-token）→ 自带 bgutil PO-token 提供器解锁音频，再转写。 - 平台感知音频兜底 ：YouTube 才启动 bgutil 和 YouTube 专用参数；B 站等其他平台走通用 yt-dlp 音频下载。 - 全免费、纯本地 ：除了从视频平台取数据，没有任何内容离开你的机器，无需任何付费 API。 - 和 Obsidian 打通 ：输出目录就是你的 vault 文件夹。 - 作者前置命名 ：如果已经确定来源是具体个人，输出文件名使用 作者名——主题标题.md ，例如 阿里阿巴达——如何开始第一门生意.md 。 安装 作为通用仓库安装 然后让你的 agent 读取 /.local/share/florilegium/SKILL.md ，并按里面的流程调用脚本。 可选：放入 Claude Code skills 目录 可选：放入 Codex skills 目录 如果你已经有 Codex 的 skills 目录，可以直接 clone 或软链进去： 也可以把仓库放在任意位置，然后让 Codex 读取这个仓库的 SKILL.md 。 依赖：Python 3.10+、Node.js（构建 bgutil 提供器）、deno（yt-dlp 解 YouTube n-challenge 的 JS 运行时，setup.sh 会自动装）。setup.sh 会建一个独立 venv，不污染系统环境。字幕和音频下载可以读取浏览器登录态，建议在 Chrome 里登录过 YouTube / B 站。 用法 在 agent 里直接说： 或者把一段文字稿粘进来让它整理。输出落到 你的vault/20-knowl","default_branch":null,"files":null,"tree":[],"storefront":"/r/anneheartrecord","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/anneheartrecord/florilegium/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}