面向广东吉康环境系统科技有限公司(低温除湿干化领域)的多智能体公众号推文自动创作系统。基于 claude-agent-sdk 构建:按发布计划定时触发,自动抓取行业新闻/政策/技术动态,结合内部知识库做 RAG 检索,生成图文并茂的公众号推文草稿,并自动做质量评估与修改建议。CLI + rich TUI。
需求: 场景介绍: 广东吉康环境系统科技有限公司专注于低温除湿干化领域,需持续通过公众号推文形式进行市场推广。传统人工创作效率低、信息更新滞后,且难以兼顾品牌调性与内容多样性。现需构建一套完整的AI智能创作工作流,能够根据企业市场推广计划,自动识别内容类型(事件/技术/政策)、规划发布节奏,并主动抓取外部最新行业资讯、政策动态及技术进展,结合企业内部知识库,在规定时间节点自动生成高质量的推广内容,显著提升内容专业度、创新度及产出效率。 目标: 构建一套完整的AI智能市场推广工作流,核心功能包括: 1.支持按主题、时间节点设定发布计划,自动拆分任务并触发后续生成流程。 2.支持根据用户输入的主题或关键词,自动从互联网抓取相关行业新闻、政策、技术动态等信息,并进行去重与关键信息提取。 3.自动生成适配公众号发布的图文推文(含标题、正文、配图建议) 4.生成后可对内容的可读性、专业性进行基础评估,并提供修改建议。 技术考点: 1.外部信息抓取与处理:实现网络爬虫或API调用,对抓取内容进行去重、摘要和结构化提取。 2.RAG检索增强生成:结合内部知识库与外部抓取信息,实现精准内容生成。 3.提示词工程:设计高效提示词模板,引导大模型生成符合要求的结构化内容。 4.工作流设计:构建内容生成工作流(单智能体或多智能体协作),实现从信息采集到内容生成的自动化流程。 5.定时任务调度与自动触发技术:实现规定时间节点精准生成推文 性能指标:
- 内容生成质量:技术术语准确率≥95%;标题与推广主题关联性强,正文逻辑连贯、层次清晰。 2.整体工作流效率:从设定发布计划到输出带评估结果的推文,全流程耗时 ≤30 分钟。 3.信息源覆盖:外部信息抓取覆盖主流行业网站、政策发布平台≥5个。 4.定时准确性:按规定时间节点自动生成推文的触发准确率≥98%(无延迟 / 漏触发) 关键提示词: AI数据获取、多模态数据整合、模板设计和应用、调度自动化
五个独立 agent(各自独立 ClaudeSDKClient,全部 [REDACTED]),由一层纯 Python 流水线按顺序驱动,agent 间以结构化 JSON 交接:
用户/定时 → 调度Agent(解析计划/拆任务/判类型/规划节奏)
│
┌────────────────▼─────────────────────────────────┐
│ ① 采集Agent → ② 检索Agent → ③ 生产Agent → ④ 复核Agent │
└────────────────┬─────────────────────────────────┘
▼ data/outputs/<时间>-<主题>.md (推文 + 评估报告)
rich TUI 全程实时渲染
| Agent | 职责 | 工具 |
|---|---|---|
| 调度 dispatcher | 解析推广计划、判定内容类型(事件/技术/政策)、规划节奏、拆任务 | 纯推理 |
| 采集 collector | 抓取行业网站资讯,去重、结构化提取 | httpx 静态抓取 + 官方 Playwright MCP(JS 站) |
| 检索 retriever | 外部资讯 + 内部知识库入向量库,RAG 语义检索 | 向量库工具 |
| 生产 producer | 产出标题/正文/配图建议(markdown) | 品牌读取 + 草稿保存 |
| 复核 reviewer | 评估可读性/专业性/术语准确率,给修改建议 | 品牌读取 + 报告保存 |
promoflow/
cli.py # 命令行入口(ingest/generate/plan/run/sources)
config.py # 配置加载(settings.toml + .env)
models.py # 跨 agent 结构化数据契约(Pydantic)
orchestrator.py # 流水线编排 + 计时 + 修订回环
planner.py # 调度: 计划解析/持久化
scheduler.py # APScheduler 定时触发
tui.py # rich.Live 仪表盘
web/ # Web GUI(纯标准库 http.server + SSE): server.py + static/ 前端
agents/ # AgentRunner + 五个 agent 工厂 + prompt 模板
tools/ # SDK 自定义工具(抓取/RAG/IO), 进程内 MCP server
rag/ # 纯 Python 向量库(SQLite+余弦) + embedding 客户端 + 切块
security/ # 抓取内容注入过滤(sanitize)
utils/ # 事件总线(agent→TUI)
config/ # settings.toml / sources.yaml / brand.md
data/ # knowledge_base(内部知识) / cache / outputs / 向量库
tests/ # 离线单元测试
复用其他需求时,通用 core(agents/base、rag/*、scheduler、tui、orchestrator)不动,只改 config/(源/品牌/参数)与 agents/prompts/。
python -m venv venv && source venv/bin/activate # 已有 venv 可跳过
pip install -r requirements.txt
playwright install chromium # JS 站抓取用的浏览器内核(~150MB)Playwright MCP 通过 npx @playwright/mcp 拉起,需已安装 Node(项目环境已具备)。
复制 .env.example 为 .env 并填写:
ANTHROPIC_API_KEY= # 已用 `claude` CLI 登录可留空
EMBEDDING_API_KEY=sk-... # RAG embedding, OpenAI 兼容格式
EMBEDDING_BASE_URL=https://api.openai.com/v1 # 可自定义(兼容代理/本地部署)
EMBEDDING_MODEL=text-embedding-3-small
模型、chunk、阈值、耗时预算等见 config/settings.toml;采集源见 config/sources.yaml;品牌调性与术语表见 config/brand.md。
# 1. 初始化内部知识库向量索引(把企业资料放到 data/knowledge_base/)
python -m promoflow ingest
# 2. 立即生成一篇推文(端到端: 采集→检索→生产→复核)
python -m promoflow generate --topic "低温除湿干化污泥处理" --type 技术 --keywords "热泵,含水率,污泥资源化"
# 3. 录入含定时的发布计划(调度 agent 解析自然语言)
python -m promoflow plan "每周一上午9点发一篇低温除湿干化的技术推文"
# 4. 常驻运行, 按计划 cron 定时触发
python -m promoflow run
# 查看采集源
python -m promoflow sources
# 5. 启动 Web GUI(浏览器图形界面): 发起生成/录入计划/浏览产出/查看采集源
python -m promoflow gui # 默认 http://127.0.0.1:8787, 自动开浏览器
python -m promoflow gui --port 9000 --no-browsergui 子命令启动一个纯标准库(http.server + SSE, 零新增依赖)的本地网页界面, 复用既有 Orchestrator/LogBus/parse_plan, 不改动任何 core 模块:
- 生成: 填写主题/类型/关键词, 一键端到端跑流水线; 5 阶段进度、agent 实时输出、成本/耗时/tokens 经 SSE 实时推送; 完成后渲染推文正文 + 评估评分卡。
- 计划: 自然语言录入发布计划, 由调度 agent 解析为结构化任务并持久化; 查看已保存计划。
- 产出: 浏览
data/outputs/历史产物, 点击即渲染 markdown 预览。 - 采集源: 查看
sources.yaml清单, 一键重建知识库向量索引。
安全: 服务默认仅监听
127.0.0.1本地回环、无鉴权(单机工具设计)。如需局域网访问可--host 0.0.0.0, 但请自行确保网络边界安全, 切勿直接暴露到公网。
产出落在 data/outputs/<时间>-<主题>.md,含推文正文、配图建议、引用来源与评估报告。加 --plain 可关闭 TUI 走纯文本日志。
- 术语准确率 ≥95%:
brand.md术语表 + 生产强约束"仅用检索事实" + 复核术语核对与修订回环。 - 全流程 ≤30min: orchestrator 计时,缓存去重,修订轮次上限,TUI 显示耗时预算。
- 信息源 ≥5: 一期 6 个已验证真实源(生态环境部/中国水网/中国固废网/环保在线/中国环境网/北极星)。
- 触发准确率 ≥98%: APScheduler 常驻 + misfire 补偿 + coalesce。
所有外部抓取内容一律视为不可信数据,进入 LLM 前经 security/sanitize 过滤(剥离脚本/隐藏元素、中和提示词注入指令)、并在 orchestrator 二次清洗。开发期实测中曾遭遇搜索结果投毒(伪造指令注入),故此为硬性设计。
pytest -q # 离线单元测试(向量检索/切块/注入过滤/JSON解析)