一个面向教育工作者的本地化每日资讯聚合与智能分析系统。设定关注的信息源,一键获取当日最新教育资讯,AI 自动提炼、索引、生成结构化日报,并一键适配微信公众号、小红书、抖音、播客等多种平台。
你不需要会编程——只需要跟着下面的步骤做,10 分钟就能跑起来。
- Windows 桌面版:支持打包为安装包,安装后可从桌面快捷方式启动,不需要用户手动打开终端。
- 设置页:首页可进入独立设置页,统一管理 API Key、数据目录、.txt 知识库目录和 RAG 通道检修。
- 多 API Key 管理:每个 Key 都可以命名;页面只显示脱敏形式,真实 Key 保存在系统凭据管理器中。
- RAG 通道检修:可检查 API Key、本地嵌入模型、SQLite、Chroma,并支持重新加载知识库和重建向量库。
- 使用教程:第一步会引导用户前往 DeepSeek API Keys 页面创建 Key,并用大白话说明 Key 的用途、保密和余额要求。
源项目声明:本项目是基于 KnowledgeVault —— 一个通用 RAG 知识库检索与隐私保护分析系统 —— 衍生而来的教育领域专用分支。EduDaily 继承了 KnowledgeVault 的核心 RAG 管道架构(加载→分块→抽取→嵌入→检索→生成→评估),并在此基础上针对教育工作者每日资讯获取的需求进行了专项改造,包括:新增信息源管理、一键日报抓取、教育实体抽取、资讯溯源归档、批量分析、多平台内容适配、定时自动化运行等功能。如果你需要一个通用领域的知识库分析系统,请访问源项目 KnowledgeVault。
- 你能用它做什么
- 环境要求
- 5 分钟快速上手
- Web 界面指南
- 命令行模式(进阶功能)
- 多平台内容格式说明
- 知识库文档编写指南
- 网址提炼功能
- 信息源管理 & 每日日报
- 项目结构
- API 接口
- 隐私保护机制
- 技术架构
- 可配置参数
- 常见问题
- 许可证
- 一键获取每日日报 — 设定教育资讯网站为信息源,点一个按钮(或设置定时)自动抓取今日发布的所有文章
- AI 自动提炼归档 — 文章内容经 LLM 提炼为结构化知识库文档,自动分块、向量化、建立索引
- 批量分析生成日报 — 在网页上点一个按钮,扫描所有未处理文章,一次性生成当天日报摘要,实时显示处理进度
- 多平台一键适配 — 同一份内容自动生成微信公众号、小红书、抖音脚本、播客口播稿四种版本,网页上直接选择和预览
- 一键复制 — 网页内置剪贴板工具,选择平台和日期即可复制日报内容,也可自由粘贴文本后复制
- 定时自动运行 — 在网页上设定每日运行时间,配置自动保存到浏览器;配合后台
scheduler.py实现全自动运转 - 资讯可溯源 — 每条入库文档标注来源网站和发布日期,随时追溯到原始出处
- 自然语言查询 — 像聊天一样提问,系统从知识库中检索相关内容,生成带引用来源的分析报告
- 上传文档即用 — 拖拽
.txt文件到网页(政策文件、教研报告等),自动索引 - 隐私保护 — 报告发送到云端 API 前,自动隐藏手机号、身份证等敏感信息
- 全过程可视化 — 在网页上查看完整的 Prompt 是如何组装的,底部日志面板记录每一次操作
| 你需要有 | 说明 |
|---|---|
| 一台电脑 | Windows / Mac / Linux 都可以 |
| Python 3.10+ | python.org 下载安装 |
| DeepSeek API Key | platform.deepseek.com 注册获取(新用户有免费额度) |
| 网络连接 | 调用 DeepSeek API 时需要 |
不需要 GPU,不需要 Docker,不需要数据库服务。所有组件都在本地运行。
git clone https://github.com/Vinceli-9527/EduDaily.git
cd EduDaily如果你没有 Git,也可以直接在 GitHub 页面点击绿色的「Code」按钮 →「Download ZIP」,解压后进入文件夹。
打开终端(Windows 按 Win+R 输入 cmd,Mac 打开「终端」),进入项目文件夹后运行:
pip install -r requirements.txt如果提示
pip找不到,试试pip3 install -r requirements.txt。
首次运行时会自动下载一个约 100MB 的中文 Embedding 模型,之后就不需要再下载了。
# 复制一份配置文件
cp .env.example .env然后用记事本打开 .env 文件,把里面的内容改成你真实的 API Key:
DEEPSEEK_API_KEY = "sk-你的真实密钥"
.env文件已加入.gitignore,不会被上传到 GitHub,放心。
python server.py看到 EduDaily server ready! Open http://localhost:8765 就说明启动成功了。
在浏览器地址栏输入 http://localhost:8765,就能看到界面了。
打开网页后,顶部状态栏显示三个状态指示灯(管道就绪、API Key 配置状态、向量索引数量)。下方是 四个主导航标签页,分别对应不同的功能模块:
输入问题,AI 从知识库中检索相关内容并生成分析报告。
- 搜索框:输入你关心的教育问题(如"最新高考改革政策有哪些变化?"),点击「开始分析」或按回车
- 管道进度条:实时显示 5 个处理阶段(输入 → 检索 → Prompt 构建 → LLM 生成 → 报告输出)
- 分析报告:AI 生成的 Markdown 格式专业报告,顶部标注生成耗时和使用的分析视角
- Prompt 工程:查看完整的 System Prompt 和 User Prompt,不同颜色标注检索上下文(紫色)、结构化数据(绿色)、用户查询(橙色)
- 检索结果:展示检索到的文档片段,每个片段显示相关度分数和来源文档
管理所有已索引的知识库文档。
- 上传文档:拖拽
.txt文件到上传区域,或点击按钮选择文件 - 文档列表:查看已上传的文档名称、分块数、字数、创建日期
- 删除:每个文档旁有删除按钮(带确认提示)
- 编写指南:展开「如何编写高质量知识库文档?」查看格式规范和推荐模板
- 网址提炼(🪄 面板):粘贴网址(每行一个),AI 自动抓取内容并提炼为结构化知识库文档,提炼完成后可一键导入
管理教育资讯订阅源,一键获取每日日报。
- 添加信息源:输入名称和网址(如"教育部官网" +
https://www.moe.gov.cn/) - 信息源列表:查看所有已配置的信息源及其同步状态(已同步/未同步)
- 一键获取日报:点击绿色按钮,自动从所有信息源抓取今日发布的最新资讯,AI 逐篇提炼并索引入库
- 获取结果:展示每篇文章的标题、来源、日期、分块数、原文链接,以及任何错误信息
一站式使用批量分析、多平台内容生成、剪贴板和定时配置。
📊 批量分析并生成多平台日报:
- 选择目标平台(全部平台 / 微信公众号 / 小红书 / 抖音 / 播客),可选「强制重新处理全部文章」
- 点击「开始批量分析」,实时进度条显示处理进度
- 完成后展示每篇文章的摘要,以及各平台版本的生成结果
🎨 多平台内容生成:
- 选择目标平台,粘贴或输入文本内容
- 点击按钮,AI 自动将内容改写为适配该平台风格的文案
- 生成结果可直接预览,并一键复制到剪贴板
📋 剪贴板工具:
- 按平台和日期获取最新日报并复制到剪贴板
- 或直接在文本框内粘贴/编辑内容,点击按钮复制
⏰ 定时任务配置:
- 开关按钮启用/禁用每日自动运行
- 设定运行时间(小时 + 分钟),配置自动保存到浏览器本地
- 配合后台
python scheduler.py实现每天定时抓取 + 分析 + 生成日报
📋 运行日志(页面底部):
- 可折叠的日志面板,记录所有操作和 API 调用的详细日志
- 每条日志带有时间戳和类型标识(信息 / 成功 / 警告 / 错误)
- 支持一键清空,最多保留 500 条记录
除了 Web 界面,EduDaily 还提供了命令行工具,适合每天固定时间让电脑自动帮你跑。以下功能大部分也已在 Web 界面的「⚙️ 高级功能」标签页中提供,如果你更喜欢点按钮而不是敲命令,直接打开网页即可使用。
如果你有很多篇已抓取但还没生成摘要的文章,可以一键批量处理:
# 扫描所有未处理的文章,逐篇生成 AI 摘要,输出日报
python batch_processor.py
# 把之前已经处理过的也重新来一遍
python batch_processor.py --force-all
# 同时生成多平台版本(含公众号、小红书、抖音、播客)
python batch_processor.py --platform all
# 只生成小红书版本
python batch_processor.py --platform xhs
# 生成日报后自动复制到剪贴板
python batch_processor.py --copy
# 组合使用:全平台 + 自动复制
python batch_processor.py --platform all --copy运行时会显示实时进度:
找到 10 个未处理的文件,开始批量分析...
[1/10] 教育部_新政策.txt — 正在生成摘要... ✓ (1234ms)
[2/10] 北京大学_科研突破.txt — 正在生成摘要... ✓ (987ms)
...
日报已生成于: output\daily_summary_2026-06-02.md
让电脑像闹钟一样,每天在固定时间自动完成「抓取 → 分析 → 生成日报」全流程。
# 安装定时依赖
pip install schedule
# 每天 07:00 自动运行(默认时间)
python scheduler.py
# 修改时间:在 .env 中添加
# SCHEDULE_TIME = "08:30"
# 然后启动
python scheduler.py
# 不等定时,立刻运行一次看看效果
python scheduler.py --once启动后终端会显示下一次运行时间,按 Ctrl+C 停止。
进阶玩法:把
python scheduler.py设为开机自启动,每天早晨日报自动出现在output/文件夹里。
同一篇文章,不同平台的写法完全不同。EduDaily 会自动给你生成四种版本:
| 平台 | 风格 | 适合场景 |
|---|---|---|
| 微信公众号 | 专业深度分析,800-1200 字,Markdown 格式 | 教育类公众号推文 |
| 小红书 | 活泼笔记,emoji 丰富,话题标签,300-500 字 | 碎片化阅读,吸引互动 |
| 抖音脚本 | 60 秒口播脚本,黄金 3 秒开头,画面提示 | 短视频录制参考 |
| 播客口播稿 | 3-5 分钟口播,口语化,带转场过渡 | 音频节目录制 |
你可以在 templates/ 文件夹下找到每个平台的模板文件,用记事本打开即可修改风格。不需要懂编程。
输出文件名示例:
output/daily_2026-06-02_wechat.md ← 公众号版
output/daily_2026-06-02_xhs.txt ← 小红书版
output/daily_2026-06-02_douyin.txt ← 抖音脚本版
output/daily_2026-06-02_podcast.md ← 播客版
output/daily_summary_2026-06-02.md ← 默认日报(汇总版)
日报生成好了,不需要打开文件手动全选复制。
# 安装依赖
pip install pyperclip
# 复制今天的默认日报
python clipboard.py
# 复制今天的小红书版本
python clipboard.py --platform xhs
# 复制指定日期的公众号版本
python clipboard.py --platform wechat --date 2026-06-02
# 复制任意文件
python clipboard.py --file "output/某篇文章.md"
# 跟在批量分析后面:分析完自动复制
python batch_processor.py --platform xhs --copyMac 用户无需额外配置。Windows 用户开箱即用。Linux 用户如果复制失败,运行
sudo apt install xclip即可。
对于开放 API 的平台(如微信公众号),可以直接将日报发送到草稿箱。
# 1. 复制凭据模板
cp credentials.example.json credentials.json
# 2. 编辑 credentials.json,填入你的平台凭据
# (如何获取凭据,见下文"平台接入说明")
# 3. 发送草稿到微信公众号草稿箱
python publisher.py --platform wechat --file "output/daily_2026-06-02_wechat.md" --title "教育日报 2026-06-02"
# 4. 或在批量处理后直接发布
python batch_processor.py --platform wechat --publish-draft wechat微信公众号(可运行):
具体获取方法在每个 publisher 类的文档中有详细说明,运行
python -c "from publisher import WeChatPublisher; help(WeChatPublisher)"即可查看。
- 登录 https://mp.weixin.qq.com/ →「开发 → 基本配置」获取 AppID 和 AppSecret
- 配置 IP 白名单(添加你电脑的公网 IP)
- 调用接口获取 access_token(终端运行以下命令):
curl "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的AppID&secret=你的AppSecret" - 把返回的 access_token 填入
credentials.json的 wechat 部分
知乎 & 微博(预留接口):
由于这两个平台没有公开的草稿 API,当前提供框架接口。如果你有相关 API 权限,可在 publisher.py 中填入对应实现。
每个平台版本生成的内容具有不同特点。以下是各平台输出示例片段的对比:
微信公众号版(Markdown)—— 深度专业
> 教育部发布AI赋能教育行动指导意见,计划到2027年建设100个AI教育示范区。
## 一、政策核心:AI如何进入课堂?
教育部此次发布的意见明确了三个重点方向...小红书版 —— 活泼亲切
📚 教育部放大招!AI要进入全国课堂啦‼️
✨ 核心消息:教育部要在2027年前建成100个AI教育示范区
━━━━━━━━━━━━━
📌 划重点
1️⃣ 覆盖从小学到大学所有学段
2️⃣ 中西部地区是重点支持对象
3️⃣ AI将用在教学、评价、管理全流程
#教育热点 #AI教育 #教育政策 #家长必看
抖音脚本版 —— 快节奏口播
[画面:主播出镜,表情惊讶]
(语速:快)教育部刚刚宣布!到2027年,全国将有100个AI教育示范区!
[画面:切换课堂场景/AI概念图]
(正常)这次的政策覆盖从小学到大学...
播客口播稿版 —— 娓娓道来
各位早上好,欢迎收听 EduDaily 教育早报。
今天是 2026 年 6 月 2 日,本期的教育关键词是:AI 赋能教育。
先来看看今天最重要的教育动态——
📌 教育部发布 AI 赋能教育行动指导意见
就在昨天,教育部正式印发了...
- 文件格式:
.txt纯文本 - 编码:
UTF-8 - 文件第一行会自动成为文档标题
- ✅ 不同主题之间用空行隔开
- ✅ 每个段落保持在 100-800 字之间
- ✅ 段落内信息尽量独立完整
- ❌ 不要几千字不分段,不要超短段落(少于 50 字会被跳过)
2025年高考综合改革政策解读
一、改革背景
2025年高考综合改革是在新课程改革和高考评价体系改革的基础上...
二、主要变化
1. 考试科目调整:实行"3+1+2"模式...
2. 招生录取方式:综合评价、多元录取...
三、对学校的影响
高中学校需要在课程设置、师资配置、教学管理等方面做出调整...
四、对教师和学生的建议
教师应关注新课标的核心素养要求,调整教学策略...
不想手动写文档?直接把网址贴进来,AI 帮你搞定。
- 展开「🪄 想偷懒?试试输入网址帮你快速构成知识库」面板
- 粘贴网址,每行一个(支持新闻、百科、博客等网页)
- 点击「抓取并提炼」,系统自动抓取 + AI 提炼
- 提炼完成后点击「导入已提炼的文档」加载到知识库
| 功能 | 网址提炼 | 每日日报 |
|---|---|---|
| 触发方式 | 手动粘贴网址 | 一键自动抓取 |
| 处理范围 | 仅处理你粘贴的网址 | 处理所有已配置的信息源 |
| 日期筛选 | 不筛选,全部提炼 | 只抓取当日发布的文章 |
| 适用场景 | 临时补充特定资料 | 每日例行资讯收集 |
| 溯源标注 | 无特殊标注 | 自动标注来源和日期 |
- 展开「📡 信息源管理 & 每日日报」面板
- 在输入框中填写信息源名称和网址,例如:
- 名称:
教育部官网 - 网址:
https://www.moe.gov.cn/
- 名称:
- 点击「添加」
点击「📰 一键获取今日日报」按钮,系统会自动:
对每个信息源:
1. 抓取首页 → 提取文本内容
2. AI 识别当日发布的所有文章(标题、链接、日期)
3. 逐篇抓取全文 → AI 提炼为结构化知识库文档
4. 保存至本地 data/sample_docs/ 并自动索引到知识库
5. 文件名标注 [来源网站] 日期,确保可溯源
每条入库文档的文件名格式为:
[教育部官网] 2026-05-29 | 关于深化高中课程改革的指导意见
从知识库中检索到的每段内容,均可追溯到:
- 来源网站名称
- 发布日期
- 原文链接(在获取结果中展示)
EduDaily/
├── server.py # Web 服务入口(FastAPI)
├── main.py # 命令行管道(批处理模式)
├── batch_processor.py # 批量分析:一键生成所有文章摘要 + 日报
├── scheduler.py # 定时自动运行:每天固定时间跑全流程
├── template_engine.py # 多平台模板引擎:公众号/小红书/抖音/播客
├── clipboard.py # 一键复制日报到系统剪贴板
├── publisher.py # 草稿箱发布框架(微信/知乎/微博)
├── config.py # 所有参数集中管理
├── requirements.txt # Python 依赖包清单
├── .env.example # API Key 配置模板
├── credentials.example.json # 平台发布凭据模板
│
├── frontend/
│ └── index.html # Vue3 单页应用(4 标签页布局,CDN 引入,零构建,浏览器即用)
│
├── templates/
│ ├── wechat.j2 # 公众号模板(专业深度分析)
│ ├── xiaohongshu.j2 # 小红书模板(活泼 emoji 风)
│ ├── douyin.j2 # 抖音脚本模板(黄金 3 秒口播)
│ └── podcast.j2 # 播客口播稿模板(口语化 + 转场)
│
├── modules/
│ ├── data_loader.py # 读取 .txt 文档
│ ├── chunker.py # 段落感知分块(重叠策略)
│ ├── extractor.py # LLM 教育资讯结构化抽取
│ ├── embedder.py # 本地 Embedding + ChromaDB 存储
│ ├── retriever.py # 查询向量化 + 语义检索
│ ├── generator.py # RAG 报告生成(含隐私脱敏)
│ ├── evaluator.py # 抽取/检索/生成质量评估
│ ├── privacy.py # 敏感信息检测与脱敏
│ ├── domain_classifier.py # 内容领域自动识别
│ ├── url_ingester.py # 网址抓取 + AI 提炼
│ └── daily_fetcher.py # 每日日报引擎(信息源抓取+当日筛选+入库)
│
├── prompts/
│ ├── personas.py # 领域-人格注册表
│ ├── extraction.py # 教育资讯抽取 Prompt 模板
│ └── generation.py # 报告生成 Prompt 模板(动态角色)
│
├── db/
│ ├── schema.py # 数据库建表(含信息源和文章表)
│ └── repository.py # 数据库读写操作
│
├── data/
│ ├── sample_docs/ # 知识库文档存放目录
│ └── processed.json # 已处理文件跟踪(自动生成)
│
├── utils/
│ └── helpers.py # 日志、计时等工具函数
│
├── tests/ # 测试文件
│ ├── test_batch_processor.py
│ ├── test_scheduler.py
│ ├── test_template_engine.py
│ ├── test_clipboard.py
│ └── test_publisher.py
│
├── chroma_store/ # 向量数据库文件(自动生成)
└── output/ # 生成的报告文件(自动生成)
所有接口均在 http://localhost:8765 下:
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/ |
Web 交互界面 |
GET |
/api/health |
系统健康检查 |
POST |
/api/query |
提交查询,返回检索结果 + AI 报告 |
POST |
/api/extract |
触发 LLM 信息抽取 |
GET |
/api/knowledge |
查看知识库文档列表 |
POST |
/api/knowledge/upload |
上传 .txt 文件到知识库 |
DELETE |
/api/knowledge/{doc_id} |
删除指定文档 |
POST |
/api/knowledge/ingest-url |
提交网址列表,AI 提炼为知识库文档 |
POST |
/api/knowledge/import-saved |
将已提炼的文档导入知识库 |
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/api/sources |
列出所有信息源 |
POST |
/api/sources |
添加信息源 |
DELETE |
/api/sources/{source_id} |
删除信息源及其关联文章 |
POST |
/api/daily-fetch |
一键获取所有信息源今日发布的文章 |
| 方法 | 路径 | 说明 |
|---|---|---|
POST |
/api/batch-analyze |
批量分析未处理的文章,生成日报 |
POST |
/api/batch-analyze?platform=xhs |
同时生成指定平台版本 |
POST |
/api/batch-analyze?platform=all |
生成全部四种平台版本 |
POST |
/api/batch-analyze?force_all=true |
强制重新分析所有文章 |
curl -X POST http://localhost:8765/api/query \
-H "Content-Type: application/json" \
-d '{"query": "最新高考改革对高中教学有什么影响?", "top_k": 5}'返回内容包含:AI 生成的 Markdown 报告、检索到的文档片段(含相关度)、PII 脱敏数量、使用的分析视角。
curl -X POST http://localhost:8765/api/sources \
-H "Content-Type: application/json" \
-d '{"name": "中国教育报", "url": "https://www.jyb.cn/"}'# 批量分析 + 生成小红书版本
curl -X POST "http://localhost:8765/api/batch-analyze?platform=xhs"
# 全平台 + 强制重新处理
curl -X POST "http://localhost:8765/api/batch-analyze?platform=all&force_all=true"curl -X POST http://localhost:8765/api/daily-fetch返回:批次号、日期、收录文章列表(含标题、来源、原文链接、分块数)、错误信息。
# 运行完整管道(一次性批处理)
python main.py
# 跳过 LLM 调用,仅测试本地模块
python main.py --skip-extraction --skip-generation
# 追加自定义查询
python main.py -q "分析近期职业教育政策趋势"系统在将检索到的文本发送给 DeepSeek API 之前,自动检测并替换以下敏感信息:
| 类型 | 检测方式 | 替换为 |
|---|---|---|
| 手机号 | 正则精确匹配 | [手机号已隐藏] |
| 身份证号 | 18位 + 校验位验证 | [身份证号已隐藏] |
| 银行卡号 | 16-19位连续数字 | [银行卡号已隐藏] |
| 电子邮箱 | 标准邮箱正则 | [邮箱已隐藏] |
| 人员姓名 | 上下文模式匹配 | [姓名已隐藏] |
| 表格数据 | Markdown 表格 / TSV 行 | [表格行已隐藏] |
脱敏后的实际 Prompt 可在 Web 界面的「Prompt 工程」标签页查看验证。
信息源订阅 / 上传 .txt / 输入网址 → 段落分块 → LLM 抽取教育实体 → SQLite 存储
↘
本地 Embedding → ChromaDB 向量索引
Web 界面(4 标签页布局):
🔍 问答分析 → 向量检索 → 组装 Prompt → LLM 生成报告(含 PII 自动脱敏)
📚 知识库管理 → 上传/删除文档 + 网址提炼 + 导入
📡 信息源与日报 → 添加信息源 → 一键抓取当日文章 → AI 逐篇提炼入库 → 可溯源归档
⚙️ 高级功能 → 批量分析(进度条)+ 多平台内容生成 + 剪贴板工具 + 定时配置
定时调度 → 每天固定时间 → 抓取 → 批量分析 → 生成日报 → 全自动
| 组件 | 选型 | 说明 |
|---|---|---|
| 大语言模型 | DeepSeek Chat | 负责信息抽取、文章提炼、摘要生成和报告撰写 |
| Embedding | BAAI/bge-small-zh-v1.5 | 本地运行,无需 API,中文优化 |
| 向量数据库 | ChromaDB | 持久化存储,重启不丢失数据 |
| 结构化存储 | SQLite | 文件级数据库,无需安装服务 |
| 前端 | Vue 3 + marked.js | CDN 引入,零构建,4 标签页布局,浏览器即用 |
| 后端 | FastAPI + uvicorn | Python Web 框架,自动生成 API 文档 |
| 模板引擎 | Jinja2 | 轻量级模板,用户可直接编辑模板文件 |
| 定时调度 | schedule | 轻量级定时任务,无需系统 cron 权限 |
| 剪贴板 | pyperclip | 跨平台剪贴板支持 |
不使用 LangChain 等重量级框架,所有代码纯 Python 实现,逻辑清晰可读。
在 config.py 中集中管理,API Key 通过 .env 文件设置。多平台模板在 templates/ 文件夹中直接编辑。
| 参数 | 默认值 | 说明 |
|---|---|---|
DEEPSEEK_API_KEY |
(空) | 在 .env 中设置 |
SCHEDULE_TIME |
07:00 |
每日自动运行时间(在 .env 中设置) |
CHUNK_MAX_CHARS |
1000 | 分块最大字符数 |
CHUNK_OVERLAP_CHARS |
200 | 相邻块重叠字符数 |
CHUNK_MIN_CHARS |
50 | 低于此长度的内容会被过滤 |
TOP_K_RETRIEVAL |
5 | 每次检索返回的片段数 |
EXTRACTION_TEMPERATURE |
0.1 | 信息抽取时的 LLM 温度(越低越稳定) |
GENERATION_TEMPERATURE |
0.3 | 报告生成时的 LLM 温度 |
API_TIMEOUT_SECONDS |
60 | API 请求超时时间 |
CHROMA_COLLECTION_NAME |
edu_documents |
向量数据库集合名称 |
SAMPLE_DOCS_DIR |
data/sample_docs |
知识库文件存放位置 |
A: 检查 .env 文件是否存在,以及里面的 Key 是否正确(不要有多余的引号或空格)。
A: 运行 pip install -r requirements.txt 确保所有依赖都安装了。
A: 可能的原因:
- 目标网站当日确实没有更新
- 网站需要特殊访问方式(如需要登录、反爬虫等)
- 网站结构变化导致 AI 无法识别文章列表
- 查看终端日志和返回结果中的
errors字段了解详情
A: 使用命令 python scheduler.py 启动定时调度器。想让它在电脑开机后自动启动,可以把它设为开机启动项或添加到系统任务计划中(Windows:任务计划程序,Mac:launchd,Linux:systemd 或 crontab)。
A: 打开 templates/ 文件夹,用记事本编辑对应的 .j2 文件即可。模板文件中用中文标注了每个部分的说明,不需要编程知识就能修改。改完后保存,下次生成就会用新的风格。
A:
- Windows/Mac:运行
pip install pyperclip安装依赖 - Linux:运行
sudo apt install xclip安装系统剪贴板工具 - 如果仍然失败,可以手动打开
output/文件夹复制文件内容
A:
- 复制
credentials.example.json为credentials.json - 按照「发送草稿到平台」中的步骤获取微信 AppID、Secret 和 access_token
- 填入
credentials.json,运行python publisher.py --platform wechat --file "output/日报文件.md" - 登录微信公众号后台 → 草稿箱即可看到已保存的草稿 注意: access_token 有效期只有 2 小时,生产环境需要定期刷新。
A: 所有数据都在你电脑的 data/ 和 chroma_store/ 目录下。只有生成报告时会把脱敏后的文本片段发送给 DeepSeek API,原始文档不会离开你的电脑。credentials.json 已加入 .gitignore,不会被上传到 GitHub。
A: 在终端里按 Ctrl+C 即可。
A: 直接上传只支持 .txt。PDF/Word 请先复制内容到 .txt 文件中。网页内容可通过「网址提炼」功能直接抓取。
MIT License
桌面版入口是 desktop_app.py,使用 pywebview 承载现有 HTML/Vue 前端,并通过 Python 桌面桥接直接调用后端逻辑。桌面版不会启动本地 Web 服务,也不会暴露 localhost 端口。
本版本已经使用 assets/branding/app-icon.png 生成应用图标 assets/branding/app-icon.ico,安装包、桌面快捷方式和 EduDaily.exe 都会使用这个图标。
生成便携版程序目录:
powershell -ExecutionPolicy Bypass -File scripts\build_windows.ps1输出位置:
dist\EduDaily\EduDaily.exe
安装 Inno Setup 6 后生成安装包:
powershell -ExecutionPolicy Bypass -File scripts\build_windows_installer.ps1输出位置:
dist\installer\EduDailySetup-0.1.2.exe
首次启动桌面版时,用户可以选择数据目录。进入首页后的“设置”页面可以继续管理 API Key、整体数据目录、.txt 知识库目录,并运行 RAG 通道检修。DeepSeek API Key 不会明文显示在页面上,真实内容保存在系统凭据管理器中。
