AgentAuthor is an autonomous blog-generation platform powered by multi-agent systems. Simply give a topic name, and AgentAuthor will handle everything — from research to writing, HTML generation, GitHub commits, and live publishing on Vercel. All with minimal human input.
- 🧠 Research Agent: Gathers contextual data using Tavily API.
- 🗣️ Content Agent: Rewrites content to be more friendly and engaging using Google LLMs.
- 🎨 UI Agent: Converts content into a full HTML blog page.
- 🛠️ GitHub Agent: Pushes the generated HTML file to a GitHub repository.
- 🚀 Publishing Agent: Deploys the blog to Vercel for public access.
- React – Frontend framework for building the user interface.
- Kaiban.js – Agent orchestration and task management framework.
- Google API (LLMs) – Used for content generation and rewriting.
- Tavily API – Performs contextual and intelligent web search.
- Vercel – For seamless blog deployment.
- GitHub API – Used to commit and push blog files automatically.
- User Input: You provide a topic and click "Create Blog".
- Tavily Agent: Researches the topic from the web.
- Content Agent: Rewrites the researched content in a friendly, engaging tone.
- UI Agent: Generates an HTML version of the blog.
- GitHub Agent: Pushes the blog page to a GitHub repo.
- Publishing Agent: Deploys the blog to Vercel.
Kaiban.js powers the multi-agent logic in AgentAuthor. Here's how it works:
A Team is a group of agents working collaboratively toward a shared goal. In AgentAuthor, teams are formed dynamically based on the task (e.g., writing a blog, publishing it).
An Agent is an autonomous unit responsible for a specific task. Each agent has skills, tools, and a role. Examples:
ResearchAgentContentAgentUIAgentGithubAgentPublishingAgent
Tools are external utilities or APIs that an agent can use. For example:
- Tavily API (used by ResearchAgent)
- Google LLMs (used by ContentAgent)
- GitHub API (used by GithubAgent)
Tasks are atomic units of work that agents complete. Tasks are assigned by the team or a coordinating agent. For example:
- "Search for latest info on climate change"
- "Rewrite paragraph to be friendly"
- "Create an HTML page with blog content"
- "Push file to GitHub"
- "Deploy site to Vercel"
- Node.js (v18+)
- npm or yarn
- GitHub account
- Vercel account
- API Keys for:
- Tavily API
- Google Cloud LLM
- GitHub Personal Access Token
git clone https://github.com/vomeshatukuri/agentauthor.git
cd agentauthornpm install
# or
yarn installCreate a .env file in the root directory and add your credentials:
TAVILY_API_KEY=your_tavily_api_key
GOOGLE_API_KEY=your_google_llm_api_key
GITHUB_TOKEN=your_github_personal_access_token
VERCEL_TOKEN=your_vercel_tokennpm run dev
# or
yarn devThe app should be running at http://localhost:3000. (You can expand this with setup instructions, API key setup, etc.)
Contributions are welcome! Feel free to submit issues or pull requests.
For questions or collaboration, feel free to reach out.