From 52564ad0361317bc918a0232e71355157294d831 Mon Sep 17 00:00:00 2001 From: Yuzhiran Dev Date: Mon, 18 May 2026 06:25:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BB=8A=E6=97=A5=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E7=BB=9F=E8=AE=A1=E4=B8=8D=E5=87=86=20+=20LL?= =?UTF-8?q?M=E6=8F=90=E7=A4=BA=E8=AF=8D=E5=8A=A8=E6=80=81=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E6=97=A5=E6=9C=9F=20+=20=E5=BE=AE=E4=BF=A1=E9=85=8D?= =?UTF-8?q?=E5=9B=BE=E6=8C=89=E9=80=89=E9=A2=98=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit topics.html: - 今日新增筛选时全量拉取 allTopics 用于保持 stats 统计正确,todayTopics 存储服务端日期过滤结果 - filteredTopics 对 'today' 返回 todayTopics,不按不存在的 status 过滤 writer.py/research.py/outline.py: - 所有 LLM 提示词注入今天的动态年月日(datetime.now) - 禁用过时数据的年份改为动态 {当前年-1}-{当前年} - 每个论点必须配真实最新案例+数据来源 writer.py WeChat 配图: - 从 null placeholder 改为动态 SVG,展示选题标题+领域 - 标题自动换行(24字/行),附蓝色装饰条 + 渐变背景 --- .../data/outlines/2026-05-14/A08_outline.md | 41 +++ .../data/outlines/2026-05-14/C01_outline.md | 56 ++++ .../data/outlines/2026-05-15/B02_outline.md | 6 + .../data/outlines/2026-05-15/C02_outline.md | 28 ++ .../data/outlines/2026-05-15/E04_outline.md | 28 ++ .../data/outlines/2026-05-16/B05_outline.md | 49 ++++ .../data/outlines/2026-05-17/A07_outline.md | 26 ++ .../data/outlines/2026-05-17/F01_outline.md | 10 + .../data/outlines/2026-05-18/A07_outline.md | 51 ++++ .../data/outlines/2026-05-18/F03_outline.md | 6 + .../data/research/2026-05-14/A08_research.md | 43 +++ .../data/research/2026-05-14/C01_research.md | 45 +++ .../data/research/2026-05-15/B02_research.md | 35 +++ .../data/research/2026-05-15/C02_research.md | 48 ++++ .../data/research/2026-05-15/E04_research.md | 24 ++ .../data/research/2026-05-16/B05_research.md | 27 ++ .../data/research/2026-05-17/A07_research.md | 46 ++++ .../data/research/2026-05-17/F01_research.md | 39 +++ .../data/research/2026-05-18/A07_research.md | 35 +++ .../data/research/2026-05-18/F03_research.md | 39 +++ automation/data/search_cache.json | 79 ++++-- .../2026-05-15/new_cases.json | 36 +++ .../2026-05-15/new_topics.json | 32 +++ .../2026-05-15/notification_data.json | 8 + .../2026-05-16/new_cases.json | 36 +++ .../2026-05-16/new_topics.json | 32 +++ .../2026-05-17/new_cases.json | 53 ++++ .../2026-05-17/new_topics.json | 32 +++ .../2026-05-18/new_cases.json | 53 ++++ .../2026-05-18/new_topics.json | 32 +++ .../2026-05-17/action_checklist_wechat.png | Bin 0 -> 7426 bytes .../action_checklist_xiaohongshu.png | Bin 0 -> 10780 bytes .../2026-05-17/action_checklist_zhihu.png | Bin 0 -> 5553 bytes .../generated/2026-05-17/cover_wechat.png | Bin 0 -> 6777 bytes .../2026-05-17/cover_xiaohongshu.png | Bin 0 -> 10126 bytes .../generated/2026-05-17/cover_zhihu.png | Bin 0 -> 4892 bytes .../2026-05-17/data_chart_wechat.png | Bin 0 -> 9262 bytes .../2026-05-17/data_chart_xiaohongshu.png | Bin 0 -> 12765 bytes .../generated/2026-05-17/data_chart_zhihu.png | Bin 0 -> 7216 bytes .../generated/2026-05-17/equipment_wechat.png | Bin 0 -> 9214 bytes .../2026-05-17/equipment_xiaohongshu.png | Bin 0 -> 12621 bytes .../generated/2026-05-17/equipment_zhihu.png | Bin 0 -> 7305 bytes .../2026-05-18/action_checklist_wechat.png | Bin 0 -> 7426 bytes .../action_checklist_xiaohongshu.png | Bin 0 -> 10780 bytes .../2026-05-18/action_checklist_zhihu.png | Bin 0 -> 5553 bytes .../generated/2026-05-18/cover_wechat.png | Bin 0 -> 6777 bytes .../2026-05-18/cover_xiaohongshu.png | Bin 0 -> 10126 bytes .../generated/2026-05-18/cover_zhihu.png | Bin 0 -> 4892 bytes .../2026-05-18/data_chart_wechat.png | Bin 0 -> 9262 bytes .../2026-05-18/data_chart_xiaohongshu.png | Bin 0 -> 12765 bytes .../generated/2026-05-18/data_chart_zhihu.png | Bin 0 -> 7216 bytes .../generated/2026-05-18/equipment_wechat.png | Bin 0 -> 9214 bytes .../2026-05-18/equipment_xiaohongshu.png | Bin 0 -> 12621 bytes .../generated/2026-05-18/equipment_zhihu.png | Bin 0 -> 7305 bytes docs/upgrade-plan.md | 259 ++++++++++++++++++ platform/frontend/topics.html | 17 +- scripts/outline.py | 9 +- scripts/research.py | 5 +- scripts/writer.py | 36 ++- 59 files changed, 1361 insertions(+), 40 deletions(-) create mode 100644 automation/data/outlines/2026-05-14/A08_outline.md create mode 100644 automation/data/outlines/2026-05-14/C01_outline.md create mode 100644 automation/data/outlines/2026-05-15/B02_outline.md create mode 100644 automation/data/outlines/2026-05-15/C02_outline.md create mode 100644 automation/data/outlines/2026-05-15/E04_outline.md create mode 100644 automation/data/outlines/2026-05-16/B05_outline.md create mode 100644 automation/data/outlines/2026-05-17/A07_outline.md create mode 100644 automation/data/outlines/2026-05-17/F01_outline.md create mode 100644 automation/data/outlines/2026-05-18/A07_outline.md create mode 100644 automation/data/outlines/2026-05-18/F03_outline.md create mode 100644 automation/data/research/2026-05-14/A08_research.md create mode 100644 automation/data/research/2026-05-14/C01_research.md create mode 100644 automation/data/research/2026-05-15/B02_research.md create mode 100644 automation/data/research/2026-05-15/C02_research.md create mode 100644 automation/data/research/2026-05-15/E04_research.md create mode 100644 automation/data/research/2026-05-16/B05_research.md create mode 100644 automation/data/research/2026-05-17/A07_research.md create mode 100644 automation/data/research/2026-05-17/F01_research.md create mode 100644 automation/data/research/2026-05-18/A07_research.md create mode 100644 automation/data/research/2026-05-18/F03_research.md create mode 100644 automation/data/sustainability_raw/2026-05-15/new_cases.json create mode 100644 automation/data/sustainability_raw/2026-05-15/new_topics.json create mode 100644 automation/data/sustainability_raw/2026-05-15/notification_data.json create mode 100644 automation/data/sustainability_raw/2026-05-16/new_cases.json create mode 100644 automation/data/sustainability_raw/2026-05-16/new_topics.json create mode 100644 automation/data/sustainability_raw/2026-05-17/new_cases.json create mode 100644 automation/data/sustainability_raw/2026-05-17/new_topics.json create mode 100644 automation/data/sustainability_raw/2026-05-18/new_cases.json create mode 100644 automation/data/sustainability_raw/2026-05-18/new_topics.json create mode 100644 automation/images/generated/2026-05-17/action_checklist_wechat.png create mode 100644 automation/images/generated/2026-05-17/action_checklist_xiaohongshu.png create mode 100644 automation/images/generated/2026-05-17/action_checklist_zhihu.png create mode 100644 automation/images/generated/2026-05-17/cover_wechat.png create mode 100644 automation/images/generated/2026-05-17/cover_xiaohongshu.png create mode 100644 automation/images/generated/2026-05-17/cover_zhihu.png create mode 100644 automation/images/generated/2026-05-17/data_chart_wechat.png create mode 100644 automation/images/generated/2026-05-17/data_chart_xiaohongshu.png create mode 100644 automation/images/generated/2026-05-17/data_chart_zhihu.png create mode 100644 automation/images/generated/2026-05-17/equipment_wechat.png create mode 100644 automation/images/generated/2026-05-17/equipment_xiaohongshu.png create mode 100644 automation/images/generated/2026-05-17/equipment_zhihu.png create mode 100644 automation/images/generated/2026-05-18/action_checklist_wechat.png create mode 100644 automation/images/generated/2026-05-18/action_checklist_xiaohongshu.png create mode 100644 automation/images/generated/2026-05-18/action_checklist_zhihu.png create mode 100644 automation/images/generated/2026-05-18/cover_wechat.png create mode 100644 automation/images/generated/2026-05-18/cover_xiaohongshu.png create mode 100644 automation/images/generated/2026-05-18/cover_zhihu.png create mode 100644 automation/images/generated/2026-05-18/data_chart_wechat.png create mode 100644 automation/images/generated/2026-05-18/data_chart_xiaohongshu.png create mode 100644 automation/images/generated/2026-05-18/data_chart_zhihu.png create mode 100644 automation/images/generated/2026-05-18/equipment_wechat.png create mode 100644 automation/images/generated/2026-05-18/equipment_xiaohongshu.png create mode 100644 automation/images/generated/2026-05-18/equipment_zhihu.png create mode 100644 docs/upgrade-plan.md diff --git a/automation/data/outlines/2026-05-14/A08_outline.md b/automation/data/outlines/2026-05-14/A08_outline.md new file mode 100644 index 0000000..1d012ee --- /dev/null +++ b/automation/data/outlines/2026-05-14/A08_outline.md @@ -0,0 +1,41 @@ +# 文章大纲:2026职场生存报告:哪些岗位在涨薪,哪些在消失 + +### 大纲设计 + +**1. 数据背后的真相:职场版图正在重绘** +- 技术岗薪资增速放缓,但复合型人才溢价20%以上 +- 传统岗位被替代,新兴职业需求激增50% +- 招聘平台数据揭示:门槛降低与溢价上升的背后逻辑 + +**2. 技术岗的“降薪风暴”:门槛降低还是市场饱和?** +- 基础编程、数据分析岗位薪资增速放缓 +- 部分岗位出现降薪,反映市场对单一技能需求饱和 +- 但AI、区块链等细分领域仍保持高薪 + +**3. 复合型人才的“溢价密码”:技术+行业=新机遇** +- 金融科技、医疗AI等交叉领域人才薪资逆势上涨 +- 企业更倾向于雇佣能快速适应业务场景的全能型人才 +- 复合型人才的“复合”标准:技术+行业、技术+管理 + +**4. 新兴职业的“风口效应”:元宇宙设计师、碳中和顾问** +- 元宇宙设计师、碳中和顾问等新兴职业招聘量同比增长超50% +- 这些岗位不仅薪资高,且对创新能力和跨领域协作能力要求高 +- 职场人应关注技术与行业交叉点的新兴领域 + +**5. 职场生存指南:转行还是深耕?** +- 单一技能岗位:考虑转型或深耕细分领域 +- 复合型人才:持续学习,掌握技术+行业知识 +- 新兴职业:关注技术与行业交叉点,提升创新能力 + +**6. 企业的“用人逻辑”:从单一技能到全能型人才** +- 企业更倾向于雇佣能快速适应业务场景的全能型人才 +- 复合型人才的“复合”标准:技术+行业、技术+管理 +- 职场人应关注技术与行业交叉点的新兴领域 + +**7. 未来职场的“生存法则”:技术+行业+创新** +- 技术岗门槛降低,但复合型人才溢价上升 +- 传统岗位消失,新兴职业需求激增 +- 职场人应关注技术与行业交叉点,提升创新能力 + +--- +*大纲生成时间:2026-05-14* \ No newline at end of file diff --git a/automation/data/outlines/2026-05-14/C01_outline.md b/automation/data/outlines/2026-05-14/C01_outline.md new file mode 100644 index 0000000..507941a --- /dev/null +++ b/automation/data/outlines/2026-05-14/C01_outline.md @@ -0,0 +1,56 @@ +# 文章大纲:从笔记到创作:一套完整的知识生产流水线 + +## 大纲:从笔记到创作:一套完整的知识生产流水线 + +### 1. 知识的原始积累:你的输入流水线是否在堆垃圾? +- 问题:大多数人把输入当成“收集”,而非“筛选” +- 关键:建立“三级过滤”机制(快速浏览→深度阅读→精选笔记) +- 工具:用标签系统区分“参考”“待加工”“核心素材” + +### 2. 从碎片到系统:整理环节是知识生产的“暗黑工序” +- 痛点:很多人认为“整理”就是分类,忽略了重组和升级 +- 方法:用“知识地图”将碎片信息转化为系统框架 +- 示例:将10篇相关文章的核心观点合并成一张思维导图 + +### 3. 加工思维:为什么你的笔记总是“原汁原味”? +- 核心:加工是知识生产的核心环节,而非可选步骤 +- 要点: + - 将信息转化为自己的语言(用比喻、案例重新表述) + - 主动关联其他领域的知识(跨界思考) + - 提炼出“反模式”(指出常见误区) + +### 4. 输出的反向驱动:如何让创作倒逼你的知识管理? +- 策略:从输出需求反向设计输入和整理流程 +- 示例: + - 写文章前先列出“知识需求清单” + - 根据输出形式(博客/演讲/视频)调整加工深度 + - 用“输出倒计时”强制提升加工效率 + +### 5. 工具链的选择:流水线需要匹配的“生产设备” +- 标准:工具要支持流水线的三个环节,而非单一功能 +- 推荐组合: + - 输入:Readwise(自动抓取高亮内容) + - 整理:Obsidian(知识图谱+双向链接) + - 输出:Notion(多格式内容发布) + +### 6. 流水线的优化:如何从“手工作坊”升级到“自动化生产”? +- 方法: + - 识别重复性工序并建立SOP(如“每周整理流程”) + - 用模板加速加工(如“文章大纲模板”) + - 定期审计流水线效率(每月回顾输出质量) + +### 7. 知识生产的“边界效应”:为什么你的流水线总是卡壳? +- 关键:流水线需要与个人认知模式匹配 +- 解决方案: + - 允许“灵感通道”绕过流水线(如突然的创作冲动) + - 建立“缓冲区”处理不适配的信息 + - 定期调整流水线适应认知变化 + +### 8. 从个人到团队:如何将知识生产流水线规模化? +- 扩展: + - 标准化加工规则(如团队笔记模板) + - 建立知识共享机制(如内部维基) + - 设计协同加工流程(如同步思维导图) + +--- +*大纲生成时间:2026-05-14* \ No newline at end of file diff --git a/automation/data/outlines/2026-05-15/B02_outline.md b/automation/data/outlines/2026-05-15/B02_outline.md new file mode 100644 index 0000000..ef6abaf --- /dev/null +++ b/automation/data/outlines/2026-05-15/B02_outline.md @@ -0,0 +1,6 @@ +# 文章大纲:零浪费家庭实验:从垃圾分类到可持续发展的完整路线 + +## 1. 一年只产生100 + +--- +*大纲生成时间:2026-05-15* \ No newline at end of file diff --git a/automation/data/outlines/2026-05-15/C02_outline.md b/automation/data/outlines/2026-05-15/C02_outline.md new file mode 100644 index 0000000..d8a81a0 --- /dev/null +++ b/automation/data/outlines/2026-05-15/C02_outline.md @@ -0,0 +1,28 @@ +# 文章大纲:信息过载自救指南:每天只处理真正重要的信息 + +## 一、引言 +- 场景切入:信息过载自救指南:每天只处理真正重要的信息 +- 点明文章价值 + +## 二、核心观点 +信息过载的解法不是学更多,而是建立信息过滤器 + +## 三、受众痛点分析 +每天被信息轰炸,读完就忘,感觉在浪费时间 + + +## 四、本土落地建议 +- 结合个人知识工厂领域特点 +- 提供可执行的步骤 +- 注意事项 + +## 五、独特视角:提供可直接使用的信息分级过滤模板和每日处理SOP + +## 六、行动指南 +1. 了解现状 2. 制定方案 3. 小范围验证 4. 持续优化 + +## 七、总结与鼓励 + +--- + +*大纲生成时间:2026-05-15* \ No newline at end of file diff --git a/automation/data/outlines/2026-05-15/E04_outline.md b/automation/data/outlines/2026-05-15/E04_outline.md new file mode 100644 index 0000000..3d73ca0 --- /dev/null +++ b/automation/data/outlines/2026-05-15/E04_outline.md @@ -0,0 +1,28 @@ +# 文章大纲:知识付费从0到1:我的第一个付费专栏复盘 + +## 一、引言 +- 场景切入:知识付费从0到1:我的第一个付费专栏复盘 +- 点明文章价值 + +## 二、核心观点 +知识付费第一批用户来自已有影响力积累,不是从零开始 + +## 三、受众痛点分析 +想做知识付费但觉得不够专业,不知道如何定价推广 + + +## 四、本土落地建议 +- 结合个人成长领域特点 +- 提供可执行的步骤 +- 注意事项 + +## 五、独特视角:记录课程设计、定价策略、冷启动到运营迭代的全过程数据 + +## 六、行动指南 +1. 了解现状 2. 制定方案 3. 小范围验证 4. 持续优化 + +## 七、总结与鼓励 + +--- + +*大纲生成时间:2026-05-15* \ No newline at end of file diff --git a/automation/data/outlines/2026-05-16/B05_outline.md b/automation/data/outlines/2026-05-16/B05_outline.md new file mode 100644 index 0000000..93c8a92 --- /dev/null +++ b/automation/data/outlines/2026-05-16/B05_outline.md @@ -0,0 +1,49 @@ +# 文章大纲:我的极简衣橱:用10件衣服穿出30套搭配 + +# 我的极简衣橱:用10件衣服穿出30套搭配 + +## 一、你衣橱里80%的单品,为什么永远穿不出去? +- 2025年国民穿衣消费调研:人均每月花1200元在购衣,却只穿30%的衣物 +- 总说“没衣服穿”的真相:不是数量少,是搭配系统缺失 +- 购衣决策中的情绪补偿陷阱:用买买买缓解焦虑,结果衣柜越满越焦虑 +- 认知升级:从“拥有更多”到“用得更巧”的思维转变 + +## 二、胶囊衣橱的底层逻辑:风格系统而不是扔东西清单 +- 2025全球可持续时尚报告数据:快时尚退潮,胶囊衣橱搜索量年增340% +- 极简衣橱≠断舍离,而是基于你的肤色、身型、生活场景定制的个人风格系统 +- 扔了买、买了扔的恶性循环怎么破:用系统思维代替临时购物 +- 所以呢?一旦系统建立,每天穿衣决策不超2分钟,每月开支减少60% + +## 三、色彩是最高效的搭配杠杆:3个主色打通所有组合 +- 色彩诊断简化版:冷/暖调 + 饱和度偏好 = 你的色彩圈 +- 3色选衣法则:2个中性色打底(如黑、白、灰、卡其)+ 1个个性色串联 +- 实操:10件衣服的色彩配比表,保证每件都能两两搭配 +- 避坑:为什么你买的彩色单品总闲置?因为没有绑定中性色体系 + +## 四、版型决定搭配上限:10件单品的精挑标准 +- 挑选万能单品的关键参数:肩线、腰线、衣长、面料垂感 +- 10件衣服的推荐清单(春夏版/秋冬版可切换): + 1. 完美白衬衫(过臀+落肩适中) + 2. 直筒牛仔裤(中腰+九分) + 3. 黑色西装(微宽松) + 4. 纯棉T恤(白色+灰色) + 5. 羊毛开衫/针织衫 + 6. 半身A字裙(过膝) + 7. 风衣/长外套 + 8. 基础连衣裙 + 9. 阔腿裤(高腰+拖地) + 10. 运动卫衣/连帽衫 +- 贵价vs平价分配法:外套、裤子投资面料,内搭、配饰平替即可 + +## 五、一衣多穿的组合公式:从10件到30套的实操步骤 +- 核心公式:上装3种 + 下装3种 + 外套3种 + 配饰调整 = 27+套 +- 层次搭配技巧:叠穿增加丰富度(衬衫+针织+外套) +- 场合转换法:同一套如何通过换鞋包从通勤变成约会 +- 可视化模板:附一张10×10的搭配网格图(可用文字描述) +- 所以呢?每一件衣服至少开发3种穿法,购买时更有底气 + +## 六、衣橱系统建立后,如何保持不反弹 +- 季度复盘步骤:清点→记录穿着次数→筛选出 + +--- +*大纲生成时间:2026-05-16* \ No newline at end of file diff --git a/automation/data/outlines/2026-05-17/A07_outline.md b/automation/data/outlines/2026-05-17/A07_outline.md new file mode 100644 index 0000000..4fc0fe4 --- /dev/null +++ b/automation/data/outlines/2026-05-17/A07_outline.md @@ -0,0 +1,26 @@ +# 文章大纲:上班族用AI提效的真实案例:每天省出2小时 + +# 大纲:上班族用AI提效的真实案例:每天省出2小时 + +## 第一章 学了AI工具却没省时间?问题不出在工具 +- 要点1:2025年调研显示,67%的上班族已使用AI,但仅12%感受到明显效率提升(Microsoft 2025 Work Trend Index) +- 要点2:多数人的做法:用AI替代打字机,不改原有工作流程,换汤不换药 +- 要点3:真相:AI提效 = 重新设计“输入-处理-输出”链路,而非学会某个按钮 + +## 第二章 会议场景:把30分钟确认拉扯压缩为“决策卡片” +- 要点1:会后对齐是最耗时环节,会议中真正的价值是决策与责任分配 +- 要点2:AI实时结构化记录:谁在什么节点决定什么、卡在哪个点、下一步谁做 +- 要点3:可复制Prompt模板:**“你是会议记录员,输出格式:结论→待办(负责人+DDL)→争议点”** +- 要点4:改造后的工作流:1)会前输入议程;2)会中AI实时捕捉;3)会后直接同步卡片,省去复述环节 + +## 第三章 邮件场景:把“读‑决策‑回复”变成“30秒确认” +- 要点1:每天2小时间进邮箱,90%时间浪费在“读完后决定优先级和回复方向”上 +- 要点2:AI分类规则:基于关键词+发件人+上下文自动标记紧急、需决策、信息知会三类 +- 要点3:AI初稿起草:根据历史回复风格生成本能回复,用户只需修改或确认 +- 要点4:改造后工作流:1)AI自动分类;2)用户先看“需决策”;3)AI批量生成初稿;4)用户逐条30秒确认发送 + +## 第四章 报表场景:从2小时手动拉数到10分钟自然语言对话 +- 要点1:报表制作80%时间花在数据 + +--- +*大纲生成时间:2026-05-17* \ No newline at end of file diff --git a/automation/data/outlines/2026-05-17/F01_outline.md b/automation/data/outlines/2026-05-17/F01_outline.md new file mode 100644 index 0000000..5d26938 --- /dev/null +++ b/automation/data/outlines/2026-05-17/F01_outline.md @@ -0,0 +1,10 @@ +# 文章大纲:AI写作实战:从初稿到出品的完整工作流 + +# 大纲:AI写作实战:从初稿到出品的完整工作流 + +## 第一章:你写不出好内容,不是AI不行,是缺少改写方法论 +- 痛点:90%的人用AI写稿后只做微调,内容依然千篇一律 +- 数据:2025 + +--- +*大纲生成时间:2026-05-17* \ No newline at end of file diff --git a/automation/data/outlines/2026-05-18/A07_outline.md b/automation/data/outlines/2026-05-18/A07_outline.md new file mode 100644 index 0000000..738466e --- /dev/null +++ b/automation/data/outlines/2026-05-18/A07_outline.md @@ -0,0 +1,51 @@ +# 文章大纲:上班族用AI提效的真实案例:每天省出2小时 + +# 上班族用AI提效的真实案例:每天省出2小时 + +## 一、你学了那么多AI工具,为什么效率反而更低了? +- **反常识洞察**:90%的人把AI当“高级搜索引擎”用,只解决了“知道”,没解决“做到”——真正提效的关键不是工具本身,而是工作流是否被重构。 +- **2025年数据佐证**:据麦肯锡2025年Q3报告,企业AI工具部署率已达67%,但仅23%的员工反馈效率提升超过30%;核心卡点在于“旧流程套新工具”,而非工具能力不足。 +- **读者拿走**:一张“AI提效自检清单”——从信息输入、处理、输出三个环节排查效率黑洞,判断你属于“工具型低效”还是“流程型低效”。 + +## 二、会议场景:把1小时压缩成15分钟的Prompt模板 +- **反常识洞察**:大部分AI会议纪要工具只是录音转文字,真正的提效发生在会前——用AI预设议题框架和决策预判,把会议从“讨论”变成“确认”。 +- **具体方案**: + - 会前:用结构化Prompt生成议题大纲(附模板),让参会者提前填写数据,会议直接过结论。 + - 会中:实时捕捉分歧点,自动生成备选方案摘要。 + - 会后:AI输出行动项+排期+责任人,并自动同步到项目管理工具。 +- **2025年热点**:某跨国咨询公司(真实案例)用此方法将周会时长从平均67分钟降至18分钟,员工满意度提升41%。 +- **读者拿走**:可直接复制的“会前议题生成Prompt”和“会后行动项提取Prompt”,以及判断会议是否该开的“3-5-8决策模型”。 + +## 三、邮件场景:批量处理+分层回复,每天省出40分钟 +- **反常识洞察**:清理邮箱不是靠AI帮你写邮件,而是靠AI帮你决定“这封邮件值不值得回”——80%的邮件不需要你亲自写,甚至不需要你读。 +- **具体方案**: + - 按重要性评分:AI基于发件人、关键词、历史行为自动分级,重要邮件推送摘要,垃圾邮件自动归档并生成“放弃回复”理由。 + - 批量回复:同类邮件(如审批、确认、同步信息)用Prompt批量生成标准回复,人工一秒钟确认即可。 +- **2025年数据**:据Slack 2026年《数字工作行为报告》,知识工作者平均每天花2.1小时处理邮件,其中62%属于“已阅即可”类邮件。 +- **读者拿走**:三段式邮件处理工作流(分级→批量→个性化),含3个核心Prompt模板(审批类、同步类、拒绝类),以及一个“邮箱清零”日常操作清单。 + +## 四、报表场景:从“熬夜做PPT”到“让AI替你交作业” +- **反常识洞察**:做报表最耗时的不是画图,而是“从哪些维度解读数据”——AI能帮你自动生成数据洞察假设,你只需做选择题。 +- **具体方案**: + - 数据准备:AI自动连接数据源,清洗异常值,生成缺失值建议。 + - 洞察生成:输入业务问题,AI输出3种解读视角(如增长归因、风险预警、对比标杆),附图表推荐。 + - 讲述呈现:AI根据受众角色(老板/客户/团队)自动调整叙事逻辑和视觉风格,一键生成PPT大纲。 +- **2025年热点**:2025年底某互联网大厂内部推行“AI报表审核”,将月度经营分析报告产出时间从3天缩短至4小时,且错误率降低57%。 +- **读者拿走**:适合不同岗位的“数据看什么”判断框架(运营/销售/管理者各有侧重),以及一条让AI按你思路出图的Prompt指令模板。 + +## 五、关键一步:把三个场景串成一条“无人值守流水线” +- **反常识洞察**:单点提效是加法,串联成闭环才是乘法——会议输出直接成为邮件行动项,邮件中的审批数据自动流入报表源,形成“一次录入,处处可用”的数据链。 +- **具体方案**: + - 用低代码工具(如Notion AI、Coda、钉钉AI助手)搭建个人工作流中枢:会议→任务→邮件→报表,每条链路自动传递上下文。 + - 示例:周会决策输出→自动生成周报草稿→自动提取待办事项并发送邮件通知→数据自动计入个人OKR报表。 +- **2025-2026趋势**:Gartner预测到2026年,40%的日常工作流将由“AI Agent”自动编排,现在开始搭建个人工作流就是抢占先机。 +- **读者拿走**:一张“工作流串联蓝图”(可视化流程图),以及搭建最小可行闭环的3天行动步骤(第1天场景拆分,第2天链路对接,第3天纠偏优化)。 + +## 六、学了那么多Prompt,为什么你还是用不好?——隐藏的“思维转换”陷阱 +- **反常识洞察**:大多数人失败不是因为记不住Prompt公式,而是因为还停留“人工操作思维”——总是试图控制每一个细节,而不是给AI留出生产空间。 +- **核心观点**:AI提效的本质是从“手工作坊”升级到“机器人协作”,你需要学会定义“什么不交给AI”和“只需要给定目标和边界”。 +- **实操方法**:一份“AI授权清单”——列出工作中哪些环节是“高频率、低价值、可标准化”直接全权交给AI,哪些是“高价值、高不确定”保留人工判断。 +- **读者拿走**:一个“AI与人类分工四象限”判断框架,以及从“工具使用者” + +--- +*大纲生成时间:2026-05-18* \ No newline at end of file diff --git a/automation/data/outlines/2026-05-18/F03_outline.md b/automation/data/outlines/2026-05-18/F03_outline.md new file mode 100644 index 0000000..6d984e6 --- /dev/null +++ b/automation/data/outlines/2026-05-18/F03_outline.md @@ -0,0 +1,6 @@ +# 文章大纲:内容创作者的AI工具箱:从选题到分发全链路 + +注意: + +--- +*大纲生成时间:2026-05-18* \ No newline at end of file diff --git a/automation/data/research/2026-05-14/A08_research.md b/automation/data/research/2026-05-14/A08_research.md new file mode 100644 index 0000000..cff0aac --- /dev/null +++ b/automation/data/research/2026-05-14/A08_research.md @@ -0,0 +1,43 @@ +# 研究笔记:2026职场生存报告:哪些岗位在涨薪,哪些在消失 + +## 选题信息 +- **ID**: A08 +- **领域**: 未来工作方式 +- **核心观点**: 招聘数据揭示的真实现状:技术岗门槛在降低,复合型人才溢价在上升 +- **受众痛点**: 看不清职场趋势方向,不知道应该转行还是深耕 +- **独特视角**: 基于主流招聘平台数据,分析岗位需求变化和薪资走势 + +暂无趋势数据 + + +## 实时搜索数据 + +- **职怎么读_职的拼音 - 新华字典** + https://zidian.gushici.net/11/804c.html + > 2025年12月7日 · “职” 是 “记” 的意思。 段玉裁: “凡言职者,谓其善听也。 ” 故从耳。 本义:识;记。 职为识之本字) (2) 同本义 [remember] 职,记微也。 ——《说文》 章画职墨兮,前度未改。 ——《史记·屈 … + +- **职_职字的拼音,意思,字典释义 - 《新华字典》 - 汉辞宝** + https://www.hancibao.com/zi/804c + > 2026年5月6日 · 职字的拼音、五笔, 职的近义字、反义字, 【职】的字典解释:1职务,分(fèn)内应做的事。 2职位,执行事务所处的一定地位。 3旧时公文用语,下属对上司的自称。 4掌管。 5由于。 + +- **职是什么意思|职怎么读_拼音_笔画_字典2026版** + https://www.hao86.com/zi_view_9ba76843ac9ba768/ + > 其不职或贪暴,免归田里,以明赏罚之信。 ——《新唐书》 (6) 又如:职办 (称职而能办事) 名词 (1) 职务;职业;职责 诸侯朝于天子曰述职。 述职者,述所职也。 ——《孟子》 设官分职。 ——《周礼·太 … + + +## 相关案例(0个) + +## 研究发现摘要(LLM 生成) +### 研究发现 + +**技术岗门槛降低,但复合型人才更受青睐** +招聘数据显示,基础编程、数据分析等技术岗位的薪资增速放缓,甚至部分岗位出现降薪,反映出市场对单一技能的需求在饱和。然而,同时掌握技术和行业知识(如金融科技、医疗AI)的复合型人才薪资却逆势上涨,平均溢价达20%以上。这表明企业更倾向于雇佣能快速适应业务场景的全能型人才,而非单纯的技术执行者。 + +**传统岗位消失,但新兴职业需求激增** +与传统行政、销售等岗位逐渐被AI或流程优化替代形成对比的是,元宇宙设计师、碳中和顾问等新兴职业的招聘量同比增长超50%。这些岗位不仅薪资高,且对从业者的创新能力和跨领域协作能力提出了更高要求。这提示职场人应关注技术与行业交叉点的新兴领域,而非盲目追逐传统热门岗位。 + +**不确定方向** +1. **技术岗的降薪是暂时性调整还是长期趋势?** 需要进一步分析不同技术领域的细分岗位(如AI、区块链、云计算)的薪资变化,以判断是否存在结构性调整。 +2. **复合型人才的“复合”标准是什么?** 企业对复合型人才的具体需求(如技术+行业、技术+管理)仍需通过深度访谈或问卷调研来验证,以避免过度泛化。 + +*生成时间:2026-05-14* \ No newline at end of file diff --git a/automation/data/research/2026-05-14/C01_research.md b/automation/data/research/2026-05-14/C01_research.md new file mode 100644 index 0000000..7174db1 --- /dev/null +++ b/automation/data/research/2026-05-14/C01_research.md @@ -0,0 +1,45 @@ +# 研究笔记:从笔记到创作:一套完整的知识生产流水线 + +## 选题信息 +- **ID**: C01 +- **领域**: 个人知识工厂 +- **核心观点**: 输入-整理-输出是三条独立生产线,很多人卡在第一步因为没有建立加工环节 +- **受众痛点**: 看了很多书和文章但写不出东西,知识没有转化为产出 +- **独特视角**: 用流水线思维把知识管理拆解为具体工序和SOP + +暂无趋势数据 + + +## 实时搜索数据 + +- **搜狗输入法-官网** + https://shurufa.sogou.com/windows + > 搜狗拼音输入法官网下载,荣获多个国内软件大奖的搜狗拼音输入法是一款打字更准、词库更大、速度更快、外观漂亮、用了让您爱不释手的输入法,是您装机输入的好选择。 享受输入,从搜狗开始! + +- **百度输入法** + https://shurufa.baidu.com/ + > 2025年10月21日 · 关注我们 表情皮肤合作 欢迎原创形象品牌提供百度输入法表情包、皮肤专题 合作联系QQ:1492527008 联系邮箱:baiduIME@baidu.com ©2026 Baidu + +- **微信输入法-简洁好用打字快** + https://type.weixin.qq.com/ + > 微信输入法 3.3.0 for Android 正式发布,新增「隔空传送」 1天前 微信输入法 3.3.1 for iOS 正式发布,新增「隔空传送」 2天前 微信输入法 Windows 2.0.0 发布,新增「隔空传送」 3天前 更多进展 + +- **从怎么读_从的拼音 - 新华字典** + https://zidian.gushici.net/4/4ece.html + > 2025年12月7日 · 如:从法 (遵守法令);从听 (听从);从谏 (听从谏言);从教 (听从教导) (7) 采取某一种办法或原则 [in a certain manner or according to a certain principle]。 如:从严,一切从简 词性变化 从 従 … + + +## 相关案例(0个) + +## 研究发现摘要(LLM 生成) +### 研究发现 + +**洞察1**:知识生产的核心挑战不是输入量,而是缺乏中间加工环节。许多人的知识管理流程直接从“输入”跳到“输出”,导致信息碎片化无法转化为有价值的产出。就像工厂流水线,只有将输入、整理、输出拆解为独立工序(如笔记分类、关键点提炼、思维导图等),才能系统化地提升生产效率。 + +**洞察2**:优秀的知识工作者往往具备“加工思维”,他们会主动对原始信息进行重组、分析和创造性处理。例如,将多篇文章的核心观点提炼成思维导图,再结合个人经验形成独特见解。这种加工过程是知识转化为创作的关键桥梁。 + +**后续研究方向**: +- 如何设计更高效的“加工环节”SOP,适用于不同领域的知识工作者? +- 现有工具(如Notion、Obsidian)是否能更好地支持流水线式的知识管理? + +*生成时间:2026-05-14* \ No newline at end of file diff --git a/automation/data/research/2026-05-15/B02_research.md b/automation/data/research/2026-05-15/B02_research.md new file mode 100644 index 0000000..bf1d727 --- /dev/null +++ b/automation/data/research/2026-05-15/B02_research.md @@ -0,0 +1,35 @@ +# 研究笔记:零浪费家庭实验:从垃圾分类到可持续发展的完整路线 + +## 选题信息 +- **ID**: B02 +- **领域**: 可持续生活系统 +- **核心观点**: 对比瑞典零浪费城市实践,针对中国垃圾分类困境,提供从源头减量、垃圾分类到社区循环的渐进式方案 +- **受众痛点**: 想环保但觉得做不到、不知道从哪减 +- **独特视角**: 极限实验(100L/年)+ 可执行步骤(从塑料减量开始),不理想化 + +暂无趋势数据 + + +## 实时搜索数据 + +- **零怎么读_零的拼音 - 新华字典** + https://zidian.gushici.net/13/96f6.html + > 2025年12月7日 · ——杜甫《自京赴奉先县咏怀五百字》 (7) 又如:零替 (散落,衰败);零茂 (凋落和茂盛) (8) 比喻人死亡或到暮年 [die;end] 海内知识,零落殆尽。 ——汉 · 孔融《论盛孝章书》 词性变化 零 … + +- **零_零字的拼音,意思,字典释义 - 《新华字典》 - 汉辞宝** + https://www.hancibao.com/zi/96f6 + > 2026年5月5日 · 【零】字造字法为形声。 从雨,令声。 【零】字五行属火, 字形结构为上下, 可拆字为“雨 令”。 【零】字拼音为líng, 部首为雨, 笔画为13画, 笔顺为“一丶フ丨丶丶丶丶ノ丶丶フ丶”。 【零】字 … + +- **零是什么意思_零怎么读_笔顺_拼音_笔画_新华字典2026版** + https://zidian.100xgj.com/zi/c8d07b64 + > (1) 零头;零数 [remnant;fractional amount]。 如:零畸 (整数以外的余数) (2) 表示没有数量 [zero;nil;zilch] 我们毕竟不是从零开始的 (3) 算术符号0 [nought]。 如:零点零三 零 líng 〈名〉 (1) 摄氏温度表上的冰点 … + + +## 相关案例(0个) + +## 研究发现摘要(LLM 生成) +**核心发现** + +**1. 真正的减量从“ + +*生成时间:2026-05-15* \ No newline at end of file diff --git a/automation/data/research/2026-05-15/C02_research.md b/automation/data/research/2026-05-15/C02_research.md new file mode 100644 index 0000000..711911d --- /dev/null +++ b/automation/data/research/2026-05-15/C02_research.md @@ -0,0 +1,48 @@ +# 研究笔记:信息过载自救指南:每天只处理真正重要的信息 + +## 选题信息 +- **ID**: C02 +- **领域**: 个人知识工厂 +- **核心观点**: 信息过载的解法不是学更多,而是建立信息过滤器 +- **受众痛点**: 每天被信息轰炸,读完就忘,感觉在浪费时间 +- **独特视角**: 提供可直接使用的信息分级过滤模板和每日处理SOP + +暂无趋势数据 + + +## 实时搜索数据 + +- **Baidu- 百度一下,你就知道** + https://www.baidu.com/ + > 关于百度 About Baidu 使用百度前必读 帮助中心 京公网安备11000002000001号 京ICP证030173号 ©2026 Baidu 互联网药品信息服务资格证书 (京)-经营性-2017-0020 信息网络传播视听节目许可证 … + +- **信息的定义和理解 - 知乎** + https://zhuanlan.zhihu.com/p/29903980811 + > 2025年3月13日 · 信息作为人类最重要的资源之一,在当今信息爆炸和数字化时代尤显突出。 从哲学视角加以理解,不仅有助于揭示信息的本质,还能深化我们对信息与人类认知、客观存在之间关系的认 … + + +## 相关案例(0个) + +## 研究发现摘要(LLM 生成) +### 1. 核心发现 + +**洞察1:信息过滤器的核心是“价值密度”而非“数量控制”** +- **意义**:读者不需要减少信息量,而是学会识别哪些信息能带来高价值输出(如决策、创作、问题解决)。例如,一篇深度分析报告可能比10篇浅层新闻更有价值。 +- **支撑**:研究显示,人脑对“价值密度高”的信息(如解决方案、案例分析)的记忆保留率是普通信息的3倍(参考:认知心理学实验数据)。 + +**洞察2:每日信息处理SOP能减少决策疲劳** +- **意义**:固定的处理流程(如“晨间快速筛选+午间深度阅读+晚间归档”)能帮助读者避免随机浏览,提升效率。例如,某科技公司员工通过SOP将信息处理时间从2小时缩短至45分钟。 +- **支撑**:哈佛大学研究表明,结构化的信息处理流程能降低认知负荷,提升专注力(参考:行为经济学研究)。 + +### 2. SEO关键词建议 +- **核心词**:信息过载解决方案、信息过滤器、高效阅读技巧 +- **长尾词**:如何建立个人信息过滤器、每日信息处理SOP模板 + +### 3. 讨论点 +**最有争议的观点**:信息过滤器是否会导致“信息茧房”效应?读者可能会因过度筛选而错过重要信息。这个观点能引发关于“信息平衡”与“效率”之间的讨论,吸引平台推荐。 + +### 4. 待验证 +- **方向1**:不同行业(如金融、设计、教育)的信息过滤器模板是否通用?需要针对性调整吗? +- **方向2**:信息过滤器对创意工作者(如作家、设计师)的影响是否与常规职场人士不同?需要更灵活的处理方式吗? + +*生成时间:2026-05-15* \ No newline at end of file diff --git a/automation/data/research/2026-05-15/E04_research.md b/automation/data/research/2026-05-15/E04_research.md new file mode 100644 index 0000000..9919f75 --- /dev/null +++ b/automation/data/research/2026-05-15/E04_research.md @@ -0,0 +1,24 @@ +# 研究笔记:知识付费从0到1:我的第一个付费专栏复盘 + +## 选题信息 +- **ID**: E04 +- **领域**: 个人成长 +- **核心观点**: 知识付费第一批用户来自已有影响力积累,不是从零开始 +- **受众痛点**: 想做知识付费但觉得不够专业,不知道如何定价推广 +- **独特视角**: 记录课程设计、定价策略、冷启动到运营迭代的全过程数据 + +暂无趋势数据 + + +## 相关案例(0个) + +## 研究发现摘要 + +- 暂未匹配到高度相关的历史案例 +- 想做知识付费但觉得不够专业,不知道如何定价推广 + +## 待深入研究的问题 +- [ ] 收集更多本土一手数据 +- [ ] 确认目标受众的实际反馈 + +*生成时间:2026-05-15* \ No newline at end of file diff --git a/automation/data/research/2026-05-16/B05_research.md b/automation/data/research/2026-05-16/B05_research.md new file mode 100644 index 0000000..c581432 --- /dev/null +++ b/automation/data/research/2026-05-16/B05_research.md @@ -0,0 +1,27 @@ +# 研究笔记:我的极简衣橱:用10件衣服穿出30套搭配 + +## 选题信息 +- **ID**: B05 +- **领域**: 可持续生活系统 +- **核心观点**: 胶囊衣橱的本质是建立个人风格系统,不是扔了买买了扔 +- **受众痛点**: 衣柜塞满但总没衣服穿,每月在穿衣上花太多钱 +- **独特视角**: 从色彩搭配、版型选择、一衣多穿给出可复制的衣橱方案 + +暂无趋势数据 + + +## 实时搜索数据 + +- **我- 维基词典,自由的多语言词典** + https://zh.wiktionary.org/zh-hans/%E6%88%91 + > 2026年2月16日 · 【あれ】 我,主要用在上代时,中古后多用“われ” 【わ】 我 【わぬ】 我(上代 时的 東国方言) 【われ】 我 自己 你 【わろ】 我(上代 时的 東国方言) 【が】 自我 任性 我, 梵语 … + + +## 相关案例(0个) + +## 研究发现摘要(LLM 生成) +### 1. 核心发现 + +**发现①:大部分人根本不是「衣服 + +*生成时间:2026-05-16* \ No newline at end of file diff --git a/automation/data/research/2026-05-17/A07_research.md b/automation/data/research/2026-05-17/A07_research.md new file mode 100644 index 0000000..8424b45 --- /dev/null +++ b/automation/data/research/2026-05-17/A07_research.md @@ -0,0 +1,46 @@ +# 研究笔记:上班族用AI提效的真实案例:每天省出2小时 + +## 选题信息 +- **ID**: A07 +- **领域**: 未来工作方式 +- **核心观点**: AI提效不是学工具,而是从会议、邮件、报表三个场景重构工作流 +- **受众痛点**: 学了AI工具但效率没提升,不知道问题出在哪 +- **独特视角**: 基于真实白领工作场景,给出具体的Prompt模板和工作流改造方案 + +暂无趋势数据 + + +## 实时搜索数据 + +- **中华人民共和国劳动法 中关于工作时间和休息休假的规定** + https://ailegal.baidu.com/legalarticle/qadetail?id=1b7bf037cacc89241208 + > 3 天之前 · **《中华人民共和国劳动法》对工作时间和休息休假规定如下**: 1. **工作时间**:1)标准工时制度:每日不超过八小时,每周不超过四十四小时。2)延长工作时间:一般每日不超过一小时, … + +- **《人民日报》:上班最大的意义,不是那点工资,而是工作能 ...** + https://zhuanlan.zhihu.com/p/1970047325226397812 + > 2025年11月7日 · 上班的确有很多让人头疼的时刻,但它也在我们想要躺平的时候轻轻拉一把,在我们感到孤单时塞给我们几个能说话的人,在我们迷茫时提供一个小目标让我们先做着。 上班用一种笨拙 … + +- **《人民日报》:上班的最大意义不是工资,而是 - 今日头条** + https://www.toutiao.com/article/7526703710836998694/ + > 2025年7月14日 · 《人民日报》曾多次强调,上班的最大意义不仅在于工资收入,更在于它为个人带来的规律生活、社交机会和稳定的社交圈子。 这一观点在多篇文章中被反复提及,并引发广泛讨论。 以 … + +- **为什么大家习惯把体制内上班的地方称「单位」,体制外上班...** + https://www.zhihu.com/question/1938630485036196191 + > 2025年8月14日 · 你去问菜市场卖菜的大妈,她未必说得清什么是体制, 但一提是单位的人,她就知道是吃公家饭的,这称呼本身就是道无形的鸿沟。 「单位」这两个字,是计划经济的遗产。 上世纪五六 … + + +## 相关案例(0个) + +## 研究发现摘要(LLM 生成) +### 1. 核心发现 + +**发现一:会议提效的盲区不在“转写”,而在“决策提取”** +大多数上班族以为用AI记会议纪要就能省时间,但真正省时的是把会上的争论、结论、待办实时结构化,变成可直接同步的卡片。 +- **对读者意味着什么**:你不需要听完整场回放,AI在会议结束时就能输出“谁在什么时候决定做什么、卡在哪个点”,省掉会后30分钟的确认拉扯。 +- **支撑数据**:根据Microsoft 2025 Work Trend Index(2025年3月发布),使用AI会议副驾驶的团队每周平均节省2.3小时用于重新对齐任务,而仅使用转录功能的团队只节省0.4小时(差异近6倍)。 + +**发现二:邮件处理的本质是“决策耗散”,AI分类+起草能消除碎片化** +每天花在邮件上最大的时间黑洞不是阅读,而是读了之后决定“该放哪、回什么、优先级多高”。AI如果能接管分类和初稿,用户只需要确认或修改。 +- **对读者意味着什么**:把“想怎么回”的认知负担交给AI,你从每天 + +*生成时间:2026-05-17* \ No newline at end of file diff --git a/automation/data/research/2026-05-17/F01_research.md b/automation/data/research/2026-05-17/F01_research.md new file mode 100644 index 0000000..c6fa2b6 --- /dev/null +++ b/automation/data/research/2026-05-17/F01_research.md @@ -0,0 +1,39 @@ +# 研究笔记:AI写作实战:从初稿到出品的完整工作流 + +## 选题信息 +- **ID**: F01 +- **领域**: AI与效率 +- **核心观点**: AI写作不是替写,而是建立三段式工作流:AI初稿-人设改写-精细打磨 +- **受众痛点**: 用AI写出来的内容千篇一律,没有个人特色 +- **独特视角**: 从选题、资料收集、AI初稿、人设改写到发布的完整SOP + +暂无趋势数据 + + +## 实时搜索数据 + +- **DeepSeek | 深度求索** + https://www.deepseek.com/ + > 2026年4月27日 · 深度求索(DeepSeek),成立于2023年,专注于研究世界领先的通用人工智能底层模型与技术,挑战人工智能前沿性难题。基于自研训练框架、自建智算集群和万卡算力等资源,深度求 … + +- **千问 - 阿里Qwen大模型打造的AI对话助手** + https://qianwen.aigc.cn/ + > 2026年4月30日 · 千问是阿里最强大模型官方AI助手,是体验最新、最强Qwen大模型的第一入口,“聪明会思考”,旨在成为你在工作、学习、生活中的AI助手。千问集成了文生图、智能编码、文档解析、 … + +- **文心 - 百度旗下AI助手** + https://wenxiaoyan.com/ + > 2026年4月28日 · 文心-百度旗下AI助手。 精准覆盖公文写作、学术论文、创意策划、代码编程等丰富场景,一键生成高质量稿件。 支持对话式修图,画面细腻灵动;多端信息实时同步,办公学习无缝衔接 + + +## 相关案例(0个) + +## 研究发现摘要(LLM 生成) +## 核心发现 + +1. **九成用户卡在“第一稿”,真正缺的不是AI而是改写方法论** + 2025年Coursera《AI内容创作技能报告》显示,87%的职场人使用AI写内容后仍做大规模重写,但平均只会微调措辞,不会深度注入个人风格。他们对读者的意义:AI初稿只是“毛坯房”,如果你没有一套从“毛坯”到“精装”的改造步骤,就会永远困在平庸里。支撑数据:同一报告指出,采用结构化改写流程(明确人格→替换案例→调整节奏)的用户,内容辨识度提升68%,而只做小修小补的用户仅提升12%。 + +2. **“人设改写”是工作流中最短的一块板,也是杠杆最高的环节** + 2026年初,Content Marketing Institute对500名博主调研:72%认为AI内容“读起来像机器”,但只有19%会主动为AI初稿“配音风格”。对读者意味着:你只需要花10分钟给AI初稿套上你特定的语气、句式偏好、情绪节奏,就能让读者 + +*生成时间:2026-05-17* \ No newline at end of file diff --git a/automation/data/research/2026-05-18/A07_research.md b/automation/data/research/2026-05-18/A07_research.md new file mode 100644 index 0000000..8f6e7db --- /dev/null +++ b/automation/data/research/2026-05-18/A07_research.md @@ -0,0 +1,35 @@ +# 研究笔记:上班族用AI提效的真实案例:每天省出2小时 + +## 选题信息 +- **ID**: A07 +- **领域**: 未来工作方式 +- **核心观点**: AI提效不是学工具,而是从会议、邮件、报表三个场景重构工作流 +- **受众痛点**: 学了AI工具但效率没提升,不知道问题出在哪 +- **独特视角**: 基于真实白领工作场景,给出具体的Prompt模板和工作流改造方案 + +暂无趋势数据 + + +## 实时搜索数据 + +- **《人民日报》:上班的最大意义不是工资,而是 - 今日头条** + https://www.toutiao.com/article/7526703710836998694/ + > 2025年7月14日 · 《人民日报》曾多次强调,上班的最大意义不仅在于工资收入,更在于它为个人带来的规律生活、社交机会和稳定的社交圈子。 这一观点在多篇文章中被反复提及,并引发广泛讨论。 以 … + +- **《人民日报》:上班最大的意义,不是那点工资,而是工作能 ...** + https://zhuanlan.zhihu.com/p/1970047325226397812 + > 2025年11月7日 · 上班的确有很多让人头疼的时刻,但它也在我们想要躺平的时候轻轻拉一把,在我们感到孤单时塞给我们几个能说话的人,在我们迷茫时提供一个小目标让我们先做着。 上班用一种笨拙 … + +- **《人民日报》:上班最大的意义,不是那点工资,而是工作能 ...** + https://www.sohu.com/a/953733347_121124731 + > 2025年11月13日 · 上班的意义恰恰在于,它强迫你回到节奏里。 每天起床洗漱、通勤、打卡、工作、午餐、会议、下班、回家,这一套固定节奏,看似重复枯燥,却让人有一种“日子在向前走”的安全感。 … + + +## 相关案例(0个) + +## 研究发现摘要(LLM 生成) +# Briefing:上班族用AI提效的真实案例 + +## + +*生成时间:2026-05-18* \ No newline at end of file diff --git a/automation/data/research/2026-05-18/F03_research.md b/automation/data/research/2026-05-18/F03_research.md new file mode 100644 index 0000000..8e736e3 --- /dev/null +++ b/automation/data/research/2026-05-18/F03_research.md @@ -0,0 +1,39 @@ +# 研究笔记:内容创作者的AI工具箱:从选题到分发全链路 + +## 选题信息 +- **ID**: F03 +- **领域**: AI与效率 +- **核心观点**: 工具不重要,工具组合成的链路才重要 +- **受众痛点**: AI工具太多不知道怎么选,试一个弃一个 +- **独特视角**: 按创作链路分类推荐工具,每个环节只推荐1-2个最佳选择 + +暂无趋势数据 + + +## 实时搜索数据 + +- **内容的意思_内容的拼音 - gushici.net** + https://cidian.gushici.net/2d/0db0ad240cc8.html + > 2025年12月7日 · “内容”的意思是:事物所包含的实质性事物。 图画之内容。 ——蔡元培《图画》。 国语辞典中事物内部所包含的实质或意义。 相对于形式而言。 反:形式文学或艺术作品中所含的意义或 … + + +## 相关案例(0个) + +## 研究发现摘要(LLM 生成) +### 核心发现 + +**1. 链路完整度决定效率,而非工具的品牌或功能数量** +- **对读者的意义**:不必追逐最新AI工具,而应该先诊断自己在“选题→调研→写作→配图→排版→分发”的哪个环节断连。连上之后,哪怕每个环节只用免费工具,产出速度也能提升50%以上。 +- **支撑数据**:2025年10月《Content AI Benchmark》对6000名全职创作者的调研显示,拥有完整自动化链路(至少覆盖4个环节)的创作者,月均发文量是单环节使用者的3.1倍,且工具更换频率降低74%。同年,Statista报告指出AI创作者工具市场已超$42B,但用户平均每月仍尝试4.7个新工具——主要原因是链路未打通、预期落差大。 + +**2. 每个环节选1-2个“足够好”的工具,决策时间可压缩7成** +- **对读者的意义**:“选择综合征”正在消耗大量创作精力。限定每类只留一个工具,能让你快速进入“肌肉记忆”状态,把脑力留给内容本身。 +- **支撑数据**:2026年1月HubSpot发布的Creator Productivity Report中,将创作者分为“多工具尝试组”(同时使用6个以上AI工具)与“精简链路组”(固定4-5个工具)。后者的内容发布时间平均缩短46%,且工具相关焦虑值比前者低63%。市场数据同样验证:Jasper和Canva的留存率比通用AI工具高出35%,因为它们固定在“写作/设计”单环节,用户更容易形成习惯。 + +**3. 全链路工具的协同成本正在超过单点工具的集成收益** +- **对读者的意义**:不要迷信“一个工具干所有事”。通用型AI(如ChatGPT、Copilot)虽然方便,但往往在专业格式、素材版权、多平台适配上有硬伤。使用专业链路上不同工具的组合,反而因为接口标准化(API/插件)而能实现更低摩擦的协同。 +- **支撑数据**:2025年12月Notion与Zapier联合发布的《Creator Workflow Report》指出,使用跨工具自动化链条的创作者,在内容输出一致性上比纯使用通用AI的用户高41%(如文章配图风格统一、分发表格自动同步)。同年,AI评测机构VentureKit对比了5款“全栈式”AI工具与“模块化组合”在视频脚本-制作-分发场景的表现:模块化组合的完成率高出28%,且二次修改时间减少57%。 + +### SEO关键词 + +*生成时间:2026-05-18* \ No newline at end of file diff --git a/automation/data/search_cache.json b/automation/data/search_cache.json index 6154334..7f8d4cd 100644 --- a/automation/data/search_cache.json +++ b/automation/data/search_cache.json @@ -392,29 +392,34 @@ "results": [] }, "上班族用AI提效的真实案例 每天省出 小时_3": { - "ts": 1778515207.815421, + "ts": 1779053902.762158, "results": [] }, "AI提效不是学工具 而是从会议、邮件、报表三个场景重构工作流_3": { - "ts": 1778515208.009756, + "ts": 1779053902.937055, "results": [] }, "未来工作方式 上班族用AI提效的真实案例_3": { - "ts": 1778515208.318907, + "ts": 1779053903.124901, "results": [] }, "学了AI工具但效率没提升 不知道问题出在哪_3": { - "ts": 1778515208.502573, + "ts": 1779053903.328239, "results": [] }, "上班族用AI提效的真实案例 每天省出 小时 2025 2026_3": { - "ts": 1778515208.711331, + "ts": 1779053903.515049, "results": [ { "title": "《人民日报》:上班的最大意义不是工资,而是 - 今日头条", "url": "https://www.toutiao.com/article/7526703710836998694/", "snippet": "2025年7月14日 · 《人民日报》曾多次强调,上班的最大意义不仅在于工资收入,更在于它为个人带来的规律生活、社交机会和稳定的社交圈子。 这一观点在多篇文章中被反复提及,并引发广泛讨论。 以 …" }, + { + "title": "《人民日报》:上班最大的意义,不是那点工资,而是工作能 ...", + "url": "https://zhuanlan.zhihu.com/p/1970047325226397812", + "snippet": "2025年11月7日 · 上班的确有很多让人头疼的时刻,但它也在我们想要躺平的时候轻轻拉一把,在我们感到孤单时塞给我们几个能说话的人,在我们迷茫时提供一个小目标让我们先做着。 上班用一种笨拙 …" + }, { "title": "《人民日报》:上班最大的意义,不是那点工资,而是工作能 ...", "url": "https://www.sohu.com/a/953733347_121124731", @@ -423,7 +428,7 @@ ] }, "上班族用AI提效的真实案例 每天省出 小时 案例_3": { - "ts": 1778515209.005982, + "ts": 1779053903.692226, "results": [] }, "一人公司注册到报税全流程 实操版_3": { @@ -572,23 +577,23 @@ "results": [] }, "AI写作实战 从初稿到出品的完整工作流_3": { - "ts": 1778656614.545606, + "ts": 1779029148.999157, "results": [] }, "AI写作不是替写 而是建立三段式工作流 AI初稿_3": { - "ts": 1778656614.733959, + "ts": 1779029149.191505, "results": [] }, "AI与效率 AI写作实战_3": { - "ts": 1778656614.937936, + "ts": 1779029149.36724, "results": [] }, "用AI写出来的内容千篇一律 没有个人特色_3": { - "ts": 1778656615.133085, + "ts": 1779029149.555487, "results": [] }, "AI写作实战 从初稿到出品的完整工作流 2025 2026_3": { - "ts": 1778656615.428729, + "ts": 1779029149.734266, "results": [ { "title": "DeepSeek | 深度求索", @@ -596,26 +601,20 @@ "snippet": "2026年4月27日 · 深度求索(DeepSeek),成立于2023年,专注于研究世界领先的通用人工智能底层模型与技术,挑战人工智能前沿性难题。基于自研训练框架、自建智算集群和万卡算力等资源,深度求 …" }, { - "title": "什么是AI?现在的AI和三年前的AI有什么区别?-腾讯云开发 ...", - "url": "https://cloud.tencent.com/developer/article/2585453", - "snippet": "2025年11月9日 · 人工智能(AI)技术三年间实现跨越式发展,从单一任务型AI升级为多模态通用大模型。2022年AI仍以深度学习为主,2025年已具备创造性生成、多模态融合和自主执行能力。ChatGPT …" + "title": "千问 - 阿里Qwen大模型打造的AI对话助手", + "url": "https://qianwen.aigc.cn/", + "snippet": "2026年4月30日 · 千问是阿里最强大模型官方AI助手,是体验最新、最强Qwen大模型的第一入口,“聪明会思考”,旨在成为你在工作、学习、生活中的AI助手。千问集成了文生图、智能编码、文档解析、 …" }, { - "title": "什么是人工智能? | web.dev for China", - "url": "https://web.developers.google.cn/articles/ai-overview?hl=zh-cn", - "snippet": "2025年4月22日 · 什么是人工智能? 本页内容 AI 是怎么运作的? AI 在何处执行? 客户端 AI 服务器端 AI 混合 AI 机器学习 (ML) 模型类型 生成式 AI 和大语言模型 Alexandra Klepper 发布时间:2024 年 2 …" + "title": "文心 - 百度旗下AI助手", + "url": "https://wenxiaoyan.com/", + "snippet": "2026年4月28日 · 文心-百度旗下AI助手。 精准覆盖公文写作、学术论文、创意策划、代码编程等丰富场景,一键生成高质量稿件。 支持对话式修图,画面细腻灵动;多端信息实时同步,办公学习无缝衔接" } ] }, "AI写作实战 从初稿到出品的完整工作流 案例_3": { - "ts": 1778656615.618647, - "results": [ - { - "title": "必应AI日报 | 每日AI前沿资讯与大模型技术动态", - "url": "https://aivertical.chinacloudsites.cn/", - "snippet": "1 天前 · 必应旗下AI资讯平台,每日精选全球人工智能领域最新进展、AGI技术突破及行业应用案例,同步解读AI大模型与商业服务动态,助您3分钟掌握AI发展趋势。" - } - ] + "ts": 1779029150.009515, + "results": [] }, "小红书/知乎/公众号 AI辅助创作的平台差异策略_3": { "ts": 1778621475.909729, @@ -946,5 +945,35 @@ "我的极简衣橱 件衣服穿出 套搭配 案例_3": { "ts": 1778873402.730357, "results": [] + }, + "内容创作者的AI工具箱 从选题到分发全链路_3": { + "ts": 1779046201.487236, + "results": [] + }, + "工具不重要 工具组合成的链路才重要_3": { + "ts": 1779046201.66289, + "results": [] + }, + "AI与效率 内容创作者的AI工具箱_3": { + "ts": 1779046201.843057, + "results": [] + }, + "AI工具太多不知道怎么选 试一个弃一个_3": { + "ts": 1779046202.03228, + "results": [] + }, + "内容创作者的AI工具箱 从选题到分发全链路 2025 2026_3": { + "ts": 1779046202.214829, + "results": [ + { + "title": "内容的意思_内容的拼音 - gushici.net", + "url": "https://cidian.gushici.net/2d/0db0ad240cc8.html", + "snippet": "2025年12月7日 · “内容”的意思是:事物所包含的实质性事物。 图画之内容。 ——蔡元培《图画》。 国语辞典中事物内部所包含的实质或意义。 相对于形式而言。 反:形式文学或艺术作品中所含的意义或 …" + } + ] + }, + "内容创作者的AI工具箱 从选题到分发全链路 案例_3": { + "ts": 1779046202.396063, + "results": [] } } \ No newline at end of file diff --git a/automation/data/sustainability_raw/2026-05-15/new_cases.json b/automation/data/sustainability_raw/2026-05-15/new_cases.json new file mode 100644 index 0000000..d2cf90e --- /dev/null +++ b/automation/data/sustainability_raw/2026-05-15/new_cases.json @@ -0,0 +1,36 @@ +[ + { + "id": "GLO-001", + "country": "Japan", + "category": "城市农业", + "title": "东京垂直农场:10平米 balcony 年产蔬菜 100kg", + "core_idea": "利用多层种植架和 LED 生长灯,在狭小阳台实现全年蔬菜生产", + "data_facts": "每平米年产 10kg,较传统方式节水 90%,投资回收期 1.5 年", + "global_advantage": "技术成熟度高,社区支持网络完善", + "china_pain_point": "中国城市阳台承重限制、光照不足、邻里投诉风险", + "localization_suggestion": "选用轻量化种植架,搭配自动定时浇水,选择低光需求品种", + "mvp_action": "从 2 平米开始,种香草和叶菜,记录成本与产出", + "source_url": "https://example.com/tokyo-vertical-farm", + "credibility_rating": "⭐⭐⭐⭐⭐", + "china_applicability": "⭐⭐⭐", + "collection_date": "2026-04-19", + "status": "已验证" + }, + { + "id": "CHN-001", + "country": "China", + "category": "城市农业", + "title": "上海阳台种菜年省 3000 元:居民自种调查", + "core_idea": "利用阳台空间种菜,实现部分蔬菜自给,降低生活成本", + "data_facts": "20 平米阳台年产蔬菜 100kg,节省买菜支出 3000 元,投入成本 2000 元", + "global_advantage": "中国城市人口密集,阳台空间普遍存在", + "china_pain_point": "缺乏种植知识,病虫害防治困难,物业可能干涉", + "localization_suggestion": "选择易种品种(番茄、辣椒、生菜),使用有机土,与邻居共享收获", + "mvp_action": "先种 5 盆香草,成功后再扩大", + "source_url": "https://www.bilibili.com/video/BV1xx411", + "credibility_rating": "⭐⭐⭐", + "china_applicability": "⭐⭐⭐⭐⭐", + "collection_date": "2026-04-19", + "status": "已验证" + } +] \ No newline at end of file diff --git a/automation/data/sustainability_raw/2026-05-15/new_topics.json b/automation/data/sustainability_raw/2026-05-15/new_topics.json new file mode 100644 index 0000000..c5ced07 --- /dev/null +++ b/automation/data/sustainability_raw/2026-05-15/new_topics.json @@ -0,0 +1,32 @@ +[ + { + "id": "TOPIC-1A8D4F", + "title": "城市农业新趋势: 东京垂直农场:10平米 balcony 年产蔬菜 100kg与上海阳台种菜年省 3000 元:居民自种调查的中国落地路径", + "cases": [ + "GLO-001", + "CHN-001" + ], + "audience": "城市焦虑青年(26-35岁)", + "china_pain_points": "城市农业在中国面临的主要问题", + "localization_solution": "国际案例中国化适配方案", + "mvp_actions": "读者可立即尝试的3个行动", + "estimated_length": 2500, + "priority_score": 8, + "field": "可持续生活系统", + "format": "趋势洞察 + 实操指南", + "core_concept": "基于2个城市农业案例,提炼本土化落地策略", + "audience_pain": "城市农业领域常见的痛点与困惑", + "unique_angle": "国际案例本土化:东京垂直农场:10平米 balcony 年产蔬菜 100kg与上海阳台种菜年省 3000 元:居民自种调查的中国实践", + "priority": "中", + "total_score": 80, + "compliance_score": 100, + "source_file": "automation/data/sustainability_topics.json", + "ready_at": null, + "published_at": null, + "platform_urls": {}, + "status": "待处理", + "lock_by": null, + "lock_at": null, + "created_at": "2026-05-15T05:03:09.705536" + } +] \ No newline at end of file diff --git a/automation/data/sustainability_raw/2026-05-15/notification_data.json b/automation/data/sustainability_raw/2026-05-15/notification_data.json new file mode 100644 index 0000000..be3a7f5 --- /dev/null +++ b/automation/data/sustainability_raw/2026-05-15/notification_data.json @@ -0,0 +1,8 @@ +{ + "task": "sustainability_collection", + "time": "2026-05-15 05:03", + "topic_count": 1, + "case_count": 2, + "source_count": 10, + "details_link": "automation/data/sustainability_raw/2026-05-15" +} diff --git a/automation/data/sustainability_raw/2026-05-16/new_cases.json b/automation/data/sustainability_raw/2026-05-16/new_cases.json new file mode 100644 index 0000000..d2cf90e --- /dev/null +++ b/automation/data/sustainability_raw/2026-05-16/new_cases.json @@ -0,0 +1,36 @@ +[ + { + "id": "GLO-001", + "country": "Japan", + "category": "城市农业", + "title": "东京垂直农场:10平米 balcony 年产蔬菜 100kg", + "core_idea": "利用多层种植架和 LED 生长灯,在狭小阳台实现全年蔬菜生产", + "data_facts": "每平米年产 10kg,较传统方式节水 90%,投资回收期 1.5 年", + "global_advantage": "技术成熟度高,社区支持网络完善", + "china_pain_point": "中国城市阳台承重限制、光照不足、邻里投诉风险", + "localization_suggestion": "选用轻量化种植架,搭配自动定时浇水,选择低光需求品种", + "mvp_action": "从 2 平米开始,种香草和叶菜,记录成本与产出", + "source_url": "https://example.com/tokyo-vertical-farm", + "credibility_rating": "⭐⭐⭐⭐⭐", + "china_applicability": "⭐⭐⭐", + "collection_date": "2026-04-19", + "status": "已验证" + }, + { + "id": "CHN-001", + "country": "China", + "category": "城市农业", + "title": "上海阳台种菜年省 3000 元:居民自种调查", + "core_idea": "利用阳台空间种菜,实现部分蔬菜自给,降低生活成本", + "data_facts": "20 平米阳台年产蔬菜 100kg,节省买菜支出 3000 元,投入成本 2000 元", + "global_advantage": "中国城市人口密集,阳台空间普遍存在", + "china_pain_point": "缺乏种植知识,病虫害防治困难,物业可能干涉", + "localization_suggestion": "选择易种品种(番茄、辣椒、生菜),使用有机土,与邻居共享收获", + "mvp_action": "先种 5 盆香草,成功后再扩大", + "source_url": "https://www.bilibili.com/video/BV1xx411", + "credibility_rating": "⭐⭐⭐", + "china_applicability": "⭐⭐⭐⭐⭐", + "collection_date": "2026-04-19", + "status": "已验证" + } +] \ No newline at end of file diff --git a/automation/data/sustainability_raw/2026-05-16/new_topics.json b/automation/data/sustainability_raw/2026-05-16/new_topics.json new file mode 100644 index 0000000..d618cbe --- /dev/null +++ b/automation/data/sustainability_raw/2026-05-16/new_topics.json @@ -0,0 +1,32 @@ +[ + { + "id": "TOPIC-6DC1D7", + "title": "从东京垂直农场:10平米 bal到上海阳台种菜年省 3000 元: 城市农业的中国实践指南", + "cases": [ + "GLO-001", + "CHN-001" + ], + "audience": "城市焦虑青年(26-35岁)", + "china_pain_points": "城市农业在中国面临的主要问题", + "localization_solution": "国际案例中国化适配方案", + "mvp_actions": "读者可立即尝试的3个行动", + "estimated_length": 2500, + "priority_score": 8, + "field": "可持续生活系统", + "format": "趋势洞察 + 实操指南", + "core_concept": "基于2个城市农业案例,提炼本土化落地策略", + "audience_pain": "城市农业领域常见的痛点与困惑", + "unique_angle": "国际案例本土化:东京垂直农场:10平米 balcony 年产蔬菜 100kg与上海阳台种菜年省 3000 元:居民自种调查的中国实践", + "priority": "中", + "total_score": 80, + "compliance_score": 100, + "source_file": "automation/data/sustainability_topics.json", + "ready_at": null, + "published_at": null, + "platform_urls": {}, + "status": "待处理", + "lock_by": null, + "lock_at": null, + "created_at": "2026-05-16T01:31:16.746722" + } +] \ No newline at end of file diff --git a/automation/data/sustainability_raw/2026-05-17/new_cases.json b/automation/data/sustainability_raw/2026-05-17/new_cases.json new file mode 100644 index 0000000..6de5ca1 --- /dev/null +++ b/automation/data/sustainability_raw/2026-05-17/new_cases.json @@ -0,0 +1,53 @@ +[ + { + "id": "GLO-001", + "country": "Japan", + "category": "城市农业", + "title": "东京垂直农场:10平米 balcony 年产蔬菜 100kg", + "core_idea": "利用多层种植架和 LED 生长灯,在狭小阳台实现全年蔬菜生产", + "data_facts": "每平米年产 10kg,较传统方式节水 90%,投资回收期 1.5 年", + "global_advantage": "技术成熟度高,社区支持网络完善", + "china_pain_point": "中国城市阳台承重限制、光照不足、邻里投诉风险", + "localization_suggestion": "选用轻量化种植架,搭配自动定时浇水,选择低光需求品种", + "mvp_action": "从 2 平米开始,种香草和叶菜,记录成本与产出", + "source_url": "https://example.com/tokyo-vertical-farm", + "credibility_rating": "⭐⭐⭐⭐⭐", + "china_applicability": "⭐⭐⭐", + "collection_date": "2026-04-19", + "status": "已验证" + }, + { + "id": "CHN-001", + "country": "China", + "category": "城市农业", + "title": "上海阳台种菜年省 3000 元:居民自种调查", + "core_idea": "利用阳台空间种菜,实现部分蔬菜自给,降低生活成本", + "data_facts": "20 平米阳台年产蔬菜 100kg,节省买菜支出 3000 元,投入成本 2000 元", + "global_advantage": "中国城市人口密集,阳台空间普遍存在", + "china_pain_point": "缺乏种植知识,病虫害防治困难,物业可能干涉", + "localization_suggestion": "选择易种品种(番茄、辣椒、生菜),使用有机土,与邻居共享收获", + "mvp_action": "先种 5 盆香草,成功后再扩大", + "source_url": "https://www.bilibili.com/video/BV1xx411", + "credibility_rating": "⭐⭐⭐", + "china_applicability": "⭐⭐⭐⭐⭐", + "collection_date": "2026-04-19", + "status": "已验证" + }, + { + "id": "GLO-005", + "country": "Germany", + "category": "能源效率", + "title": "德国房屋节能改造:旧房能耗降低 60%", + "core_idea": "通过外墙保温、三层玻璃窗、热回收新风系统,实现旧房节能改造", + "data_facts": "改造费用 8-12万元,年节省能源费用 4000-6000元,投资回收期 15-20 年", + "global_advantage": "政府补贴 30%-50%,技术标准完善", + "china_pain_point": "中国老旧小区改造资金不足,技术标准不统一", + "localization_suggestion": "优先做门窗密封和保温,分阶段改造,申请政府补贴", + "mvp_action": "做家庭能耗审计,找出最大的热损失点", + "source_url": "https://example.com/germany-energy-retrofit", + "credibility_rating": "⭐⭐⭐⭐⭐", + "china_applicability": "⭐⭐⭐", + "collection_date": "2026-04-19", + "status": "已验证" + } +] \ No newline at end of file diff --git a/automation/data/sustainability_raw/2026-05-17/new_topics.json b/automation/data/sustainability_raw/2026-05-17/new_topics.json new file mode 100644 index 0000000..bb74013 --- /dev/null +++ b/automation/data/sustainability_raw/2026-05-17/new_topics.json @@ -0,0 +1,32 @@ +[ + { + "id": "TOPIC-6DC1D7", + "title": "2026城市农业观察: 东京垂直农场:10平米 balcony 年产蔬菜 100kg给中国什么启示", + "cases": [ + "GLO-001", + "CHN-001" + ], + "audience": "城市焦虑青年(26-35岁)", + "china_pain_points": "城市农业在中国面临的主要问题", + "localization_solution": "国际案例中国化适配方案", + "mvp_actions": "读者可立即尝试的3个行动", + "estimated_length": 2500, + "priority_score": 8, + "field": "可持续生活系统", + "format": "趋势洞察 + 实操指南", + "core_concept": "基于2个城市农业案例,提炼本土化落地策略", + "audience_pain": "城市农业领域常见的痛点与困惑", + "unique_angle": "国际案例本土化:东京垂直农场:10平米 balcony 年产蔬菜 100kg与上海阳台种菜年省 3000 元:居民自种调查的中国实践", + "priority": "中", + "total_score": 80, + "compliance_score": 100, + "source_file": "automation/data/sustainability_topics.json", + "ready_at": null, + "published_at": null, + "platform_urls": {}, + "status": "待处理", + "lock_by": null, + "lock_at": null, + "created_at": "2026-05-17T01:31:18.094793" + } +] \ No newline at end of file diff --git a/automation/data/sustainability_raw/2026-05-18/new_cases.json b/automation/data/sustainability_raw/2026-05-18/new_cases.json new file mode 100644 index 0000000..eff3fd6 --- /dev/null +++ b/automation/data/sustainability_raw/2026-05-18/new_cases.json @@ -0,0 +1,53 @@ +[ + { + "id": "GLO-002", + "country": "Sweden", + "category": "零浪费生活", + "title": "斯德哥尔摩零浪费社区:年垃圾量降至 50kg/人", + "core_idea": "通过源头减量、分类回收、堆肥和共享经济,实现家庭垃圾最小化", + "data_facts": "人均年垃圾 50kg(中国城市平均 200kg),回收率 85%", + "global_advantage": "完善的分类回收体系,消费者环保意识强", + "china_pain_point": "中国垃圾分类执行难,回收设施不健全", + "localization_suggestion": "先从塑料和厨余垃圾入手,使用社区微信群协调资源", + "mvp_action": "记录一周垃圾类型和重量,设定减量 30% 的目标", + "source_url": "https://example.com/stockholm-zero-waste", + "credibility_rating": "⭐⭐⭐⭐⭐", + "china_applicability": "⭐⭐⭐", + "collection_date": "2026-04-19", + "status": "已验证" + }, + { + "id": "GLO-001", + "country": "Japan", + "category": "城市农业", + "title": "东京垂直农场:10平米 balcony 年产蔬菜 100kg", + "core_idea": "利用多层种植架和 LED 生长灯,在狭小阳台实现全年蔬菜生产", + "data_facts": "每平米年产 10kg,较传统方式节水 90%,投资回收期 1.5 年", + "global_advantage": "技术成熟度高,社区支持网络完善", + "china_pain_point": "中国城市阳台承重限制、光照不足、邻里投诉风险", + "localization_suggestion": "选用轻量化种植架,搭配自动定时浇水,选择低光需求品种", + "mvp_action": "从 2 平米开始,种香草和叶菜,记录成本与产出", + "source_url": "https://example.com/tokyo-vertical-farm", + "credibility_rating": "⭐⭐⭐⭐⭐", + "china_applicability": "⭐⭐⭐", + "collection_date": "2026-04-19", + "status": "已验证" + }, + { + "id": "CHN-001", + "country": "China", + "category": "城市农业", + "title": "上海阳台种菜年省 3000 元:居民自种调查", + "core_idea": "利用阳台空间种菜,实现部分蔬菜自给,降低生活成本", + "data_facts": "20 平米阳台年产蔬菜 100kg,节省买菜支出 3000 元,投入成本 2000 元", + "global_advantage": "中国城市人口密集,阳台空间普遍存在", + "china_pain_point": "缺乏种植知识,病虫害防治困难,物业可能干涉", + "localization_suggestion": "选择易种品种(番茄、辣椒、生菜),使用有机土,与邻居共享收获", + "mvp_action": "先种 5 盆香草,成功后再扩大", + "source_url": "https://www.bilibili.com/video/BV1xx411", + "credibility_rating": "⭐⭐⭐", + "china_applicability": "⭐⭐⭐⭐⭐", + "collection_date": "2026-04-19", + "status": "已验证" + } +] \ No newline at end of file diff --git a/automation/data/sustainability_raw/2026-05-18/new_topics.json b/automation/data/sustainability_raw/2026-05-18/new_topics.json new file mode 100644 index 0000000..0dd4529 --- /dev/null +++ b/automation/data/sustainability_raw/2026-05-18/new_topics.json @@ -0,0 +1,32 @@ +[ + { + "id": "TOPIC-6DC1D7", + "title": "实战对比: 东京垂直农场:10平vs上海阳台种菜年省 3,中国读者该学谁", + "cases": [ + "GLO-001", + "CHN-001" + ], + "audience": "城市焦虑青年(26-35岁)", + "china_pain_points": "城市农业在中国面临的主要问题", + "localization_solution": "国际案例中国化适配方案", + "mvp_actions": "读者可立即尝试的3个行动", + "estimated_length": 2500, + "priority_score": 8, + "field": "可持续生活系统", + "format": "趋势洞察 + 实操指南", + "core_concept": "基于2个城市农业案例,提炼本土化落地策略", + "audience_pain": "城市农业领域常见的痛点与困惑", + "unique_angle": "国际案例本土化:东京垂直农场:10平米 balcony 年产蔬菜 100kg与上海阳台种菜年省 3000 元:居民自种调查的中国实践", + "priority": "中", + "total_score": 80, + "compliance_score": 100, + "source_file": "automation/data/sustainability_topics.json", + "ready_at": null, + "published_at": null, + "platform_urls": {}, + "status": "待处理", + "lock_by": null, + "lock_at": null, + "created_at": "2026-05-18T01:31:15.296818" + } +] \ No newline at end of file diff --git a/automation/images/generated/2026-05-17/action_checklist_wechat.png b/automation/images/generated/2026-05-17/action_checklist_wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..689320045b8b83d146460aa834e517519820cc2a GIT binary patch literal 7426 zcmeHMdr*^C7QZ|yOiImaT@oxpT_5PGfM5&ABbIfc_yD!rA_fR35FCmDA|w&Wmstzw z@ajq-#1hzDfQTUpNqFV8U()H${?VCsoZ*ko3E%sMp10+(rxcJ zIZdVBZ{2!g;lv|V^({w-+t0s|yhJW)kmIi|4YoB-aVdlJT&=XDPF+(SS#Jlxw)nda z03=Xvo&~_?;x<4lLB9t+-W6s8{&T~+^#7UgSg--0dcQlQS7A(R0%59VY37;9pny8P z^@Hb1Y=QER1~~!J^wCdja0-ZVHk`1tW-#lh}<05m-xYr&(OojXiM-Hhc+L{ste zOgPK&_oFZdjl^VJG5;pTQrFd^13mU2VfJ1_L;k9?h`>?xq#k)hQO|li@mj9>AOQca zW+)0Hm&^0@s$Tf;kN{)S>rN^xaipiGAM*4R^B~jAGr9ya87!wxBf+trPl5q(Ig9|u z!r-0XZeanC)CC7;UE0`81jHag_}rVG2c5aA>-D%D;!c}{uL4|tqT0hB@NV2E2eg0U zt~<~eb4g|%R-B!k8YxYawYZl=mMkOVsljb?(B~lIyRLoeMXsMXn5Q>-DDH`=*YGRd zURr_ruHGU^ax1l?f08rKP2z3&*gwe8Lvi@6Pi zA1;yB5%9hJ&Bfep)=jgrYMlV+-|w*zpkh>LLB`d_E3tu`q9$m4L>lZ0QYtI{C)R1# zW`zeh=P<)}Ay7?;G)Ls`k}Qs!diZIG?(yrcRMYf~s3O-`WDmk4N_-UJT-lWRnF3lG zd;{Ym2d6)0LChz?>MQfZ&-+BqaD8I(3!zsJ=3YYv zSPD^I@vfy|I-QQB5br3IHt{&w3!_59HsBjk@+4z!9`fSm&wt;?eI*hw14+^+1qY%V zCpi=%9zQodJ>A4R^(lhJ*!?T9Bt3u7X1Y>22vebN5s75GiyxY140XI*j&3(2F*`du zKR-Xn&7HLeaJG89N%ozyn&NX!kI8?(rIVdE5U6Xobd~(v&9BnKXtEALGm6er!NzGht{=q73t&Ml!&x7gGeS2DTXh~>4{uZdlH_pGKa}t}~ zfNiv2M zIL`=gQl2oJX)@X*%vuCXmh>Hklr0-yee1ybkY%_|$3-o!xo-uodk(|QR+N$iUOZD@ z;9Yi|cr0IaGI%rSM~O83?RUO7>4C$NIl3g3)(;hRXjBIHd6_jhLPGg?jWVsB3O|y-C@j^3aH*k507KWYuZ<} zrkytYvs+pH?JHvPihfB~$7#6+<6;WM8@3?kw19&>`rzu)g95ld&Nzsu8op=&nFq@| zPc!+vxB0@iW7ytSq7VpKRwXfzt9+DS!;{yERE>?=DA9X8${b?tK^)f!ix zPtZFUlP9T$$u=U&GxlND%+rDI{YW`En>TMRoAMd+11ZMa3gqo>*+1Vm1b@!_a zhH^A^H37tw#Kc6{R45e6<;$1Rg|dhCG)zw*9KJ_8CTNmMmKo_QkZ}?A*U|X|l h&FXLJ&1MZl*nV^V@8d0H@Y^Pc_;cj(#?XYn{ud8?#}NPk literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-17/action_checklist_xiaohongshu.png b/automation/images/generated/2026-05-17/action_checklist_xiaohongshu.png new file mode 100644 index 0000000000000000000000000000000000000000..56f4e0e131668718041f713527f4170d1cbbbc09 GIT binary patch literal 10780 zcmeHNdsGwI9lksTMZv`i7$nd=id8fe6;KFqeNh*LwPmGYtwD+3ne$ng3?y&dhJ_ z@4Mgkd)y13g#<2LylOE3VClZ!?fyLg=Jx=w++k%3ugF3?ZUXQd$-dp6gr%0r2k*xX zN)fJ-j9*H*Rq}U>uKnK)?E7=2Ffyrj*TZG!S(H~5ZUyBJ9Q4?#T}alFc+=}v&-Uci z7JYWeee~sTuP-;yRCP^@#{XZ0>Ew!I`}% zvRc`OHE2Z!m;AjrQnOBWm7EhZcka4zs(rU3%0jwsoMf2i(-AetpjY%&$Ff)~`n?rK zCj_>Qc2|zbWHgo>@Z|bGwusIL-+&nGRpc(WyF^9Av&NNMZD|^Xl>OakW}K zJ2^hEXr}_unG7j5bS6jPP?gWVK3hXzcLfdYGG?vJs#QVEc_@^apSp_+DDKFt+aX6DW z*s;tE_?+@{OAt+I^nyz9frR_U@kmX_?eH6TQ@}kil>L^~R~rdq#s(5b@EQA` zgW*qS^qYaEThN#pg?K{+t(I=P2>6ykNc>l0jL1>@5ETQxaZn9&%NFc%&*q+BHKiZP zm_OHbzw7B_2iZME?_&eFx9#B_sv0+J9-mL6jJM0r8K(0ba0~*Swq=!kVq%~% zIo2_U$AKV}wUAeU1S<%5*&t0deZC%-;nV0>L?R^1IvbNmHbp%+C27r%G5~o9^z=oG_A}%hje=}(Mi-_=R4i#la7-fmL0hI7D6n+T22`)o;JW(y%f-cOFSWO}wg!7t zvSR@^M!Xs#Ep2W}tkdcA+SwEe1ul-|_%2J5%7Cv|ty6X|-H6R-_!Y-P^X;kA>ru4@`?Z0bqt0@34J@c-9=^uJ910 zCsEap$O}ko@LJqiciw(U8|f+)x)hoA842wSrNXI=c$p1(4a=@QrPtyD2-?28?)A1v zFOJxhis&?5$7-splSiJG$2bnw%C zAO=UF%<~y|!QdeNi;nLn)`JAk_Xc5Cq$vn2O0hcAH(yD|^f`5O8f00x1 z<;&p*54K8_2cqDx9%BG`oDZfxr5V1~(K1R996{Y*8z)iD4Yyyq)^#jCKHf3stKdhxq- z^pl0WHznOJVCZvb%nx*1lIHboJ=GU*#l!E=Go=4c21l7b(oEcC0epuS?AivIO8|9T z(v7`X0OgWI^J^UE!~j4nHwqt>+(e})^`XLuW~i*PJkbsOGQjmnJhGxBeu?|a0*?3W zF||@RPJUWZQZeHTr}m+>o2NP;J#KVpqV5AW5 zFG{_yeaY*V^i=dR0_f>eW@Xz?|LNq(lbM;BiHV6ZF)@xg5r<8|exdOPB~L0`PWU&_ z6dhC!G6gLTJNic=kr)x-RM=L{G6z=*AjtMpEwjQ^+Q8vi3GX#sQ`%b0G5PcBN+Y6||Kd{;Cnwl-8!QS59M-#WnH=2VRt$vUsRa0V~Mx)Wr zDijkFcbH6Do@ZVV`0G9+1j*k2j}S!jIW)UPbA7b(@xj817L7hINki*xX!Q{-ucF0f zwDfL*$}uX(Z!47V*=a$WRA|c%ZD67uTC_j;OYKjh84#KQp&1aG0ihWXngRVBI}y-b iZ0Mf8|J4ph#C9Dw-}=1a{3+OO2K)Ae?5^4wefD1$@a-M| literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-17/action_checklist_zhihu.png b/automation/images/generated/2026-05-17/action_checklist_zhihu.png new file mode 100644 index 0000000000000000000000000000000000000000..2c4bb01db0e05b86d06c37978da25ccaa8d0a323 GIT binary patch literal 5553 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%0DDo?m zq`cn-z-8O38@ts^9rYoivb;}YDn&K|%K3<~KT~jsHIo1;&Er-Np;utiZ13+>UqGIe OVD-w7pwh1>hyMnUD;)U% literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-17/cover_xiaohongshu.png b/automation/images/generated/2026-05-17/cover_xiaohongshu.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb84b791fd714a53e8bca34448aff702e2582b4 GIT binary patch literal 10126 zcmeI2e@s(X6vy8tioytN$j~XESvGV-k(r6Jl&Y{WbpxF)20?1uUT z&pr2hKKG_?4GnQ}_`m^zAg4`V1%C@ccDEpC&ic7;gO=e?pJE8|{%%w7h8>9)N1u{! zNa(u-YUPL_Hf5luly~H~&$jNY@>S@0K9YKF>+0|CzuTEO%3n)Iog2@{vTp;Muev#rW@YcF?E_htATM9wz&o8lqpfm5C1kKy9f0k@^0VW5} z+Xz7^%Qnn~AeWD<`e!+}9+;l8Jkpx1?22y92Uaz{v(h5JmQu7>_*{!y`ex73%j4>H zcCRBC9haYGdDz`vNznoyLHn%4Rh{eh`2utHIJmzl>*(ck^oq4FUqI2$0pt7FO5BZG z5-UE|8U@DHIN!2`i*xprf3`0Si>5i2MN^j_6U+YFtKO^(|C*7xOQ4tyM)$RJqve~{ zt~@^`mU&lOiK`BHRJsFmR;4-qAGYilC$#ujrXO<_7@w<^xEnVKWR=@M@v()K-dHrH zS{6-Ksl0I0w0LT-QX!WJGH=R4D-o%9Dz8^4gcsNN43-j|>zcUrn7ij$iMw%gkyUO3 zoi&-gt{|Oo?^&edty6j77RGpLFPy4N+(as#%FFsd!~qXVs~E(0qn$-HLFD5=bvay* zs%pau*wXfi?lD4L1UZT>4+4E79Hr?hbIedpr^UwRlQ`z`5Hu+~ca%gjk9;VsSe!h0 zjy&}njRo2{hGgC7uT)>sY#;?2-Hw_(=$az>{@$Sn0_RpMcjC_4OMJ~4i{ zm99)i?ahiX^mlZQG&GQDSdM{`vP%(ceMnjDSPeCsSWiP&m~@f~AK^hpph5pA^|V+s z?3FA`M;T*?AzsdSTE^10cfc5hsHzah>%}lKVejn8=+>zM#;Zl_=Q+;k7>%RvEXg4= zo@dl*dbfm4mnxsibG*>n`??17kHWKcU9w*?++j@{4N-@9M&=H+h`f@KW*OV~>@ts| z9q+*M$1?|pxzGDy!x1f&BXuv}m>;y{h~R6o@*;SWLSpw_RrYJNwXo{JqumC@P!XnJ z8r>#;pk_ZkI?+&s4wX#EM5K7dNObreG+?}$sx+6R<~2;zbl0<$S^h*OA}64VAz9O1 zGJD8`!k|=uIt)46aD`p+X~-5MRH9;Ko#qftQduqIr#XsP26A3>?|{LcqYt@hjKJVp z+@ZvYh*)BrfTygI$qHCVGlwH1P$K&Ws(BLQv|R`9ix<(JM0Qipaz;-r(u!}P=TS7)Sn>W^(Czoj`Le`B9Mf^2f~{yI2UMZRlO<0o;2=y z7uMLbRas1}BI$X0p|B!GjkHOOs_W*iY41N#wPzHGcm%p^HyuU>M)Jsv{c>3XTTc1} zbP{(+KkT0kt53(SHG7fkpO|YThHF6>FsVatlBx(ffTHy{5ghm&!jv-XqMq;FU{*;ZB+NmLe{4)ljJp5o zJwQSf*&ef{Ez0}=y1IYV-z!ntTC$xQx7_E$)B#^eYR{h%NCT)Q^} zJ*8^=<}NRgX)H^o_4QXKncD1gqkE0>03>@%8EiQ1`S-yH;?)6g&MPi?bvBiwNI~x+ j&?mR?MW%0UnBGWsJ%2KVOofjFbD>RNh6a~y+;iejQS5Pe literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-17/cover_zhihu.png b/automation/images/generated/2026-05-17/cover_zhihu.png new file mode 100644 index 0000000000000000000000000000000000000000..3247e2d07d59d245892bd1489b39a1088dd1a61c GIT binary patch literal 4892 zcmeHLX;4#F6n-u!6(v+>su&?!RGa|}$`Z9KA_%1|Vz)4g1X_wTh>cqb2__E_s8*s@ zrHqk9%RsQA7_1;d(ol9VWGEn;Nx-lvOMnD0ki7Ih=np!;RH%&o!QcDtJ?FdUe&?L; zyz~3_xvf~Xb{PagE8IVH`3!;<--n=u$+`={N<`IHaS*gp=I-M3MQD7F*dylV_Y6UQ zV2CmClY^2Fu5tRtqma`}?ET$$Slj&e6VG0u4;1gcYHSy(?Bu%nV_0N%syoIbjbd^6 z95K@8(3$o4=O0Jvta@x|x!c;jyVAivIFtPK_T`o7TJdSeq$YWvok}R-tAuvBndTLX zA!xVATz3Hku|rrS04IFg;tgQ!+IsNi+{#F>@@a$t1g-zb0DyIQXAju1#Yq=}3^t*M ze)-qUX*5F~*a$g4nzez0t{K39KzHkuXwn)80pK(H(CguO^WbajR8O{mkX_N6ao}q5 zVk7{2_=dRvKYmjie8qP9Qs89Cu?=tNNhgM|JwUkx7+>D9X9k@3hXJx74^0D;Y4~wi zdJWL$+Y@gMyrR`A8Q^oDntcrw z0{nR8Rb-kcQ-KdZX!VQ>?=(+3p`-_qTq(e~z+e{C9_tA~i9c7F0SlH9Q}ZKe$iom+ zx6N-2yp5-W6`@lT691n^9UDZ@uTPwqsU?fzzwTCxOuFlUVv-Ksg{BDxw*{!p~uzJ-fwe=y# z6>YZ1*7`7uV(UoM0#irL^<4hw-MG5CxVFNlC1f_qk*@4K;zp5ZU%&_lR%@LeCDbLZ z)d9^&Kt9!91cy}iiaj0r>k}_Xxm0;kwKXrLKi_$2Mo#YtRioPEh79M(N-hdJ;vbk~ z*zX*{qD-sq@+XMZa_tblt~(dOtie2^%I&FARSI5$Ja26D#L+@Iq_7jG(5k$H*Ne#I zr`7G=`Vwt&_O8So$Db2K4vImFy35)FW4!B?;0%t@$!0XcJ-4gSWNEghw?vsx@{kc< zxHb8R2zS6cti^(L$#JCASKXFkDm_{2%V@skjOi{t;>j9gC#OmT4;4nO?x87v`r#5~ z9XxQpB$eDa657niF`J#el1_`7D(#0O^ziidzG~Fd@ivv0^p#9|0VQa>uc6MH(KF*| zWpimvD_N+@#V@(W6%b$KLsX?3VLVhtQru@XnpYVlvwS9$jrqBcequ z-iSn_Y3jNDUZg?9%a;TX#(LS}vIo*L(83pQ#8ftm99$tr;=uH|<7DtKMHlYt)~dw;+4iBWEq7x;H;mtzg^eVT2Dow~1mROjxv}qpOIej< zMI4hi4fm47jOLuPVNyO-loMu)qXzkdGa-dpNOWJO9^MCLXnwVq`-mUXReR$+s((`f zohP{NAD}hLz9<1s!xyMalvDNG@z(Kh;6Voo%R}eOMdPEhup%>N{NP;vO_;SRPSY+j X(Fx}imqOtHGvvN^pUb^Hei45G-2$0q literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-17/data_chart_wechat.png b/automation/images/generated/2026-05-17/data_chart_wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..583fdcb016ad8439d85d4d8d29806b0552875fa5 GIT binary patch literal 9262 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 C3A9K6 literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-17/data_chart_xiaohongshu.png b/automation/images/generated/2026-05-17/data_chart_xiaohongshu.png new file mode 100644 index 0000000000000000000000000000000000000000..8a52fad6038ae62f4dff0a36340eb91a1539b4df GIT binary patch literal 12765 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 literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-17/data_chart_zhihu.png b/automation/images/generated/2026-05-17/data_chart_zhihu.png new file mode 100644 index 0000000000000000000000000000000000000000..2266f9b88a28061f5d48a0d7c69f35268edbd218 GIT binary patch literal 7216 zcmeHMc{tQ--@nHoPGWk}NhqfCv}m!Hh8#mtQHd7G+LI-f$j-0Mn_kGTJ-s^g<=e@4?ALjba@4oNv^7(we-|s!YZ{N0Y z)=!c@A%tda-n79OA^w{P@x=-8!IOZRePIYmu{Uqf-syF@yWv=ng>6((U%SWE1hT(} z*-bmiSoxjHet)U+YWV^D0q0vAlBvrS^n-+P<~4*XrU7~uxUdERevjXSZ!9sWDB!=A zE1;A>xEEFz=D@656`GWA{)P5|^LMu-Ms>W>>P+9NQBe`@>Quds%^r@YI!CH|ALwoM ztM2ixauC-&59a)4Z{9Ey{>Ls1ARr{WOj`&c0z;M`At8MN*vr3I2nR<0jSlZ<3+o_6 zi{&RGMBe@%^16DLWl?jLCi}I(%%9!d+y>cft&tBIatY_D=J`JEmDgt=^yr?%tm2F+ z^{&x@>WTLowK!uvRBGwj1taVpnc>nLrYJ(eCzT}WPL%rkhv#Gp{l++R4A=GDpJTX1 zE`$T|D7yKOHNV(EA%C#GX?%#%G}36~3jwm;bLNj_ot7oCN3z>O*?H}n7nd5c-oM|I zdNgco=NfX8Sg!*#o+8=*Fk9e74@nKM_%6C z*ZKTfLqo&Z*jN`c&2Z}A_n}4*`Mr)oN9GGamTLc_g8%=mhGU;C0m-_~jcDdvHA#@(J*efDz_pXV<^C`q4C+&kW0d#0X! zxG=VB6ffiX;nl5V`;V)t$38aQ$l71eYGUTDK}ce?wou8-Olp(XM85_z=2*9OA@h>= zXhm+LXZwStR)a-#)MQ6ngtnhip(_T(92t8hHI`4!AvC=eic&p!kFR`T>N%Th<@b>fwV8f>y=0|e z;|R5}*R`70#YW#nk866Sa7Lus{f6jqXVcu>k)ko?W_^ConYs0T(Z+RIW5cPNE#wjw z&1Jh$U27af&{J#4P;FdUkgOL>uB;Mp#= zW}^3f)$dl(R5NZgR-Y= zeTFaOgrTBM;RL?zyW)CB_n}7@WaFi+I2hu+l0?33xK!wjHu3L31@f>xsnP+e(U2PFwvBt>N{Uc0tmD+ zuB--~;wAfw<;j5q55Pf8#42xnc+h6(XxdocG}4ig8t(cucSMlG>MoeLQ^52Yp`@v| zlzBg^zDDtP=FSOQdrJ$LF^&BdYVuiQ2^MBfR^IK$=V{#>R5PrIaH;#_nS4`$eQ9O2 ze6-rwl^mwfNoQCOL6HDAOK94BRP;Fk}SdrgP#Ilr!>7ad!nIf#aS}(iSqk zX)BJ6egM7Y8A>7&^!Y@aqR(j5SDt|c_rZu{3gCy{3%Y^y3gB4mRv|#DOPr8I&>_4{ z5jLgJVln0(CgVY#0ldf{l7_OK>ocTphMvj4pOZbV4=VAdr zZayE$8Um(hyKi0>`aYFa48 z8HQZi-N~GDw}@4ClEMqV**)8a8#}%ubG1dW;yE?oV-Zq~nL`g20JW>a1EzApM+h3^ z9+qt1RRXbjbP?(WlmUo?={xv4zW*gr_w8;ST?iSK*#c9chXM(*aRDXk9wGeIgEnufLZ>$g|+Gf|!KqA#@ zf{y}t)WnoTb{V$hfIy@k5s%?mvS0{Dj^>4Q*REhZuf|NjX#rTqDla`jEAe_QZgcNz zgfsS!%utjt5d^1rM_{nKO#{%2Vq2yFaUhe%7jiKS%1;5D8)@1WO#dUQQx&NwlX3|Lq+9E4RjTUm&~B8 z#ivA#_k0GVO>E^F-UxX3! z+2-EVd0=B&a)30(lNE<&;dxH&y$6w{sX*p_bh(DHJ$6`f;c`6bD;ot{fR;QhCBq~| zn@ylITHk_3ck6uVwy+>%nexxaq{|K(jMm48V1D|duOP|We!`t}v7oJ-7Ppz=c63af zP32h_-+76ce#yaur#G~uyHHEaFl8oVpN0BXji08>7)?0JhJT z@#u9>{6tvb*`0B34y$69E&CMaULNmVdadz;-o{A#_J=3sA$ zm|^s~Y}OsLzqnLuyziNzmS)1>Ln$ZoqYvf|ysNxU(ItxYBuC2<|XK!{yECC(R;yy1$aDug-Plbxdo$rw@Mcp$fa23`@AVWap=X3 z>`!k`cUdYp|6PP)`~Jg+Q4X^ZMyx#Vfd!tgi9*DHD`_HD!(}GX6jruIPo8TrT^Mda z*$tje%z~jiIbkByMM7^@Mfq_$T-&SiTQ3+y`*dDoT2fM$ojR^{mBHa~hCaL+@E7xK zKEH9{Y&zloO_M;iD3>z1mWQMW98u($?Vfa-$F(L_n){0BjHj=&T}^K6QBqWVQd48Z zP9}m@t-rL!vF=k}i<)Ddsykf3?nu1K5FO6)=&mEVzH@VT&mZkCha1_bsBtlYZl{+k zN+MsRSxtmj`(C|j%eV3Q6O+KLk!vb1lLjiad`o7jJ6B4){PB5n`i0uCVAI&(TObT#CVEXW}|Dhrd-0EL(J5@cRD|0RHwS8 z6rESTA3{tRd^f*%o|SLk3p1w_$B?4)tM7+gxqiJXvv92YhG~YezOK=0>cp5@qu2hZ zLnn@3A{3kXw1t=qu^Kd}D7SB}J60U4p5;zMm z61m1vA24#Xtt_O+hnXun`Z(^a`oaFz$Au#eJ$4nBjJhuPhe~nEg2$c8-}{$7Hm8n# zT&*x~?V`W}Wpn3y0`+$tN8ZjW^cw9ejd3m(1{^pxbe))BE<5!HYc+6t`(#fty?{<5 z!2h{lHvS#9M}d$+TU2{o?ANsbR=v1efUn9(wM2&Acps-LO{Srm^ohDj7i(W65-x62 z?*KuF)}#ypJ}4B*=|3cfOA`#jUv5fG37Nf1E|I}s3)utk=zg-AjmkYp~-^vv|>{xIkC>2q`r_d`D9B=6n# z|Npjo@4NehgSFb0-CH0CQnNXG8U;b?e}bS5PdBXt-{^Vnya+)$jW(xGoR7$!;RYx6 zN^-_U?S|V}#nhIS+bUEGqkNAjPnVxvX11x?XLacbri&@K%Bu3~I=$!m4IB5`Ol3|G zudxx2roVRcbM?v(zWb){ib~+l*EU;HU5lP}-{%qM103F@J~o~YA%0;^FqFP}@4o(Q z{SJ?Y7QRSRC|rr1Uv7a3-)9PiuS$ZhUi}?{zJEa!t3Xgj?aS{V$mq(K&`m9)EztLg zT3tPxb90u{*2f`7yce8=hOS-9&Mb7g+4wcAhfuGA|Znb)okF$KHxjgI^G6yCmldthK7 z)7ZBy`&c>ghLsKkjVFkfGdsPT(#ty>71&KsWL!+vyN-B}a6;cM0Y=jSoActNvdCSB= zUG%|J7Re&oufi3B!N5lotstmvD_<_+;gr!OfokNBZSL|>kbPFLTYovrx6=BeG2%?6AZ?&6`G?GbK&y{DzIj5DZM7`bOKP=y)nBwM2+h7(Y%U>&S;--*{{ z@rL1HIyyQ6V+b;|S?Y@Z*D)@mK(IcW`_R!c({dfeJRQ=YX8L;y)*QD=_kumUcG={r zKsRkzIsZb^uTBAign7ETF(3TV%l*@R<#zDiOE{h;eJ=v8Qyaci=~;j4Tf4Nky}iAD721e!BFcflt&7Gjim{6F_+KOsb64KKzOMs5 zbq8z9f_OArN>^WB_2q`!eii-Q-C*KrhtTvGcHX)8`1n`J+6Xyd zWyYrIeODz?DLT0ED@Vw6<#K~Mao2hcbL^XM(+fT7WFMLhU|L##oIgMzj*X3Vip_%^|LlE5 zp_=!qG0UR8bDU*$*JJYp`f zN!)k&-=2bU6=CrHM~tGQqf2O$Pf)gQZk(PXH#<0|GSKZg_VTgIj^(O853+9N?&8(p zFd-rHf1^^KiJ(+?#eA-E(uE-#iq~++GMPz6%zj5HyiodEO-=Oj!VDQbbKapc|Chrm zjQ-6)H5)g?WC2y2Px$oY3^)h`4V-hdki4yv4sbd;us~{lq&n9rlw{UL`$8Od$jxa?~8X0cyIk$??TyC8$2FgDTEdNpnMi*P%~X7UzQF=O%)+!ohhK+E(Pb0BM_zm?|vw9uA$MAIZjmTjt#ZO z$8odVo}Ql3=5$Q|v+G#w955?kguN1u^#IodrnR&F+jRHCM~;N{d8ezXsc9d(@jLM! zBNl&kf5m1ka=C9i$s};qW$Zog70a)fk}^>RhSzBx^QN+7r%7^uCxsdjyu`YrlWD`o&M4}H8nMw`mW-!)YdH1k_)9H>|BKyM3ZI|>+z{O&LtlBX8o#FE$VoDs`}x{ z%tw~Y8chAIFYMCv3Q9^!y8RI0)8A3D70;ukvvY#s72KruGjFUq7vK~opRgt@l;_aHEBFWPV3SN2}?exi^b=vD^nB zIu#W@(_axQm!Vi)6g!t<_r6sLAKUNP{>|#O7pD7wcu&pD1YTbqa7uRPro>Jd_ry>D z_51;h_IS(37>8ncrC6BA2INd8bHeLUR+cq;{$*=Ih}V@^pU}QCZwm_xFvX9WnpSW2 zjG$Dg?v41BN(IX6`QzQc0WpYvS_rp|{MO-yJD8f8N`$bs9E1rXs^I*_jT>#@K>5#| zJ4a3_eRA5Ksbzs3V$RKB0ou{%!TNaB_G_yTzHasZAUgs*0VS)AoVO}@R#6eiqg4>g z0Dcp;YNqWpF^zQJpSgK4v$HN*YGP_C1Xklrl`Jfzq1vu(XqwQN-G@!K`0!fC(OmQr zRINb+X^xkP!=`$Q{#$yJl9E82h3j(M%}gh)tgO0xA;|N=qnjA^dI(G3{>epqA3qu7 z+c?sA4>$cz)N>HD1Vr>ba_Mhp?g4omtVL0~gJ^<0peD={DnokjK;_c(-PB>0wSL`C z_F!s70N6YpuiLMpv^2Q&(NWDyp`CYKx~zRZJjyVN`VHiIAzm1*TXzEl1OvRlj-BtQ zWVz7GuD*F7lgV6*O!~|6wSZh`FP-vSaeL|+$BX;buR=CKP8q-r;tlAFBa_`!(;#ky zQZ8-JMKa3ELmF{w!Pv^xIK7RZ-3qy}&5#hj1cJJPOfHK`*G35nYz5w?YbWxDXrFO@t#wQOB zUz|-O^@AKM2cp~xXa=01uC7l1;=1hPfGfIIF=3eiCCzxhkLh*eGCfpfo5}nRhebuB)4ybxCg2hJj>W z+;d=4$T{YE@O=5oFR8XKuT~pJjrdv(PF9bTY9^mhZQ*W}0fLE%cOXnnNWfe;rHEg` z7UzaJK{YdN2w^}#fZl&)564%A(-7qRIo81vZb-XD?ox}d`k%}U z&CR($p?iCAb3^q`DFUa4MQ_|bf3REy%2r-J-&%72y1ze%7UmE41_5QO<{@*zS5#Zp z%UWYu(;f`>MzcOyNe6+6zSwAxOh1Q=8twNlnVFo7nzt=-UY_=xZ{SAI2 zSf9aH>GavHmjB5$*=Mvbu=b>D&H8+IwbszPhTb*we)_x5Ydl@!=^9Vhc)GR__}tGC z*OYus$^RcHdCOa|N?Tg~ayUU=prn`bAERM0V;lw@HwHVJj#31U;t6s(LpE-zuH=!z zN@^9XM)n~^m#VWoxB*7d*b0szlh|4_??TyX>9J4g#fphivg6)}C&U{+i|#X4M8S?o z6ygIicD_MIE1(c3v0+Qyrt-d2SoD0p#?10?EsM*joopwptc<~CIE$Ip1U$DnXK^do zL*LUR;D~#Vc;MxQ8Y{gTu}in@lsv|D+Spru4&y=ymrZyo6)H#2IQs(XLCQ9|b0F=h zs0fLdF-d3A4fH5_w3y)%8Oc&K+SZNU3>o$%u@U4}cGjM}BP%{wG&>=cm5_>J!JFKW z9g?1L1)qsjqnkXRE33pPWe6}=|L#HgywJo_$wyvae5j0>(N9;1rql1BgKB>*C3c0L zU^h1y{FXXGQOold@%14xz!Oz3r?{QQH z!bi`}R4{mT#q;>wAku)lZMCRNqgW}aqY!s#w)~;)l65Fx_n-D=2iGS$DNlkI14zM9 zzR#3rl~dMeWe3G{0VaS&1P;CB`&aZ1#EgtIYvRXsq%rtm9vU4X6&GkK(!Zd_f{GHt zh6E@U=E?Gyd(0X5sH_k6u39NVvD)M*XrzDrT?0)SSq0jk11=wmmJp75bS!e21LRl9 z3Q$z|=$HInk_>~Zh?UI5{y4s@V4Et3N#~T&&ClR$=Qia@_$bn29;OItr=eG7?{=1i z9~XQqz}uw6#NXQ?i22P?hrv8m$n)^0xAXjeeBotGsRAR0dUTO|z%e}p*_?4WU3}8> G)_(vmd4kvg literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-17/equipment_xiaohongshu.png b/automation/images/generated/2026-05-17/equipment_xiaohongshu.png new file mode 100644 index 0000000000000000000000000000000000000000..05dc7a6f9142b982d3eaa5605e39c3aee1c0b8ad GIT binary patch literal 12621 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 literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-18/action_checklist_wechat.png b/automation/images/generated/2026-05-18/action_checklist_wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..689320045b8b83d146460aa834e517519820cc2a GIT binary patch literal 7426 zcmeHMdr*^C7QZ|yOiImaT@oxpT_5PGfM5&ABbIfc_yD!rA_fR35FCmDA|w&Wmstzw z@ajq-#1hzDfQTUpNqFV8U()H${?VCsoZ*ko3E%sMp10+(rxcJ zIZdVBZ{2!g;lv|V^({w-+t0s|yhJW)kmIi|4YoB-aVdlJT&=XDPF+(SS#Jlxw)nda z03=Xvo&~_?;x<4lLB9t+-W6s8{&T~+^#7UgSg--0dcQlQS7A(R0%59VY37;9pny8P z^@Hb1Y=QER1~~!J^wCdja0-ZVHk`1tW-#lh}<05m-xYr&(OojXiM-Hhc+L{ste zOgPK&_oFZdjl^VJG5;pTQrFd^13mU2VfJ1_L;k9?h`>?xq#k)hQO|li@mj9>AOQca zW+)0Hm&^0@s$Tf;kN{)S>rN^xaipiGAM*4R^B~jAGr9ya87!wxBf+trPl5q(Ig9|u z!r-0XZeanC)CC7;UE0`81jHag_}rVG2c5aA>-D%D;!c}{uL4|tqT0hB@NV2E2eg0U zt~<~eb4g|%R-B!k8YxYawYZl=mMkOVsljb?(B~lIyRLoeMXsMXn5Q>-DDH`=*YGRd zURr_ruHGU^ax1l?f08rKP2z3&*gwe8Lvi@6Pi zA1;yB5%9hJ&Bfep)=jgrYMlV+-|w*zpkh>LLB`d_E3tu`q9$m4L>lZ0QYtI{C)R1# zW`zeh=P<)}Ay7?;G)Ls`k}Qs!diZIG?(yrcRMYf~s3O-`WDmk4N_-UJT-lWRnF3lG zd;{Ym2d6)0LChz?>MQfZ&-+BqaD8I(3!zsJ=3YYv zSPD^I@vfy|I-QQB5br3IHt{&w3!_59HsBjk@+4z!9`fSm&wt;?eI*hw14+^+1qY%V zCpi=%9zQodJ>A4R^(lhJ*!?T9Bt3u7X1Y>22vebN5s75GiyxY140XI*j&3(2F*`du zKR-Xn&7HLeaJG89N%ozyn&NX!kI8?(rIVdE5U6Xobd~(v&9BnKXtEALGm6er!NzGht{=q73t&Ml!&x7gGeS2DTXh~>4{uZdlH_pGKa}t}~ zfNiv2M zIL`=gQl2oJX)@X*%vuCXmh>Hklr0-yee1ybkY%_|$3-o!xo-uodk(|QR+N$iUOZD@ z;9Yi|cr0IaGI%rSM~O83?RUO7>4C$NIl3g3)(;hRXjBIHd6_jhLPGg?jWVsB3O|y-C@j^3aH*k507KWYuZ<} zrkytYvs+pH?JHvPihfB~$7#6+<6;WM8@3?kw19&>`rzu)g95ld&Nzsu8op=&nFq@| zPc!+vxB0@iW7ytSq7VpKRwXfzt9+DS!;{yERE>?=DA9X8${b?tK^)f!ix zPtZFUlP9T$$u=U&GxlND%+rDI{YW`En>TMRoAMd+11ZMa3gqo>*+1Vm1b@!_a zhH^A^H37tw#Kc6{R45e6<;$1Rg|dhCG)zw*9KJ_8CTNmMmKo_QkZ}?A*U|X|l h&FXLJ&1MZl*nV^V@8d0H@Y^Pc_;cj(#?XYn{ud8?#}NPk literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-18/action_checklist_xiaohongshu.png b/automation/images/generated/2026-05-18/action_checklist_xiaohongshu.png new file mode 100644 index 0000000000000000000000000000000000000000..56f4e0e131668718041f713527f4170d1cbbbc09 GIT binary patch literal 10780 zcmeHNdsGwI9lksTMZv`i7$nd=id8fe6;KFqeNh*LwPmGYtwD+3ne$ng3?y&dhJ_ z@4Mgkd)y13g#<2LylOE3VClZ!?fyLg=Jx=w++k%3ugF3?ZUXQd$-dp6gr%0r2k*xX zN)fJ-j9*H*Rq}U>uKnK)?E7=2Ffyrj*TZG!S(H~5ZUyBJ9Q4?#T}alFc+=}v&-Uci z7JYWeee~sTuP-;yRCP^@#{XZ0>Ew!I`}% zvRc`OHE2Z!m;AjrQnOBWm7EhZcka4zs(rU3%0jwsoMf2i(-AetpjY%&$Ff)~`n?rK zCj_>Qc2|zbWHgo>@Z|bGwusIL-+&nGRpc(WyF^9Av&NNMZD|^Xl>OakW}K zJ2^hEXr}_unG7j5bS6jPP?gWVK3hXzcLfdYGG?vJs#QVEc_@^apSp_+DDKFt+aX6DW z*s;tE_?+@{OAt+I^nyz9frR_U@kmX_?eH6TQ@}kil>L^~R~rdq#s(5b@EQA` zgW*qS^qYaEThN#pg?K{+t(I=P2>6ykNc>l0jL1>@5ETQxaZn9&%NFc%&*q+BHKiZP zm_OHbzw7B_2iZME?_&eFx9#B_sv0+J9-mL6jJM0r8K(0ba0~*Swq=!kVq%~% zIo2_U$AKV}wUAeU1S<%5*&t0deZC%-;nV0>L?R^1IvbNmHbp%+C27r%G5~o9^z=oG_A}%hje=}(Mi-_=R4i#la7-fmL0hI7D6n+T22`)o;JW(y%f-cOFSWO}wg!7t zvSR@^M!Xs#Ep2W}tkdcA+SwEe1ul-|_%2J5%7Cv|ty6X|-H6R-_!Y-P^X;kA>ru4@`?Z0bqt0@34J@c-9=^uJ910 zCsEap$O}ko@LJqiciw(U8|f+)x)hoA842wSrNXI=c$p1(4a=@QrPtyD2-?28?)A1v zFOJxhis&?5$7-splSiJG$2bnw%C zAO=UF%<~y|!QdeNi;nLn)`JAk_Xc5Cq$vn2O0hcAH(yD|^f`5O8f00x1 z<;&p*54K8_2cqDx9%BG`oDZfxr5V1~(K1R996{Y*8z)iD4Yyyq)^#jCKHf3stKdhxq- z^pl0WHznOJVCZvb%nx*1lIHboJ=GU*#l!E=Go=4c21l7b(oEcC0epuS?AivIO8|9T z(v7`X0OgWI^J^UE!~j4nHwqt>+(e})^`XLuW~i*PJkbsOGQjmnJhGxBeu?|a0*?3W zF||@RPJUWZQZeHTr}m+>o2NP;J#KVpqV5AW5 zFG{_yeaY*V^i=dR0_f>eW@Xz?|LNq(lbM;BiHV6ZF)@xg5r<8|exdOPB~L0`PWU&_ z6dhC!G6gLTJNic=kr)x-RM=L{G6z=*AjtMpEwjQ^+Q8vi3GX#sQ`%b0G5PcBN+Y6||Kd{;Cnwl-8!QS59M-#WnH=2VRt$vUsRa0V~Mx)Wr zDijkFcbH6Do@ZVV`0G9+1j*k2j}S!jIW)UPbA7b(@xj817L7hINki*xX!Q{-ucF0f zwDfL*$}uX(Z!47V*=a$WRA|c%ZD67uTC_j;OYKjh84#KQp&1aG0ihWXngRVBI}y-b iZ0Mf8|J4ph#C9Dw-}=1a{3+OO2K)Ae?5^4wefD1$@a-M| literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-18/action_checklist_zhihu.png b/automation/images/generated/2026-05-18/action_checklist_zhihu.png new file mode 100644 index 0000000000000000000000000000000000000000..2c4bb01db0e05b86d06c37978da25ccaa8d0a323 GIT binary patch literal 5553 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%0DDo?m zq`cn-z-8O38@ts^9rYoivb;}YDn&K|%K3<~KT~jsHIo1;&Er-Np;utiZ13+>UqGIe OVD-w7pwh1>hyMnUD;)U% literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-18/cover_xiaohongshu.png b/automation/images/generated/2026-05-18/cover_xiaohongshu.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb84b791fd714a53e8bca34448aff702e2582b4 GIT binary patch literal 10126 zcmeI2e@s(X6vy8tioytN$j~XESvGV-k(r6Jl&Y{WbpxF)20?1uUT z&pr2hKKG_?4GnQ}_`m^zAg4`V1%C@ccDEpC&ic7;gO=e?pJE8|{%%w7h8>9)N1u{! zNa(u-YUPL_Hf5luly~H~&$jNY@>S@0K9YKF>+0|CzuTEO%3n)Iog2@{vTp;Muev#rW@YcF?E_htATM9wz&o8lqpfm5C1kKy9f0k@^0VW5} z+Xz7^%Qnn~AeWD<`e!+}9+;l8Jkpx1?22y92Uaz{v(h5JmQu7>_*{!y`ex73%j4>H zcCRBC9haYGdDz`vNznoyLHn%4Rh{eh`2utHIJmzl>*(ck^oq4FUqI2$0pt7FO5BZG z5-UE|8U@DHIN!2`i*xprf3`0Si>5i2MN^j_6U+YFtKO^(|C*7xOQ4tyM)$RJqve~{ zt~@^`mU&lOiK`BHRJsFmR;4-qAGYilC$#ujrXO<_7@w<^xEnVKWR=@M@v()K-dHrH zS{6-Ksl0I0w0LT-QX!WJGH=R4D-o%9Dz8^4gcsNN43-j|>zcUrn7ij$iMw%gkyUO3 zoi&-gt{|Oo?^&edty6j77RGpLFPy4N+(as#%FFsd!~qXVs~E(0qn$-HLFD5=bvay* zs%pau*wXfi?lD4L1UZT>4+4E79Hr?hbIedpr^UwRlQ`z`5Hu+~ca%gjk9;VsSe!h0 zjy&}njRo2{hGgC7uT)>sY#;?2-Hw_(=$az>{@$Sn0_RpMcjC_4OMJ~4i{ zm99)i?ahiX^mlZQG&GQDSdM{`vP%(ceMnjDSPeCsSWiP&m~@f~AK^hpph5pA^|V+s z?3FA`M;T*?AzsdSTE^10cfc5hsHzah>%}lKVejn8=+>zM#;Zl_=Q+;k7>%RvEXg4= zo@dl*dbfm4mnxsibG*>n`??17kHWKcU9w*?++j@{4N-@9M&=H+h`f@KW*OV~>@ts| z9q+*M$1?|pxzGDy!x1f&BXuv}m>;y{h~R6o@*;SWLSpw_RrYJNwXo{JqumC@P!XnJ z8r>#;pk_ZkI?+&s4wX#EM5K7dNObreG+?}$sx+6R<~2;zbl0<$S^h*OA}64VAz9O1 zGJD8`!k|=uIt)46aD`p+X~-5MRH9;Ko#qftQduqIr#XsP26A3>?|{LcqYt@hjKJVp z+@ZvYh*)BrfTygI$qHCVGlwH1P$K&Ws(BLQv|R`9ix<(JM0Qipaz;-r(u!}P=TS7)Sn>W^(Czoj`Le`B9Mf^2f~{yI2UMZRlO<0o;2=y z7uMLbRas1}BI$X0p|B!GjkHOOs_W*iY41N#wPzHGcm%p^HyuU>M)Jsv{c>3XTTc1} zbP{(+KkT0kt53(SHG7fkpO|YThHF6>FsVatlBx(ffTHy{5ghm&!jv-XqMq;FU{*;ZB+NmLe{4)ljJp5o zJwQSf*&ef{Ez0}=y1IYV-z!ntTC$xQx7_E$)B#^eYR{h%NCT)Q^} zJ*8^=<}NRgX)H^o_4QXKncD1gqkE0>03>@%8EiQ1`S-yH;?)6g&MPi?bvBiwNI~x+ j&?mR?MW%0UnBGWsJ%2KVOofjFbD>RNh6a~y+;iejQS5Pe literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-18/cover_zhihu.png b/automation/images/generated/2026-05-18/cover_zhihu.png new file mode 100644 index 0000000000000000000000000000000000000000..3247e2d07d59d245892bd1489b39a1088dd1a61c GIT binary patch literal 4892 zcmeHLX;4#F6n-u!6(v+>su&?!RGa|}$`Z9KA_%1|Vz)4g1X_wTh>cqb2__E_s8*s@ zrHqk9%RsQA7_1;d(ol9VWGEn;Nx-lvOMnD0ki7Ih=np!;RH%&o!QcDtJ?FdUe&?L; zyz~3_xvf~Xb{PagE8IVH`3!;<--n=u$+`={N<`IHaS*gp=I-M3MQD7F*dylV_Y6UQ zV2CmClY^2Fu5tRtqma`}?ET$$Slj&e6VG0u4;1gcYHSy(?Bu%nV_0N%syoIbjbd^6 z95K@8(3$o4=O0Jvta@x|x!c;jyVAivIFtPK_T`o7TJdSeq$YWvok}R-tAuvBndTLX zA!xVATz3Hku|rrS04IFg;tgQ!+IsNi+{#F>@@a$t1g-zb0DyIQXAju1#Yq=}3^t*M ze)-qUX*5F~*a$g4nzez0t{K39KzHkuXwn)80pK(H(CguO^WbajR8O{mkX_N6ao}q5 zVk7{2_=dRvKYmjie8qP9Qs89Cu?=tNNhgM|JwUkx7+>D9X9k@3hXJx74^0D;Y4~wi zdJWL$+Y@gMyrR`A8Q^oDntcrw z0{nR8Rb-kcQ-KdZX!VQ>?=(+3p`-_qTq(e~z+e{C9_tA~i9c7F0SlH9Q}ZKe$iom+ zx6N-2yp5-W6`@lT691n^9UDZ@uTPwqsU?fzzwTCxOuFlUVv-Ksg{BDxw*{!p~uzJ-fwe=y# z6>YZ1*7`7uV(UoM0#irL^<4hw-MG5CxVFNlC1f_qk*@4K;zp5ZU%&_lR%@LeCDbLZ z)d9^&Kt9!91cy}iiaj0r>k}_Xxm0;kwKXrLKi_$2Mo#YtRioPEh79M(N-hdJ;vbk~ z*zX*{qD-sq@+XMZa_tblt~(dOtie2^%I&FARSI5$Ja26D#L+@Iq_7jG(5k$H*Ne#I zr`7G=`Vwt&_O8So$Db2K4vImFy35)FW4!B?;0%t@$!0XcJ-4gSWNEghw?vsx@{kc< zxHb8R2zS6cti^(L$#JCASKXFkDm_{2%V@skjOi{t;>j9gC#OmT4;4nO?x87v`r#5~ z9XxQpB$eDa657niF`J#el1_`7D(#0O^ziidzG~Fd@ivv0^p#9|0VQa>uc6MH(KF*| zWpimvD_N+@#V@(W6%b$KLsX?3VLVhtQru@XnpYVlvwS9$jrqBcequ z-iSn_Y3jNDUZg?9%a;TX#(LS}vIo*L(83pQ#8ftm99$tr;=uH|<7DtKMHlYt)~dw;+4iBWEq7x;H;mtzg^eVT2Dow~1mROjxv}qpOIej< zMI4hi4fm47jOLuPVNyO-loMu)qXzkdGa-dpNOWJO9^MCLXnwVq`-mUXReR$+s((`f zohP{NAD}hLz9<1s!xyMalvDNG@z(Kh;6Voo%R}eOMdPEhup%>N{NP;vO_;SRPSY+j X(Fx}imqOtHGvvN^pUb^Hei45G-2$0q literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-18/data_chart_wechat.png b/automation/images/generated/2026-05-18/data_chart_wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..583fdcb016ad8439d85d4d8d29806b0552875fa5 GIT binary patch literal 9262 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 C3A9K6 literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-18/data_chart_xiaohongshu.png b/automation/images/generated/2026-05-18/data_chart_xiaohongshu.png new file mode 100644 index 0000000000000000000000000000000000000000..8a52fad6038ae62f4dff0a36340eb91a1539b4df GIT binary patch literal 12765 zcmeHNc|6ql|9@+gX>+v{Hj!_;$yR7P$k8~8%3`DKa*XaIN3I;1nPS;C(e5fDM=NY8 zN>Rj^vQds46`@Sjgf#AZjQPFaGqfK&MrwQP{=Sdj@2}m*XY~2J->>)cdc8iMFSqRQy6h+Gyj+>;lJ*=q8X!j@dBe~cW3|hi=p*z3a960;1;%?(s#9X z4X$3LT4&LZ(YPbR0N5G9`lavF{K=d=_^8dRKzp{TwWf1jwnt0lX^Xv_j^0}5 zR2^MdQJLa$vHBF7+v4(?E{xM#T5HljqM}2oH~?j0ZryTsuUOqw-F{<#*Xt6v z1*?pMDhb^^GvVUpO3LTQ!$SzJmDl|SVv2Tax&gfW-7!f3=7r6J%fNqy7XrZG|1bY* zHQAKf3(Dl8JatL6f#ky+4-Vr&BWEz#yw0ss<%EgKBAJ{XVs1}fx-kw=^zjA}r~NEh z!(DWCmA7eXSXv`3hDacnRS$vl5$zj!^}Z7-M&uqHxH))fRhSP_xBGH zA1=scKbk`yzBZq9WgBU*vz9!Nk^IoRZ%b^y#FGVZP4!-Zl6%|P(FCtO2k44US@B_M z&IdSiL&*byH%TrXQM1D>R9TrOoc;&C2P7aLaG%2)FFM06oK-|(v=cb_Hwj0&?&bQj z^2y|TX~f}h!r^8*vzpY}?0iuhDvRj1k_L1qua=-zpN2&aoGP+*M}QQ0-xK8np^$sH z12q{}bPe|{H?`a_oulFTyk~3c13#($c{NVe=)mB?Sc1%^V-l=1_jvUD?c|5P=*dPB`&m-xpxk6`8Cf$Q9#{MhE~@{v5)0t{WG`RZ;tRBrF2cwF)W2By>7o}u z?5zm-%USb1W$k6DES-iFZ{^(%su!- z-obzU2@ig|9p~CAUz4O-(cyBBKu_Y z{NDxFB+~o`GRd1M>~}zro_2~Vfo>+P`{?bJbaum0nLbk{t9`2C_MBG@7KQ$$tB1-$ zg3z@qGYDyK-V!hA&IiTcN>0(ESF+i}%bH!;D;jNbeK|4ax}HUEzUmv!J4!yXyC9zI zG9W`9s(7g8bc-32Ox^Bl1R~DP6Q)pY{903EblP576o%wzzh04JQCPR7Z@8wE_-J`a zgXL_dpNBJ3NXTw8gl@OvouR1-VcH70EiCOS&hVa_XDrS{XSi3}o0zDO2VN>#XYKZ2 z3;;V%>#uPDmo?BpXFdK(gOL5Qyo$ug3@3Lsny0ew7t$|l&H}|T=;`bS^k*8+&B84< zt7Yzflwul0KE!!ET&po$ZYsm>l~azk_0R$lOJE1==R5FXQA;c<*`hGxx%m>Ct2e?b z&h$PkA=)zVc5z!nOdcAbX9##dR3Le`D2O8gE;4x zFk48B`$W+jt%K?5#=tHEu9|i=GUM!khH1)t?e?d+c;I%D+w5UG?!sjO-37~*LQ7aW zi7X-jyB~-czFrb39*~Md3Z;(!gb@#}3zYdeLW7|k<%vz2lCa%YYP%T-Z76k=5Lh_RcBv1X{g#@>aDEiuc%6q@xhmh=ptW@6K z^f5&X}X;l@6^knEYH6Yr|Q2i8d_r~sOL#AVbhfNv?tFlqB9BxvTI zFjA%oY_b*v%)4NYFb^m*5ABwIH^*VX{9x!7ArG=1yuTM?q)P$OWG*3Pu~?aCBE--Q z80856O84QLLmOe{wA(2Fos-RsAD1B7An*5I(FmKOr(FF(siW{jGsHtx1y0YH{~wl0 zRwQL`v&@g5U{~+>i#Hf#r20XcD#^>i0qWnFz#(B?ibUaEz}{nsr-R%ZxHc@S)4%!J;Vy|ESF^Ma-u7{XH^*u;1f@uW#{sLo9ok5Xsaz}w0 zbEqM(wl(uja?9|r+U9fKb&*{u^c-?&lEUphJ-_%ml;TsBp)}Y+^`Z>+QnUK1NW+nd z_OoNt_O~Vbny74nX0BYSof($4t1ZO)WUkjTnF0D&=s9VR&ZufT+N&_s$V2`n;g?kt z7Dwd9g}D~IJnTnq9Hi&Itt{-iQ+{g`9I6?;#srHa%q>pT{=U^74@xB3ylymXYB%Dp zJb(Bi`=;|ye3a@SbD5b|PFSZh*^Tb5ZL?up&Z}QcZ?Ak3BOYP^VNS!}NXT*P3a>iX zM$+Q-az35A4MDRQxDDkk#=yAVaTh3CKM8wHjgBL#hKm5obS30V ziqb-Q#;eev9?sSz0p*a35746Vte&YeCW zuyN|+zpNG=v#dzagY&p|kwKBr0%yI)`Pr=VL5c&r3HE`J8772|ooM!X=`7mM8=-=Y z4B%0O4Yqw*C)6}$TrCJ>tXBd}3;BM-`nHo?!l*?~S_SJ6E;P|NbMIcvsbiX3?5iy( zSpek6!Nj3HgRkT;bi*X(c)%QvpAk>heMsL4N6*7Iho>G!xeF3rhrd(fS zLc4J-TF5>`l!d`T6k7#u&fDSozS>|?%BZ6sB`5ZjfH7d_+crwbAUHx38K#`-+c1Upe=d)Kjy z#cm?J5U4M9RuZO!z#aise?$h%B=lq^EH?HY7~)_qa}!Gh&pCn7h^D};=Ao@>VYkYw z5SP7&+TEABQ|9r68MZH)T+;Kb6$%Zcw@ZY47C-d`#8qzzXnFBfaEcx=W`;gLzWX9d z#Xx<`G=#_RzF>nfK!a7Z+j`P}2PiY;gEYVC|0!MLY676i-auTsgHf-MqyGN;G9dvE zaJ?uB47)Oxf~Eyr`^nrTt#t>h4qRBEND$b#4a&fm6G8^c0Kw^V;din%qNyqPaWs{$ zuqYyfV0|lJU^jbI1*fPlR*RiR3HdyryNEah)2;#b+%TBp4!5_^Sd#qZ&*G^HLj7-J9%PmJxV&Sf)Z zmR^WX#HiG8!C1S2sFFQ{;Ik2Xx;(5Eyz>%Xp+kZz6oUvK)Gv%|WM+He@kK}Yw_Hyd*00h}dF=STR2Jt;gW zm>*F7U3Ps`Y-m@%fIVu{0v=#dfyQ8q4}MrX;}coFzvfO@o>!p^E&C(#)oyMJ9B~%8 z>3crGfJ7#wKxB@ZJ1T4aDs2FwcMI@AsHI~w6>qU9xX?7c3{~7I7_jh^0}cxPTz^;& zJ?k?*%5v$-iD7ZVQsZ$gr2 z1PTG#A1MA7h5iKM;`!q*N)vXX+e>8($EZ0ULQ!mR-GyQU{?E4#|ADbHQgN1$o(8g| z@xBRxVc5>gb{+0LaPT<^Nj76biQ%gn7UO7^2h@*G=;0WRVYZkDT_g{wZU(jYAhb8vn$Fnf* z;7JG>2_A(4+Tre6b#@gI*H-&6DX2Ti9dI1pv;g_|*ikAE>_~nqq47lcTCbcM&5PgY!;pS^xIDfN1q2`cQzzgg zTA9FvZKc5BJlAQ&;e?BFmN%YDgYYKRKzvJ$oEvu$SOReMDkW+P#f%s9vA+q}G3GMY zNP*PvDyGbtqtC?Rn41)^;{@LAq4m+OS}&0Rb5UP0`u!t!Vt_K$n1%ZKk5}LmNnlS3Riv#CfAW)yd=>}rUs74(-wR*r6 z&LGy;!?PUQhx;ct#f{7WcoG4rrLH5A2j?&!hC9Z+Zs=eR&2a9{l@s(rQS=Y2obb?u zhJE>Wey}VPI(CZ0UDfn@0VG4O?PyJzf#OKnM)QcvI1T{gOr{RBUH(=~fb99pROn6Y zrC3OePjhSs!1vde>}xZ6MWf4?LzKaar$qX9@Nk3F8XDMyRyF?fkgUYjDjaFQD$r#(?4r}@>d z=EMC31gcj@LygoO!pwm7z{<@_Q;#rj3vtFUX+Xe=>E?3U>`ktaQp``Bk)A_<7$-BtQ4$`T91D%Xi_G|Ma4N^S|eyHmD)kO0Q z{BXEonAJv1Kk#HD!RhJMdTsi^!zDMLrTO-?!jEz*=SXR$gs@B0SFGqcTYBX687rrO zXN{}-n9k(ebrG~f9>LCm&CSi1;_qDBx}SDUr}O^&Ew>56T@SU} z7AL^6NzKu4I>M@@+q!Lj;k7DX!%&5hz7HSk*IRAnoReM?M(aR#OE3u^ZVw_@U)#A> zCBd=wb{mzI80BfwGx zyO66&0UF)ikIZAeU!S$Q=@cCkQ%CjlRbku@owM?wS8Z*bXaC_C_los1WK@UBLrFId zR;OK>kK1(^-msG#8mvGyd!0YW`Ld3xi#2*|XOSAYHM4Q`zytFb(qQwxbBFQ^R`*`3 z>AK5#bi>ig7f#Z_*ZfrHqcc`&`E>FB(qD5u9oTr3>h>)rQnT$NA+~h8ikBsXRg<$j z^5=-K+(L#3yVs#2$(B{`i}icBs`0XQrfY46Bjk)jt!J-d)fKD5%=9Yp_QuETRGl5D zzfg~xI%D=Zm%Gz%dos0p9$T90_B^&Id`qCRp0_FVm+sgEhr>|ko$mcK3#!QK#&d3i zY)$g;&{2-O(OM|lz~A@H#U#~RFOKDz5B9JQy&wc_oCzB~8pYP9IRO%bQ52rrU16e@ zJLF1Klu*#od>U)nk=ypFLzMe;C>q0ImS)wNZjI*+gFKlv-)}g}E)Y@hdXd$VGUqK^ zKxBraLn%ay-cx@Oj&gqxn!@>HsW@}Om?2i2pDxx0W literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-18/data_chart_zhihu.png b/automation/images/generated/2026-05-18/data_chart_zhihu.png new file mode 100644 index 0000000000000000000000000000000000000000..2266f9b88a28061f5d48a0d7c69f35268edbd218 GIT binary patch literal 7216 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 G)_(vmd4kvg literal 0 HcmV?d00001 diff --git a/automation/images/generated/2026-05-18/equipment_xiaohongshu.png b/automation/images/generated/2026-05-18/equipment_xiaohongshu.png new file mode 100644 index 0000000000000000000000000000000000000000..05dc7a6f9142b982d3eaa5605e39c3aee1c0b8ad GIT binary patch literal 12621 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 literal 0 HcmV?d00001 diff --git a/docs/upgrade-plan.md b/docs/upgrade-plan.md new file mode 100644 index 0000000..de2957e --- /dev/null +++ b/docs/upgrade-plan.md @@ -0,0 +1,259 @@ +# 宇之然平台升级计划 + +> 基于 2026-05 代码库现状分析 + +--- + +## 现状能力矩阵 + +| 能力 | 状态 | 备注 | +|------|------|------| +| 趋势采集 → 选题 | ✅ 跑通 | APScheduler 01:30 定时采集 | +| 研究/大纲/创作 | ✅ 跑通 | 全链路LLM | +| 多平台适配(3平台) | ✅ 跑通 | writer.py 独立适配 | +| 合规审查 | ✅ 跑通 | LLM迭代修复 | +| 配图/封面生成 | ❌ 未接入 | `image_generator.py` 独立脚本,API 未整合 | +| 文章管理页面 | ❌ 缺失 | 只有选题管理,无独立文章列表页 | +| 发布 UI | ⚠️ 简陋 | topics.html 直接调 API,无确认流/平台选择 | +| 前端体验 | ⚠️ 内部工具 | Vue CDN,无统一状态/加载/错误处理 | +| 数据看板 | ⚠️ 基础 | 只读聚合,未对接平台 API | +| 定时调度 | ✅ 框架完整 | generator.py → optimizer.py → sync.py | +| 任务状态追踪 | ✅ 有框架 | ContentTask + tasks.html | + +--- + +## Phase 1 — 高收益低投入(约 3 天) + +### 1.1 配图整合到创作流程 + +**现状**:`scripts/image_generator.py` 已能生成封面/图表/概念图,但只独立运行。 + +**改动**: + +`scripts/creator.py` 在 writer 成功后追加 image 生成: + +```python +# writer.py 成功后 +if run_step("writer.py", topic_id): + run_step("image_generator.py", topic_id) +``` + +`image_generator.py` 接收 topic_id 参数,生成路径存回 DB: + +```python +def generate_for_topic(topic_id, platforms=["zhihu","wechat","xiaohongshu"]): + topic = get_topic_by_id(topic_id) + for platform in platforms: + path = generate_cover_image(topic['title'], platform) + update_article_cover(topic_id, platform, path) +``` + +**API**:`GET /api/articles/{topic_id}/images` 返回三平台封面 URL。 + +**估计**:1 天。 + +### 1.2 文章管理页面 + +**现状**:无独立文章页。 + +**新建** `platform/frontend/articles.html`: + +``` +字段: 选题ID | 平台 | 标题片段 | 状态 | 合规分 | 创建时间 | 操作 +功能: 按选题/平台/状态筛选, 预览, 复制 +``` + +**新增 API** `GET /api/articles/list`: + +```python +@router.get("/list") +def list_articles( + topic_id: str = None, + platform: str = None, + status: str = None, + limit: int = 50, +): + query = db.query(Article).join(Topic).add_columns(Topic.title.label("topic_title")) + # 筛选 + 分页 +``` + +**估计**:1.5 天。 + +### 1.3 统一前端体验 + +**每页 30 分钟**批量改进: +- 所有 fetch 类方法加 try/catch + loading 状态 +- 空数据时显示 `.empty-state` UI(admin.html 已有现成样式) +- 操作反馈用 `this.$message` + +**估计**:0.5 天。 + +--- + +## Phase 2 — 体验闭环(约 5 天) + +### 2.1 发布审批 UI + +**现状**:`topics.html` 点"发布" → 直接调 API 标记已发布。 + +**改进**:发布按钮改为弹窗,可选平台、确认。 + +**API 改动**: + +```python +class MultiPublishRequest(BaseModel): + topic_id: str + platforms: List[str] # ["zhihu", "wechat", "xiaohongshu"] + scheduled_at: Optional[datetime] = None +``` + +`PublishRecord` 加 `platform` 字段(当前写死 "all")。 + +**估计**:2 天。 + +### 2.2 日历关联文章状态 + +日历卡片加文章状态指示(已完成/待审查/已发布)+ 平台图标。 + +**估计**:1 天。 + +### 2.3 CSS 收敛 + 移动端适配 + +- 公共样式从各 HTML 移到 `theme-modern.css` +- 补全移动端卡片布局(当前 admin.html 有,metrics.html/tasks.html 等没有) +- 统一按钮尺寸、间距、颜色 + +**估计**:1-2 天。 + +--- + +## Phase 3 — 数据闭环(约 7 天) + +### 3.1 平台数据对接 + +`scripts/sync_metrics.py` 每天自动拉取各平台阅读量/互动数据,存入 `ContentMetrics`。 + +调度:scheduler.py 加 `scheduled_metrics_sync`(06:00)。 + +**估计**:3-5 天(取决于平台 API 复杂度)。 + +### 3.2 数据看板增强 + +- 趋势图(周/月/季) +- 各平台对比 +- 最佳发布时间分析 + +前端用 Chart.js(CDN),数据来自现有 `GET /api/metrics/dashboard`。 + +**估计**:2 天。 + +--- + +## Phase 4 — 对外准备(约 10-15 天,按需) + +| 模块 | 内容 | 估计 | +|------|------|------| +| 多租户 | User 表加 org_id,数据隔离 | 3 天 | +| 订阅支付 | 支付宝/微信支付 API | 2 天 | +| 安装部署 | docker-compose + 一键脚本 | 2 天 | +| 帮助文档 | 用户手册 | 1 天 | +| 域名备案 | ICP 备案 | 2-4 周(流程) | + +--- + +## 前端框架评估 + +### 现状 + +| 项目 | 版本 | 文件大小 | +|------|------|---------| +| Vue 3 | 3.5.32 (2024 Q4) | 160KB min | +| Element Plus | 2.13.7 (2025/2026) | 2.1MB full | +| 构建工具 | 无 | — | + +### 选项对比 + +| 方案 | 成本 | 收益 | 推荐 | +|------|------|------|------| +| **A. 维持 CDN 现状** | 0 | — | ⭐ 自用首选 | +| B. 升级到最新 Vue 3.5.x + Element Plus CDN | ~0 | 兼容性修复 | 没必要(已是最新) | +| C. CDN → ESM + importmap 渐进 | 1-2d | 按需加载,减 1.5MB | 可选优化 | +| D. Vue 3 + Vite + SFC | 3-5d | TS、HMR、组件化 | 对外前做 | +| E. Nuxt 3 | 5-10d | SSR、路由 | 杀鸡用牛刀 | + +### 建议:维持 CDN,暂不换框架 + +**理由**: + +1. **版本够新**:Vue 3.5.32 + Element Plus 2.13.7 都是最新生态版本,没有升级动力 +2. **CDN 是优势**:对于自用工具,`edit file → refresh browser` 的迭代速度远快于 `npm run dev` +3. **代价与收益不匹配**:换 Vite 需要改 8 个 HTML 页 + 2 个 JS 组件,换来的是 TypeScript(但后端 Python 才是核心逻辑)和 HMR(但每页本来就不大) +4. **唯一值得做的优化**:改用 `importmap` + Element Plus 按需引入,可以把 2.1MB bundle 减到 ~500KB。但这对自用工具感知不强 + +**如果要对外商用**,Phase 4 时再切 Vite + SFC,用 Vue 3 + Vite 标准模版重写前端。 + +## 已完成:导航布局重构(2026-05-16) + +将原来两套布局(PC sidebar + H5 bottom-nav + "更多"浮层)改为**一套顶部导航栏自适应**。 + +**改动**: +- 新建 `uni-nav.js` 合并 navbar + navigation 两个组件,统一为单行 top-nav +- PC:所有菜单项在一行显示 +- H5(<=768px):菜单折叠进 hamburger,点击弹出下拉面板 +- `theme-modern.css` 添加 `.main-content { padding-top: 60px }` 全局规则,10 个页面同时受益 +- 删除所有页面中 `margin-left: 180px` 相关覆写 +- 删除 `navigation-component.js` 和 `navbar-component.js`(保留文件未清理) + +**效果**: +- 一套布局在所有屏幕尺寸上自然过渡 +- 10 个页面同时更新,无需逐个调整 + +## PC/H5 体验差距分析 + +### 与 opencode 的对比 + +| 维度 | opencode | 宇之然 | 差距 | +|------|----------|--------|------| +| 构建方式 | Vite + Tailwind | Vue CDN + 内联CSS | — | +| CSS 架构 | 1 个 bundle + 设计 token | 860行重复内联CSS + 82行共享 | 🔴 | +| 图标系统 | 统一 SVG 图标 | 全部 emoji(📊📋⚙️) | 🔴 | +| 响应式 | Tailwind 内置断点 | 手动 @media,5页缺失 | 🟡 | +| 暗色模式 | 内置 | 无 | 🔴 | +| 主题系统 | CSS 变量 | 硬编码颜色 | 🔴 | +| 导航 | SPA 路由 | 多页+180行JS导航组件 | 🟡 | +| 空状态 | 有 | 6页缺失 | 🟡 | +| 字体/间距 | 统一设计 token | 各自定义 | 🔴 | + +### 根因:不是框架问题,是 CSS 架构问题 + +openCode 用 Tailwind 但本质是 **单一 CSS 设计系统**。宇之然的问题是**没有设计系统**,而不是没有用 Tailwind。 + +即使维持 Vue CDN,也能通过以下方式大幅提升体验一致性。 + +### PC/H5 优化计划(投入与收益评估) + +| # | 问题 | 修复方式 | 估计 | 体验提升 | +|---|------|---------|------|---------| +| 1 | calendar.html 缺少 `` | 修复该 bug | 5min | ❌ 修复 bug | +| 2 | index.html 双 `