开源 AI PPT 二开 v0.1.1:这一版做了什么,为什么先做这些?
OKOK大家好欢迎大家来到大鹏 AI 教育我是张大鹏。前面几篇我把开源项目 Presenton 的架构拆到了骨头给 AI 配了代码地图还亲手实测跑通了一整套 PPT 的生成。从这一篇开始我换个方式跟大家同步像产品发版一样一个版本一个版本地讲清楚我这一版到底做了什么为什么是先做这些下一步又打算干什么。这一篇讲v0.1.1。这一版我没急着加新功能而是干了一件更底层的事把一个英文的开源项目系统地改造成一个中文的、叫如意课件的产品雏形。它分两条主线一条是国际化做到无遗留一条是品牌化彻底换成自己的。这两件事都不性感但我把它们排在了所有新功能前面。为什么这一篇就讲清楚。一、我为什么先做这两件而不是先堆功能先说我的底牌。这个二开项目最终目标不是再造一个 Gamma而是把它改造成一个给中国老师用的 AI 课件工厂。我的用户是像我一样要天天备课、做讲义、录课的老师和知识博主。他们的课件第一语言就是中文他们认的是一个有中文名字、中文界面的自家产品。可我接手的 Presenton是个彻头彻尾的英文开源项目界面是英文的幻灯片模板里写死了一堆英文整个产品叫 Presentonlogo、桌面应用、对外链接全是人家的。这种状态既不能直接给学员用也根本谈不上是我的产品。所以国际化和品牌化对我来说不是锦上添花的功能而是这个产品能不能用、算不算我的这两个最底层的问题。我打个上课的比方。这就像我要开一门面向中国学员的新课再好的内容我也得先把教室的牌子换成中文、把讲义模板和 PPT 母版全换成自家的样式学员才坐得进来、才认得出这是大鹏的课。地基不中文化、不打上自己的烙印上面盖什么都是给别人盖的。还有个很现实的工程账这种事越早做越省。现在项目还小把文本规整好、把品牌换干净成本很低。等我后面把课程工作流、练习题、录课提词那一堆功能加上去了再回头补翻译、改品牌那就是个填不完的坑。先把地基浇好后面盖楼才快。二、国际化第一关分清内容语言和界面语言国际化最容易被想简单。很多人以为就是把英文换成中文找一遍替换一遍。真动手我才发现同一个界面里的文字根本不是一种文字它们该跟谁走是不一样的。举个最直白的例子一个用户完全可能把软件界面设成英文却让 AI 生成一份中文 PPT。这时候界面上的按钮该是英文可幻灯片里的标题、表头必须是中文。顺着这个判断我把文本拆成了四类每类的治法都不同类别一AI 生成的正文标题、要点跟内容语言走。类别二模板里写死的英文标签报告表头、致谢页、目录它不经过数据、AI 管不到导出永远是英文这是最大的坑。它该跟内容语言走。类别三模板选择器的组别名称和描述属界面外壳跟界面语言走。类别四藏在 Schema 里的英文描述和默认值会被打包进提示词诱导模型输出英文甚至照抄默认值这东西压根不该出现在成品里。想清楚这个分类我还顺手躲过一个大坑原本担心要去改导出管线加多语言风险很高。但当我把类别二的写死英文收编进数据之后导出拿到的本来就是中文了这个高风险改动直接推迟掉了。想清楚再动手省下来的往往是最难啃的那部分。落地我分了三步后端把必须用目标语言、Schema 英文只是图纸别照抄的规矩写死这段约束就在servers/fastapi/utils/llm_calls/generate_slide_content.py里把约 17 个模板里写死的英文标签收编进 Schema改由 AI 按内容语言生成模板选择器新建一个翻译命名空间13 个内置组做简体、英文、繁体三语繁体用台湾的习惯用词。三、国际化第二关把上百处漏网文案一次扫干净模板这关过了还剩一堆边边角角的硬编码文案。这一步我做法不一样我想专门讲讲因为它正好是我这个系列一直在说的那件事连开发本身也交给 AI。我没有一个文件一个文件手动翻。我把整个前端按翻译命名空间切成互不重叠的几块派了几个 AI 子代理并行去做核心生成流程一个、设置页一个、自定义模板一个、首次设置向导一个、模型配置一个。每个代理各管各的语言包文件互不打架我自己只做两件事给它们划好不冲突的地盘以及在它们交活后逐批审查、注册新命名空间、跑验证。后面还补了一个专门的清扫代理把登录页这种漏网的角落也收了为此新增了 onboarding、ollama、codex、auth 这几个命名空间。这套打法的好处是几个代理同时干活我从一行行翻译的体力活里抽身出来只做我该做的判断和把关。这就是把开发流程本身也变成 AI 驱动的一次真实演练。但 AI 干活快不等于能甩手不管。我发版前每一条都验过全量类型检查tsc --noEmit零报错写了个脚本逐个比对17 个翻译命名空间简体、英文、繁体三套键结构完全对齐一个不差起前端实测三语切换同一个页面简、英、繁来回切文案全部正确繁体是地道的台湾用词浏览器控制台零缺键警告。下面这组图就是同一个生成页在三种语言下的样子从生成到 Generate 到生成从中文按钮到英文到繁体是真能切的四、品牌化从 Presenton到如意课件界面中文了但产品还叫 Presenton。品牌化这条线我分了六步把它从里到外换成自己的前端所有用户可见的产品名Presenton 换成如意课件 / RuyiCourse。一套祥云方向的 logo连同运行时资源全部落地。Electron 桌面壳的身份应用标识改名并把指向原作者的自动更新中和掉免得我的桌面应用去检查人家的更新。内部环境变量前缀把那一类内部变量从PRESENTON_改名成RUYICOURSE_。域名和社交引用对外链接换成我们自己的移除掉指向原项目的帮助入口和社群入口。模板样例里的联系方式换成我们自己的。这里我守了一条纪律叫外科手术式改动只换该换的绝不顺手去重构无关的代码。二开一个上万文件的大项目最容易翻车的就是手痒看哪儿不顺眼都想改结果改出一堆新问题。改名就老老实实改名别夹带私货。五、顺手填的几个坑做上面这些的过程里我也撞见并修掉了几个真问题一并记下开发时真实浏览器里流式生成会卡。排查下来是前端经 Next 的代理去连后端那层代理把流式响应缓冲了、还对慢请求超时。我让开发模式下浏览器直连后端绕开这层缓冲大纲才能真正一个字一个字地流出来。生成页顶上的模型徽章显示的型号是错的图像开关也被错误关掉了。根子是开发环境前端读了一份占位配置。我让它改读真实配置徽章正确显示了在用的模型图像生成也恢复了。这些都不是大功能但它们卡着真实可用性不修前面做的一切体验都打折。六、接下来要做什么国际化和品牌化这两块地基浇好了楼才能往上盖。往后的方向很清楚课件工作流这才是这个产品真正的差异点。普通 AI PPT 工具是输入主题生成 PPT导出三步我要做的是课程项目、课程结构、讲稿、配图提示词、练习题、录课提词稿、发布文案一整条课程生产链从AI 做 PPT升级成AI 做课程。把实测跑出来的毛病一个个修掉。我上一篇实测时亲手跑出了几个真问题通用模板会把一节课套成商业路演的结构、个别状态文案还是英文、配图标的本地模型没用上这台机器的 GPU。这些都进了我的优化清单。补上推迟的导出多语言再往商业化版本走个人版、专业版、机构版。所以这一版你别看它只是国际化加改名它是我把这个项目从一个英文开源工具正式扭向中国老师的 AI 课件工厂、并打上自己烙印的关键一版。地基不起眼但楼是盖在它上面的。这是 v0.1.1 的发版记录。下一篇我们继续往上盖。我们下一篇见。本文所有技术论断均对照 RuyiCourse v0.1.1 实际代码、git 提交与开发记录核实后端语言约束见servers/fastapi/utils/llm_calls/generate_slide_content.py模板写死文本收编与模板选择器三语化见对应模板组件与i18n翻译命名空间品牌化六步、开发流式直连与配置徽章修复均对应仓库中相应提交。三语切换截图取自本地实跑界面。

相关新闻

多语言语义匹配神器:paraphrase-multilingual-MiniLM-L12-v2 完全指南

多语言语义匹配神器:paraphrase-multilingual-MiniLM-L12-v2 完全指南

多语言语义匹配神器:paraphrase-multilingual-MiniLM-L12-v2 完全指南 【免费下载链接】paraphrase-multilingual-MiniLM-L12-v2 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/paraphrase-multilingual-MiniLM-L12-v2 你是否遇到过这样的困扰&a…

2026/6/26 17:47:46阅读更多 →
个人微信的“文件传输助手”为何只能当备忘录?从 WechatApi 看私人服务器的自动化运维与告警架构

个人微信的“文件传输助手”为何只能当备忘录?从 WechatApi 看私人服务器的自动化运维与告警架构

一、 极客的痛点:Homelab 玩家的告警孤岛 对于热衷于折腾 Homelab(家庭实验室)的极客和开发者来说,家里往往运行着软路由、NAS、树莓派,云端还跑着各种爬虫脚本、Docker 容器以及个人博客。当这些分散的节点 24 小时不…

2026/6/26 17:47:46阅读更多 →
Airtest跨平台UI自动化测试:图像识别与控件识别的混合实战

Airtest跨平台UI自动化测试:图像识别与控件识别的混合实战

1. 项目概述:为什么选择Airtest做跨平台UI自动化?如果你正在为Android、iOS、Windows或者Web应用的UI自动化测试头疼,尤其是需要在不同平台间切换,或者团队里既有移动端又有PC端的测试需求,那你很可能已经听说过或者正…

2026/6/26 17:42:45阅读更多 →
参考文献格式乱如麻?学长安利这几个AI论文平台

参考文献格式乱如麻?学长安利这几个AI论文平台

写论文最怕的就是被参考文献格式搞到头大,选题难、查资料累、润色费时,再加上格式不统一,简直像在打一场没有硝烟的仗。其实只要用对 AI 工具、走对流程,就能事半功倍——不少资深教授都推荐:千笔AI(中文全…

2026/6/26 18:58:07阅读更多 →
MuleSoft+LLM企业级AI编排实战:构建安全合规的智能工作流

MuleSoft+LLM企业级AI编排实战:构建安全合规的智能工作流

1. 项目概述:当企业级集成平台遇上大语言模型,不是拼接,而是重定义工作流“AI Orchestration in Action: How MuleSoft and LLMs Fuel the Future of Enterprise AI”——这个标题里藏着一个正在发生的、静默却剧烈的范式迁移。它说的不是“用…

2026/6/26 18:58:07阅读更多 →
Linux 5.10 总线机制与故障排查详解

Linux 5.10 总线机制与故障排查详解

1. 版本背景 发布时间:2020年12月13日 总线支持状态:PCIe 4.0完全支持,USB 3.2 Gen 2x2整合,设备树驱动全面采用 关键里程碑: PCIe 4.0完整实现(16GT/s) USB 3.2 Gen 2x2支持(20Gbps) CXL 1.1初步支持 设备树总线绑定标准化 总线热插拔框架生产就绪 2. 子系统架构 现…

2026/6/26 18:58:07阅读更多 →
一个只能查自己、不能查别人的学术检测系统,藏着什么小心思?

一个只能查自己、不能查别人的学术检测系统,藏着什么小心思?

从业二三十年的临床主任、博导,几乎都有这样的日常困扰:课题组堆积大量学生初稿、国自然预实验手稿、待投SCI稿件,为了省事,大多会统一收集文稿批量送检,或是互相交换稿件交叉检测。放眼市面上绝大多数学术检测、AI合规…

2026/6/26 18:58:07阅读更多 →
KMS_VL_ALL_AIO:Windows与Office批量激活的终极技术解析与实战指南

KMS_VL_ALL_AIO:Windows与Office批量激活的终极技术解析与实战指南

KMS_VL_ALL_AIO:Windows与Office批量激活的终极技术解析与实战指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO KMS_VL_ALL_AIO是一款基于KMS(密钥管理服务&#xff0…

2026/6/26 18:58:07阅读更多 →
16.正则表达式入门:从日志里找到你要的东西

16.正则表达式入门:从日志里找到你要的东西

一、问题背景:100万行日志,找到那行"ERROR"要多久?FAB每台设备每天产生海量日志,格式如下:2026-01-15 08:23:45 [INFO] Lot FAB-ETCH-001 started2026-01-15 08:25:12 [WARN] Pressure spike detected: 52.3…

2026/6/26 18:53:06阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/26 11:03:22阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/26 4:15:25阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/26 9:29:01阅读更多 →
HPE (慧与) 服务器专用 ESXi 9 全套官方定制资源详解 + 完整部署升级教程

HPE (慧与) 服务器专用 ESXi 9 全套官方定制资源详解 + 完整部署升级教程

一、前言:企业运维痛点与资源价值自博通收购 VMware 之后,原 VMware 公开免费下载渠道全面关闭,企业运维人员想要获取适配 HPE 慧与服务器的 ESXi 9 原厂镜像,必须注册博通账号、绑定有效授权才能下载,无授权账号无法获…

2026/6/26 0:02:15阅读更多 →
Kotlin的@JvmStatic与@JvmField:与Java互操作的注解

Kotlin的@JvmStatic与@JvmField:与Java互操作的注解

Kotlin作为一门现代编程语言,与Java的互操作性一直是其核心优势之一。为了让Kotlin代码能够无缝对接Java,Kotlin提供了多种注解来优化互操作体验,其中JvmStatic和JvmField是两个关键注解。它们分别用于解决静态成员和字段在Java中的访问问题&…

2026/6/26 0:02:15阅读更多 →
深入解析musl libc中的mmap实现源码

深入解析musl libc中的mmap实现源码

最近在阅读musl libc源码时,发现其mmap的实现非常精妙,特分享给大家。 一、代码整体结构 这段代码实现了__mmap函数,并通过weak_alias导出为mmap。这是典型的musl libc风格——提供弱符号以便用户可以重写。 weak_alias(__mmap, mmap); 二…

2026/6/26 0:02:15阅读更多 →