内容创作助手

一个AI驱动的自主代理,用于研究主题、撰写高质量博客文章、将内容存储在Neon PostgreSQL数据库中,并使用自定义工具标记完成。

  • by Hrushikesh018
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 hrushikesh018/ai-powered-content-creation-assistant

使用说明

🧠 内容创建助手

一个由人工智能驱动的自主代理:

  • 研究 一个话题
  • 写入 一篇高质量的博客文章
  • 商店 Neon PostgreSQL数据库中的内容
  • 和 标记完成 使用自定义 done 工具

使用 @inngest/agent工具包, 谷歌双子座,以及 Smithery的MCP 通过AI实现无服务器SQL控制。


✨ 特性

特性 描述
代理工作流 五步人工智能工作流程(研究→ 创建数据库表→ 生成内容→ 保存到数据库→ 标记为已完成)。
启用MCP的SQL访问 使用Smithery的MCP+Neon安全执行SQL。无需DB客户端!
LLM发电 使用Gemini 1.5 Flash编写SEO友好、引人入胜的文章。
自定义工具集成 done 该工具存储完成元数据并发出任务成功的信号。
网络和路由 当代理将内容标记为已完成时,任务会自动结束。
本地HTTP服务器 在上启动ESM就绪服务器 localhost:3010.

🔄 代理流程(文本流程图)

START
  ↓
Receive Prompt (e.g., "Write a blog on urban gardening")
  ↓
[contentCreatorAgent Activated]
  ↓
1️⃣ Research Topic
  ↓
2️⃣ Check/Create Database Tables (via Neon MCP)
  ↓
3️⃣ Generate Blog Content (via Gemini 1.5 Flash)
  ↓
4️⃣ Store Content + Metadata in DB
  ↓
5️⃣ Call `done` Tool (store summary, mark complete)
  ↓
[Router Checks]
 └── If completed = true → Stop
 └── Else → Continue
  ↓
END

🚀 入门指南

1.克隆和安装

git clone https://github.com/your-org/content-creation-assistant.git
cd content-creation-assistant
npm install

2.配置环境变量

# .env
SMITHERY_API_KEY=your-smithery-key
GEMINI_API_KEY=your-google-gemini-key
# or: GOOGLE_GENAI_API_KEY=...

3.本地运行

npx tsx index.ts

输出:

🚀 Content Creation Assistant running on http://localhost:3010
🗄️ Connected to Neon PostgreSQL via MCP

4.内置开发服务器(可选)

npx inngest-cli@latest dev -u http://localhost:3010/api/inngest

打开: http://localhost:8288

5.尝试提示

发送POST请求:

POST http://localhost:3010
{
  "prompt": "Create a 1000-word blog post on sustainable urban gardening with SEO tips."
}

🗄️ 数据库模式

CREATE TABLE IF NOT EXISTS content_pieces (
  id SERIAL PRIMARY KEY,
  title VARCHAR(255) NOT NULL,
  content TEXT NOT NULL,
  topic VARCHAR(255),
  content_type VARCHAR(100) DEFAULT 'blog_post',
  word_count INTEGER,
  keywords TEXT[],
  research_summary TEXT,
  created_at TIMESTAMP DEFAULT NOW()
);

CREATE TABLE IF NOT EXISTS research_sources (
  id SERIAL PRIMARY KEY,
  content_id INTEGER REFERENCES content_pieces(id),
  source_title VARCHAR(255),
  source_summary TEXT,
  relevance_score INTEGER DEFAULT 5,
  created_at TIMESTAMP DEFAULT NOW()
);

📁 文件结构

.
├── index.ts           # Main logic (agent, tool, server)
├── package.json
├── tsconfig.json
└── README.md

🛠 定制选项

目标 如何实现
更改模型或LLM参数 编辑 model: gemini({ ... }) 把…的车堵住 index.ts.
添加更多代理/工具 定义新的 createAgent 或 createTool 功能和接线 createNetwork.
添加更多数据库字段 修改SQL模式并更新提示/系统说明。
部署到云端 作为ESM服务器部署到Vercel、Fly.io或Cloudflare。确保 .env 设置正确。

......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... ......................................................................................... .........................................................................................

📜 许可证

麻省理工学院©2025 Hrushikesh Kadudula