AI Agents, ready to use. Open source. Community-built. Bring your own key.
iloveAgents is a clean, open source web platform where you can run AI agents directly in your browser.
No sign-up. No backend. No data collection. Just paste your API key and go.
Each agent is a focused tool that does one thing really well — summarize meeting notes, review code, generate SQL, write cold emails, and a lot more. The whole platform is config-driven, which means adding a new agent is as simple as adding one JavaScript object to a single file. No deep React knowledge needed.
.env files, no backend, no database. Clone and run in under a minute.The complete list of agents has been moved to AGENTS.md for better organization and scalability.
| Provider | Logo | Models | Get Your Key |
|---|---|---|---|
| OpenAI | GPT-4o, GPT-4o-mini | platform.openai.com | |
| Anthropic | Claude Opus, Claude Sonnet | console.anthropic.com | |
| Google Gemini | Gemini 2.5 Flash | aistudio.google.com |
You can switch providers on any agent at runtime from the dropdown. No restart needed.
Pit three AI providers against each other head-to-head.
Battle Mode has its own dark, dramatic UI with color-coded provider columns (gold for OpenAI, purple for Anthropic, blue for Gemini). Each provider loads independently — if one fails, the other two still work. Access it from the "Enter Battle Mode" button on the homepage or navigate directly to /battle.
Chain multiple agents together and automate your entire process in one run.
Workflows let you connect agents in sequence — the output of each agent automatically becomes the input for the next. Build once, run with any input.
Your Input
│
▼
┌─────────────┐
│ Agent 1 │ e.g. Research Agent
└──────┬──────┘
│ output
▼
┌─────────────┐
│ Agent 2 │ e.g. PDF Summarizer
└──────┬──────┘
│ output
▼
┌─────────────┐
│ Agent 3 │ e.g. LinkedIn Post Writer
└─────────────┘
│
Final Output
If any step fails, the workflow stops at that step and shows you exactly what went wrong — with a Retry button. On success, you can copy all outputs at once.
| Route | What it does |
|---|---|
/workflows |
Browse community workflow library |
/workflows/build |
Create and save a new workflow |
/workflows/:id |
View full details of a workflow |
/workflows/:id/run |
Run a workflow step-by-step |
# Clone the repository
git clone https://github.com/AditthyaSS/iloveAgents.git
cd iloveAgents
# Install dependencies
npm install
# Start the dev server
npm run dev
Open http://localhost:5173 in your browser.
No API provider keys are required in a .env file because
they are entered at runtime and never stored anywhere.
However, local development requires a .env.local file
for Supabase features like Workflows.
Create a .env.local file in the root directory:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
Note: AI provider API keys are still entered at runtime and are never stored anywhere.
The included vercel.json handles SPA routing automatically.
src/
├── agents/
│ ├── definitions/ # Each agent in its own file (auto-collected)
│ │ ├── pdf-summarizer.js
│ │ ├── code-reviewer.js
│ │ └── ... more agent definitions
│ ├── categories.js # CATEGORIES constant
│ └── registry.js # Auto-collects all definitions via import.meta.glob
├── components/
│ ├── AgentRunner.jsx # Generic agent execution UI
│ ├── AgentCard.jsx # Agent card for the homepage grid
│ ├── ApiKeyBar.jsx # Provider and API key input
│ ├── OutputRenderer.jsx # Renders markdown/text/JSON output
│ ├── ScorecardOutput.jsx # Visual scorecard for JSON output
│ ├── BattleNavbar.jsx # Battle Mode navigation bar
│ ├── Navbar.jsx # Top navigation
│ ├── Sidebar.jsx # Agent sidebar
│ └── ...
├── hooks/
│ └── useWorkflows.js # Workflow data operations (fetch, save, realtime)
├── lib/
│ ├── llmAdapter.js # Unified API adapter for all providers
│ ├── supabase.js # Realtime data client
│ └── useApiKey.js # API key state management
├── pages/
│ ├── HomePage.jsx # Landing page with agent grid
│ ├── AgentPage.jsx # Individual agent page
│ ├── WorkflowLibrary.jsx # 🆕 Public workflow library with live counters
│ ├── WorkflowBuilder.jsx # 🆕 Drag-and-drop agent chain builder
│ ├── WorkflowDetail.jsx # 🆕 Single workflow view with realtime stats
│ ├── WorkflowRunner.jsx # 🆕 Sequential agent execution engine
│ ├── BattleModeLanding.jsx # Battle Mode entry page
│ ├── BattleModeSetup.jsx # Battle configuration
│ ├── BattleModeArena.jsx # Three-column battle arena
│ └── BattleModeWinner.jsx # Winner announcement
└── main.jsx
src/agents/definitions/. The registry auto-collects them via import.meta.glob — just drop a file in and it appears.runAgent() function in llmAdapter.js handles all three providers through one unified interface.AgentRunner.jsx builds the input form from the config, constructs the prompt, and renders the response.BattleModeArena.jsx fires the same prompt to GPT-4o, Claude Sonnet, and Gemini Flash simultaneously and lets you pick the winner.WorkflowRunner.jsx chains agents sequentially using the same runAgent() adapter — output of step N becomes input of step N+1, with per-step status cards and real-time usage counters.iloveAgents is built by the community. Every contribution matters — whether it is a new agent, a bug fix, a UI improvement, or just fixing a typo.
1. Create a new file in src/agents/definitions/ named your-agent-id.js:
export default {
id: 'your-agent-id',
name: 'Your Agent Name',
description: 'One-line description.',
category: 'Category',
icon: 'IconName', // from lucide.dev/icons
provider: 'any', // 'openai' | 'anthropic' | 'gemini' | 'any'
defaultProvider: 'openai',
model: 'gpt-4o',
inputs: [
{
id: 'field_id',
label: 'Field Label',
type: 'textarea', // text | textarea | code | select | multiselect
placeholder: 'Hint text...',
required: true,
},
],
systemPrompt: `Your system prompt here.`,
outputType: 'markdown', // markdown | text | json
}
The registry auto-collects it — no need to edit registry.js.
2. Run npm run dev and test your agent with a real API key.
3. Open a PR. That is it!
See CONTRIBUTING.md for the full guide.
| Technology | Purpose |
|---|---|
| React 18 | Component framework |
| Vite 6 | Build tool and dev server |
| Tailwind CSS 3 | Styling |
| React Router 6 | Client-side routing |
| Lucide React | Icons |
| react-markdown | Markdown rendering |
| react-syntax-highlighter | Code highlighting |
Thanks to all contributors ❤️
Licensed under the MIT License — use it, fork it, build on it.
Built with ❤️ by @AditthyaSS and the open source community
⭐ Star this repo if you find it useful — it helps others discover it!
$ claude mcp add iloveAgents \
-- python -m otcore.mcp_server <graph>