2026-01-14

01月14日

一、今日完成情况

  • AI系统(B站视频内容总结)实现落地,至少打通两个环节 –全部完成
  • 配置一下vscode还有相关的AI插件cline,vscode还是少不了,而且trae的付费我不是很喜欢。
  • 制定一个衣物整理清点计划,我要知道自己的衣服如何收纳和数量 –完成

二、今日感悟

  • 核心业务数据​:
    • 一个项目的搭建
    • vscode的配置
    • Orion浏览器的探索
  • ​今日工作总结:​
    • 发现内嵌CLine的vscode编程效率更高了,我明天还得好好琢磨怎么快速上手,明天需要解决的问题有Gemini的vscode代码网络连接的问题,还有把B站视频内容快速总结的项目包装一下,让AI帮我配置一下前端代码,最后能够运行到服务器上,不过这就要求语音转文字功能不能使用本地模型了,必须要使用接口了,可以尝试。
    • 工欲善其事必先利其器,最近搞得事情不太专一,全是工具层面和宏观层面的,但是只有这样才能更好的对于这个学习路线和系统有自己的理解。
    • Orion果然是专业搞检索的,免费的才是最贵的,谷歌浏览器对于隐私保护,检索广告筛选本来以为相比于百度已经做的更好了,没想到付费的浏览器打磨的更好,检索的资料好干好干,就特别适合我这种深度检索的极客用户画像。
  • ​明日工作计划:
    • 需要琢磨一下mac系统检测不到HDMI链接是什么问题,第一次链接的好好的,之后就连接不上了。解决实际问题一直都是我的强项。
    • 还要琢磨一下如何搭建AI 工作流批量的实现PDF文章的翻译,参考这个项目 https://www.bilibili.com/video/BV1MHk9Y2Ef7
  • ​今日学习成长:​
    • 非常有成就感哦,这个AI视频笔记总结的效果满足我的预期了。B站昨天探索的市面上的产品还是挺贵的,虽然效果我的稍微好一点,而且可以把视频当中什么时间说了什么内容也标注好,可是还是没必要,我自己搭建的系统,可以实现总结已经很不错了。

三、备注

四、AI B站视频总结系统

我调用 Obsidian的MCP服务,直接让AI总结我刚才的项目笔记,然后直接导入到我的笔记当中:

Pasted image 20260114171849

至此,我只需要微调笔记内容即可。

1、项目思路

本项目的核心目标是构建一个自动化的B站视频知识转化工具。它接收一个B站URL,通过一系列AI处理模块,最终输出一份结构精美、内容详实的Markdown学习笔记,实现从被动观看视频到主动吸收知识的转化。

只需要配置好B站视频的链接、token登录信息,配置好对应的语言模型就可以了,视频链接可以在输入指令的时候一起输入,也可以在代码当中设置。

严格按照技术流程图来实现:
输入B站URL -> 模块1: 音频提取 -> 模块2: 语音转文本 -> 模块3: 文本总结 -> 模块4: 笔记生成 -> 输出Markdown文件

2、项目架构

项目采用高度模块化的架构,确保了代码的清晰度、可维护性和扩展性:

  • main.py: 作为项目的主控制器和入口,负责按顺序调用各个功能模块,串联起整个处理流程。
  • module_audio_extractor.py (模块1): 使用 yt-dlp 从视频URL中提取并下载音频文件。
  • module_speech_to_text.py (模块2): 利用 openai-whisper 模型将音频文件精准地转录为原始文字稿。
  • module_text_summarizer.py (模块3): 核心AI总结模块。它调用大语言模型(如DeepSeek, Gemini)API,并通过“Map-Reduce”策略处理长文本,生成精炼的内容摘要。
  • module_note_generator.py (模块4): 笔记美化与生成模块。它使用一个精心设计的“元提示词”,将模块3生成的摘要二次创作成包含亮点、思考和术语解释的结构化Markdown笔记。
  • config.yaml.env: 采用配置与代码分离的最佳实践。config.yaml 定义模型、服务商等结构化信息,.env 则安全地存储API密钥。

3、 遇到的核心问题与解决方案

  1. 问题: yt-dlp 在Python脚本中静默失败,无法生成音频文件,尽管在终端手动执行是成功的。

    • 排查过程: 通过在代码中加入 --verbose 详细日志,定位到问题根源是在脚本执行环境下,yt-dlp 自动使用了系统代理,导致B站下载请求失败。
    • 解决方案: 其实问题是,默认这里下载的事B站的高码率的视频,所以才需要会员导致下载失败,所以我在关闭代理的同时,调整代码下载内容,我只需要音频就可以了,
  2. 问题: 如何灵活、安全地管理和切换多个大语言模型及其API密钥。

    • 排查过程: 用户最初设想在 .env 文件中配置复杂的模型结构,但这不符合 .env 的设计。
    • 解决方案: 引入了 config.yaml 文件来管理模型列表等结构化配置,而 .env 文件只用于存储敏感的API密钥。代码被重构为启动时读取 config.yaml,根据所选模型动态查找并加载对应的密钥,实现了高度灵活且安全的配置驱动架构。
  3. 问题: LangChain 在近期版本中进行了模块化拆分,导致导入的库发生了问题,我修改了一下库的名字即可

    • 使用轻量级独立包,pip install langchain-text-splitters,修改代码为,from langchain_text_splitters import RecursiveCharacterTextSplitter即可。

4、项目效果图

项目代码日志示意:

Pasted image 20260114172311 Pasted image 20260114172318

笔记效果示意:

Pasted image 20260114172400

笔记内容要求:

因为我主要总结的视频内容是知识类型的笔记,所以需要有一定的结构限制,我的笔记是限定提示词的,提示词如下:

你的输出必须严格遵循以下Markdown格式,不得有任何偏差:

  1. 主总结 (段落): 首先,用一段流畅、引人入生的文字对视频核心内容进行概括。
  2. 亮点 (列表): 提取3-5个视频中最具价值或最关键的亮点,使用列表形式(以 📚, 🛠️, 📝, 🔍, 💡 等表情符号开头),并可选择性地标注时间戳(如果摘要信息中包含)。
  3. 标签 (Hashtags): 生成3-5个高度相关的标签,用于内容归类。
  4. 思考 (问答): 基于视频内容,提出1-2个能够引发深入思考或探究的问题,并给出你基于视频内容的解答。格式为:
  • 问题: [提出的问题]
  • 解答: [你的解答]
  1. 术语解释 (列表): 识别并解释视频中出现的3-5个关键术语或概念。格式为:
  • 术语名称: [术语的定义]

笔记内容展示:

主总结 (段落):

在信息全球化的今天,高效精准地翻译学术论文、技术文档等PDF文件,同时保持其原有的复杂排版、公式图表,是一项极具挑战性的需求。PDF Translate 这款开源工具正是为此而生。它巧妙地结合了深度学习、文档解析和自动化排版技术,不仅能通过多种翻译引擎(从传统API到前沿AI大模型)处理文本,更能近乎完美地还原PDF的原始布局,为用户提供了从在线体验到本地离线部署的完整解决方案,尤其适合对格式保真度和数据隐私有高要求的专业场景。

亮点 (列表):

  • 📚 格式无损翻译:核心突破在于使用U-Net模型进行布局分析,确保翻译后的PDF在公式、图表、目录、版式上与原文完全一致。

  • 🛠️ 灵活部署方案:提供从“Windows一键脚本”快速启动、Python虚拟环境安装到命令行直接调用的多种部署方式,兼顾易用性与灵活性。

  • 📝 引擎聚合与AI增强:内置MassTranslate库,可多线程调用谷歌、DeepL等多种翻译API,并支持配置OpenAI等大模型API以显著提升翻译质量。

  • 🔍 离线的优势:在线服务有文件大小和页数限制,而本地部署无此限制,能处理更大文档,且保障了数据隐私和安全。

  • 💡 输出格式可选:用户可根据需要,选择生成双语对照或纯中文版本的PDF,满足不同阅读习惯和分发需求。

标签 (Hashtags):

#PDF翻译 #文档处理 #本地化部署 #AI工具 #开源项目

思考 (问答):

  • 问题: 为什么PDF Translate在翻译技术文档或学术论文时,比简单的“复制文本到翻译软件”方案更具优势?

  • 解答: 简单的复制粘贴会彻底丢失PDF中所有的非文本元素(如图表、公式、特殊排版)和结构信息(如目录、页码、分栏)。PDF Translate通过“布局分析-内容提取-页面重构”的技术流程,将文本与版式分离处理,翻译后再按原坐标精确重组,从而实现了“所见即所得”的格式保真,这是手动操作无法企及的。

术语解释 (列表):

  • U-Net模型: 一种最初用于生物医学图像分割的卷积神经网络架构,因其高效的像素级定位能力,在此工具中被用于精准识别和定位PDF页面中的文本块、图像、公式等不同元素。

  • PyMuPDF: 一个功能强大的Python库,用于处理PDF、XPS等文档。在PDF Translate中,它负责根据布局分析结果和翻译后的文本,重新生成和渲染最终的PDF页面。

  • MassTranslate: 项目自带的翻译聚合库。它的作用是统一接口,管理并多线程调用不同的翻译服务API(如谷歌翻译、DeepL等),提高翻译效率并提供回退机制。

五、衣物清点计划

1、问题

袜子、短袖、长袖、夏季短裤、秋季长裤、冬日长裤、卫衣、外套、毛线衫等等衣服,零散不好寻找,而且没有分类,昨天找衣服我已经领教到这个坏习惯的弊端了,而且还有一个问题,是很多衣服根本没有进入我的穿衣轮转当中,会导致衣服的浪费。

这就是衣服太多的烦恼,所以我痛定思痛,一定要把衣服裤子分个类别,这样我在设计自己的穿衣风格的时候也可以灵活自由,从而在穿着设计上尝试一下。

毕竟未来总是要带外面,留给其他人的第一印象还是挺重要的,我的自己倒无所谓,邋里邋遢的也就过来了。

2、解决方案

分类:袜子、短袖+长袖 、薄长裤 + 短裤、后长裤,至于毛衣、外套我就放在柜子了。

购买五个收纳盒,不大不小,放置冬天以外的服装刚刚好

任务完成。

六、vscode 插件配置心得

CLine效果比较拔尖,而且可以使用免费的模型数量比较多,也可以使用Claude 模型的免费额度,只不过token比较贵,很快就要用完

vscode的copilot插件效果一般,自定义程度不高,而且长时间使用必须得是copilot会员才可以,不建议使用。

现在我使用英语看各种软件和网页教程的配置,越看越顺眼,果然作为一个合格的程序员英语文档查看的能力还是非常重要的,算是未来基本功。

感觉vscode功能特别完善,自定义程度太高了,而且我设置的英语语言,导致在我看来vscode反而是相对于PyCharm、trae等IDE门槛最高的了,不过一定要上手的,vscode还是扩展性非常强,用起来最丝滑的,一旦上手,且基本配置熟练之后,就没什么问题了。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com
Obsidian