Skip to content

joyhuang-558/corespeed

Repository files navigation

Multi-Agent Automation System

这是一个使用 DenoZypher Agent Framework (@corespeed/zypher) 构建的健壮多智能体自动化系统。

项目功能

自动化 AI 内容管道,实现:

  1. 监控 Hugging Face 中文博客 (https://huggingface.co/blog/zh) 的新文章
  2. 检查本地状态文件,避免重复处理同一篇文章
  3. 总结新文章并生成小红书(RedNote)内容
  4. 使用特定的小红书 MCP 发布笔记

系统架构

系统包含 4 个专门的智能体:

1. Researcher Agent(研究员)

  • 角色: 发现和抓取
  • 工具: Firecrawl / Universal Crawler
  • 配置: 使用 @modelcontextprotocol/server-firecrawl MCP 服务器

2. Analyst Agent(分析师)

  • 角色: 纯 LLM 分析(无需工具)
  • 功能: 总结文章内容,聚焦于"是什么"和"为什么重要"

3. Editor Agent(编辑)

  • 角色: 纯 LLM 内容生成(无需工具)
  • 功能: 生成小红书风格的文案和图片提示词

4. Publisher Agent(发布者)

  • 角色: 上传图片并创建笔记
  • 工具: Xiaohongshu (RedNote) MCP
  • 配置: 使用 rednote-mcp

环境要求

安装步骤

1. 安装 Deno

在 macOS 上,可以使用以下命令安装 Deno:

curl -fsSL https://deno.land/install.sh | sh

安装完成后,将 Deno 添加到 PATH(通常会自动添加到 ~/.zshrc~/.bash_profile):

export PATH="$HOME/.deno/bin:$PATH"

或者重新打开终端窗口。

2. 安装依赖

deno add jsr:@corespeed/zypher
deno add npm:rxjs-for-await

3. 配置环境变量

创建 .env 文件,填入以下 API 密钥:

# Required: Anthropic API Key for LLM
ANTHROPIC_API_KEY=your_anthropic_api_key_here

# Required: Firecrawl API Key for web scraping
FIRECRAWL_API_KEY=your_firecrawl_api_key_here

获取 API 密钥

4. 初始化小红书 MCP(重要!)

在使用 Publisher Agent 之前,必须先初始化小红书 MCP:

npx rednote-mcp init

这将生成必要的 cookies 用于身份验证。

5. 创建资源目录(可选)

如果需要使用真实的图片(而不是模拟图片),创建 assets 目录:

mkdir -p assets
# 将封面图片放在 assets/cover.jpg

运行项目

deno task start

或者直接运行:

deno run --env-file=.env -A main.ts

工作流程

系统执行以下顺序工作流:

  1. 初始化: 设置上下文和所有智能体
  2. 发现: Researcher Agent 访问博客,找到最新文章 URL
  3. 状态检查: 加载 processed_log.json,比较 URL
    • 如果已处理:退出(Deno.exit(0)
    • 如果新文章:继续处理
  4. 抓取: Researcher Agent 抓取文章完整内容
  5. 分析: Analyst Agent 总结文章
  6. 创建: Editor Agent 生成文案和图片提示词
  7. 发布: Publisher Agent 上传图片并创建笔记
  8. 提交状态: 更新 processed_log.json 记录新 URL

文件结构

corespeed/
├── agents.ts              # 智能体工厂函数
├── main.ts                # 主工作流逻辑
├── processed_log.json     # 状态管理文件(自动生成)
├── deno.json             # Deno 配置
├── .env                  # 环境变量(需自行创建)
└── assets/               # 资源目录(可选)
    └── cover.jpg         # 封面图片

状态管理

系统使用 processed_log.json 跟踪已处理的文章:

{
  "last_processed_url": "https://huggingface.co/blog/zh/...",
  "last_processed_at": "2024-01-01T00:00:00.000Z"
}

注意事项

  1. 图片处理: 当前使用模拟图片路径 (./assets/cover.jpg)。如需实际图片生成,请替换 getMockImagePath() 函数。

  2. 小红书 MCP: 确保在首次使用前运行 npx rednote-mcp init 来配置认证。

  3. 错误处理: 如果发现 URL 提取失败,系统会输出错误并退出。

  4. 事件流: 系统会实时输出所有智能体的事件流,便于调试。

参考资料

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors