SHL 81877aaadd feat: make AgentPlatformBase standalone 1 месяц назад
..
agents 81877aaadd feat: make AgentPlatformBase standalone 1 месяц назад
backend 81877aaadd feat: make AgentPlatformBase standalone 1 месяц назад
frontend fda6a635c9 feat: add AgentPlatformBase graduation project 1 месяц назад
.env.example 81877aaadd feat: make AgentPlatformBase standalone 1 месяц назад
.gitignore fda6a635c9 feat: add AgentPlatformBase graduation project 1 месяц назад
README.md 81877aaadd feat: make AgentPlatformBase standalone 1 месяц назад
main.py 81877aaadd feat: make AgentPlatformBase standalone 1 месяц назад
requirements.txt 81877aaadd feat: make AgentPlatformBase standalone 1 месяц назад
smoke_test.py fda6a635c9 feat: add AgentPlatformBase graduation project 1 месяц назад

README.md

AgentPlatformBase - 双智能体任务平台

AgentPlatformBase 是一个面向 Hello-Agents 第 16 章毕业项目的轻量智能体平台。它用 FastAPI 提供统一后端,用浏览器前端承载对话入口,并接入两个有明确业务价值的智能体:搜索员 deep_research 和资讯员 rss_digest

核心功能

  • 统一智能体注册表:后端通过 AgentRegistry 管理不同智能体。
  • 后台任务执行:长任务默认后台运行,前端轮询任务状态,不阻塞输入框。
  • 搜索员:内置 DeepResearchAgent,生成调研报告并保留运行产物和长期笔记。
  • 资讯员:拉取 RSS、抽取正文、调用 LLM 生成中文摘要,并渲染 HTML 简报。
  • 数据分区:所有智能体数据统一放在 data/{agent_id}/,便于清理和提交时忽略。

项目结构

agent_platform_base/
  backend/
    agents/
      adapters/
        deep_research.py
        rss_digest.py
      base.py
      profiles.py
      registry.py
    memory/
    tasks/
    main.py
    config.py
    maintenance.py
    events.py
    models.py

  frontend/
    index.html
    styles.css
    app.js

  agents/
    deep_research/
      README.md
      src/
        agent.py
        config.py
        services/
    rss_digest/
      src/rss_digest/
      config/
      scripts/
      main.py
      README.md

  data/
    deep_research/
      runs/
      notes/
    rss_digest/
      runs/
      state/

  .env.example
  requirements.txt
  smoke_test.py

目录规则:

  • backend/:平台后端,只放 API、任务、注册表、适配器和平台公共逻辑。
  • frontend/:单页前端工作台。
  • agents/{agent_id}/:具体智能体代码、配置和脚本。
  • data/{agent_id}/runs/:可清理的运行产物。
  • data/{agent_id}/notes/:长期保留的知识和笔记,仅有需要的智能体才创建。
  • data/{agent_id}/state/:持久状态,例如 RSS 去重数据库。

技术栈

  • Python 3.10+
  • FastAPI / Uvicorn
  • Pydantic
  • hello-agents / OpenAI SDK / Tavily / DDGS
  • Requests / Python 标准库 RSS 与 HTML 解析
  • 原生 HTML、CSS、JavaScript

快速开始

cd Co-creation-projects\huailishang-AgentPlatformBase
python -m pip install -r requirements.txt
python main.py

访问:

使用示例

前端输入框必须用 @ 指定智能体:

@deep_research 调研 AI Agent 平台架构
@rss_digest 今日简报
@rss_digest 强制刷新今日简报

如果当天已经生成 RSS HTML 简报,普通 @rss_digest 今日简报 会直接返回已有简报,避免重复拉取和重复消耗 LLM。输入包含“强制”“重新生成”“刷新”或 force/refresh 时会重新运行 RSS pipeline。

运行机制

POST /tasks
POST /tasks/{task_id}/run        默认后台启动,立即返回 running
GET  /tasks/{task_id}            前端轮询直到 completed / failed

同步调试可以使用:

POST /tasks/{task_id}/run?background=false

任务完成后会在 artifacts.elapsed_seconds 记录总耗时。RSS 和 DeepResearch 还会记录更细的阶段耗时,便于后续优化。

RSS 默认配置

RSS_SOURCE_LIMIT=10
RSS_ENTRIES_PER_SOURCE=5
RSS_MAX_NEW_ARTICLES_PER_RUN=50
RSS_MAX_SUMMARY_ARTICLES_PER_RUN=10
RSS_AI_MAX_CONCURRENCY=2
RSS_RELEVANCE_THRESHOLD=65
RSS_MAX_DIGEST_ARTICLES=12

RSS 后台日志只保留阶段级进度和最终统计,逐个 feed、逐篇文章、逐条摘要的过程日志不再打印到后台。

清理策略

清理逻辑在 backend/maintenance.py,长任务调用时惰性触发:

  • RESEARCH_RUN_RETENTION_DAYS=7:删除超过 7 天的搜索员运行产物。
  • RSS_DIGEST_RETENTION_DAYS=7:删除超过 7 天的 RSS HTML 简报。
  • RSS_CACHE_RETENTION_DAYS=7:删除超过 7 天的 RSS 原始 HTML、正文抽取和翻译缓存。
  • 不自动删除 data/deep_research/notes
  • 不自动删除 data/rss_digest/state/articles.json

自检

cd Co-creation-projects\huailishang-AgentPlatformBase
python smoke_test.py

通过时输出:

chapter16 platform smoke test passed

提交说明

按第 16 章要求,最终提交版会整理到:

Co-creation-projects/huailishang-AgentPlatformBase/

提交版不包含 .env、运行数据、缓存、视频、大模型文件或其它大文件,确保项目体积满足 5MB 要求。

项目亮点

  • 平台层和智能体层分离,后续新增智能体只需要实现适配器并注册 profile。
  • 长耗时任务后台执行,前端体验不会被 RSS 抓取或 DeepResearch 调研阻塞。
  • RSS 使用轻量增量策略,默认每次最多处理 10 个源、50 篇正文、10 篇摘要,避免一次调用过慢。
  • 运行产物和长期知识统一归档到 data/{agent_id}/,提交时可以整体忽略。

效果评估

  • smoke_test.py 覆盖健康检查、智能体列表、dry run、批量保护和任务执行基本链路。
  • 提交目录体积约 143KB,不包含运行数据和密钥,满足 5MB 限制。
  • RSS 后台日志已收敛为阶段级统计,避免逐篇文章刷屏。

后续计划

  • deep_research 增加更完整的前端报告查看页。
  • 为 RSS 简报增加前端筛选、收藏和历史归档入口。
  • 将任务事件持久化到 SQLite,支持服务重启后的任务历史查询。

作者

  • GitHub 用户名目录:huailishang-AgentPlatformBase
  • 项目路径:Co-creation-projects/huailishang-AgentPlatformBase/

许可证

本项目用于 Hello-Agents 课程毕业设计提交,遵循仓库根目录许可证约束。