Skip to content

多模态知识内生 Agent 平台 (AI 简报制片人) - 基于 LangGraph 的多模态内容自动生成与分发系统。

License

Notifications You must be signed in to change notification settings

Brave-peng/brief-agent

Repository files navigation

Brief Agent

轻量级知识管理工具 —— 多源信息汇入、目录即项目 、Agent智能处理、多模态内容输出

一个类似NotebookLM的轻量级本地化知识管理工具,支持RSS订阅、本地文件等多源输入,通过RAG检索与Agent协作,输出对话问答、闪卡、日报、PPT、视频等多种形态。


架构概览

┌─────────────────────────────────────────────────────────────────┐
│                        输出层 (Output)                            │
│   🗣️ 对话问答    📇 闪卡(Anki)    📊 PPT    📰 日报/周报          │
├─────────────────────────────────────────────────────────────────┤
│                      处理层 (Processing)                         │
│   🧠 Router意图识别    🔍 RAG检索    🤖 Agent协作    💾 记忆管理    │
├─────────────────────────────────────────────────────────────────┤
│                        输入层 (Input)                           │
│   📡 RSS订阅    📁 本地文件                                     │
└─────────────────────────────────────────────────────────────────┘

核心能力

能力 状态 说明
多源采集 RSS定时抓取、本地文件夹监控、网页解析
RAG检索 ChromaDB向量存储,支持语义搜索与摘要索引
Agent协作 多Agent工作流(分析→编剧→结构化→审核)
PPT生成 内容分析→结构规划→视觉设计→Marp渲染
图片生成 ModelScope ZImage中文提示词生成
TTS音频 DashScope/MiniMax双引擎
闪卡生成 Anki格式导出,间隔重复学习
交互模式 Rich美化CLI,支持对话式交互

目录结构

brief-agent/
├── main.py              # CLI 入口 (typer)
├── config.yaml          # 主配置
├── pyproject.toml       # 依赖管理
├── env.example          # 环境变量示例
├── CLAUDE.md            # AI 协作规范 (Claude Code Skills)
├── src/                 # 源代码
│   ├── providers/       # Provider 封装 
│   │   ├── llm/         # LLM: MiniMax, ModelScope, DeepSeek
│   │   ├── image/       # 图片: ModelScope Z-Image
│   │   └── audio/       # 音频: DashScope, MiniMax TTS
│   ├── agents/          # Agent 层 (LangGraph 工作流)
│   ├── services/        # 业务服务 (RSS等)
│   ├── storage/         # 数据存储 (DB/向量库/日志)
│   ├── render/          # 渲染层 (PPT/视频)
│   └── cli/             # CLI 命令层
├── tests/               # 测试
├── scripts/             # 工具脚本
├── docs/                # 设计文档 & 面试题库
└── data/                # 数据库、向量库、日志

快速开始

1. 安装

# 克隆项目
git clone <repo-url>
cd brief-agent

# 安装依赖 (需要Python 3.11+)
uv sync

# 安装Marp CLI用于PPT生成, 不需要PPT和视频功能可略
npm install -g @marp-team/marp-cli

2. 配置

# 复制环境变量模板
cp env.example .env

# 编辑.env,填入你的API Keys
vim .env

3. 运行

# 抓取RSS并生成日报
uv run python main.py rss fetch
uv run python main.py rss report 2026-01-11

# 从Markdown生成PPT
uv run python main.py ppt from-md input.md -o output.pptx --provider deepseek

# 查看所有命令
uv run python main.py --help

技术栈

层级 技术
编排 LangGraph (多Agent工作流)
LLM DeepSeek / MiniMax / ModelScope (providers/)
RAG ChromaDB + 自研分层检索
数据 SQLite (SQLModel)
CLI Typer + Rich
渲染 Marp (Markdown → PPTX)
图像 ModelScope ZImage
音频 DashScope / MiniMax TTS

开发规范

代码质量

# 代码检查
ruff check src/
ruff check --fix src/     # 自动修复

# 类型检查
mypy src/

# AI 协作 (Claude Code)
# - "review" / "审核" - 代码审查
# - "写测试" - 生成测试
# - "看看效果" - 视觉审查
# - "进度" - 进度评估

导入规范

# 推荐: 使用 providers 目录
from src.providers.llm import LLMManager
from src.providers.image import generate_image

---

## 路线图

### Phase 1: 基础架构 ✅
- [x] **RSS采集** - 定时抓取本地文件监控
- [x] **RAG检索** - ChromaDB向量存储语义搜索
- [x] **分层检索** - 摘要索引 + 细节索引双轨制
- [ ] **Router节点** - 统一入口意图识别与任务分发### Phase 2: 内容生产 ✅
- [x] **动态PPT** - 内容分析结构规划视觉设计Marp渲染
- [x] **图片生成** - ModelScope Z-Image中文提示词生成
- [x] **TTS音频** - DashScope/MiniMax双引擎
- [ ] **视频管线** - Marp渲染视频合成 🚧
- [ ] **自我纠错** - 质量检查循环自动重试### Phase 3: 交互体验 ⏳
- [ ] **交互式Shell** - Rich库美化对话式交互
- [ ] **记忆管理** - 实体提取持久化记忆
- [ ] **闪卡技能** - Anki格式导出间隔重复

### Phase 4: 工程化 🚧
- [x] **代码质量** - ruff/mypy 检查代码审查规范
- [x] **Token管理** - 费用统计LangSmith链路追踪
- [ ] **CI/CD** - 自动化测试沙盒环境
- [ ] **多开Agent** - 并发优化任务队列

---

## 相关项目

- [NotebookLM](https://notebooklm.google.com/) - Google的AI笔记本产品本项目的主要灵感来源
- [PPTAgent](https://arxiv.org/abs/2501.03936) - PPT自动生成论文参考

---

## License

GNU GENERAL PUBLIC LICENSE Version 3

---

> 💡 **提示**: 本项目目前处于活跃开发阶段API 和架构可能会有较大变动欢迎提交 Issue  PR

About

多模态知识内生 Agent 平台 (AI 简报制片人) - 基于 LangGraph 的多模态内容自动生成与分发系统。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages