A powerful WebUI-based AI Agent with:
- Multi-LLM Support — OpenAI, Anthropic (Claude), OpenRouter
- Parallel Task Execution — Auto-decomposes complex tasks into parallel subtasks
- Skill System — Compatible with Claude Code & OpenCode SKILL.md format
- Identity Files — ID.md (identity), DNA.md (immutable essence), Soul.md (evolving spirit)
- Real-time Streaming — WebSocket-powered live response streaming
🚀 Live Demo | 📖 Documentation | 🐛 Report Bug
cd agent-webui
./start.sh
# Open http://localhost:3737Or manually:
cd agent-webui/backend
npm install
node server.jsSet your API key in the Settings tab of the UI, or edit config.json:
{
"provider": "openrouter",
"model": "nvidia/nemotron-3-super-120b-a12b:free",
"apiKey": "sk-...",
"baseURL": "https://openrouter.ai/api/v1",
"temperature": 0.7
}| Provider | Models |
|---|---|
openai |
gpt-4o, gpt-4o-mini, o1, o3 |
anthropic |
claude-opus-4-5, claude-sonnet-4-5 |
openrouter |
any model via openrouter.ai |
For OpenRouter, set baseURL to https://openrouter.ai/api/v1 and use model names like openai/gpt-4o or nvidia/nemotron-3-super-120b-a12b:free.
Drop skills anywhere in this structure:
.claude/skills/<name>/SKILL.md # project-local
~/.claude/skills/<name>/SKILL.md # global user
.opencode/skills/<name>/SKILL.md # opencode compat
~/.agents/skills/<name>/SKILL.md # agents compat
SKILL.md format:
---
name: my-skill
description: What this skill does
---
## Instructions
...your skill instructions here...Place in identity/:
| File | Purpose | Mutable? |
|---|---|---|
ID.md |
Who the agent is | Rarely |
DNA.md |
Immutable core values | Never |
Soul.md |
Evolving personality | Yes — via Settings > Identity |
These are injected into every conversation as system context. Their raw contents are never revealed in responses.
agent-webui/
├── backend/
│ ├── server.js # Express + WebSocket server
│ ├── llm-adapter.js # OpenAI / Claude / OpenRouter adapter
│ ├── skill-loader.js # SKILL.md discovery & loading
│ ├── identity-manager.js # ID/DNA/Soul injection & output filtering
│ └── task-orchestrator.js # Task decomposition & parallel execution
├── frontend/dist/
│ └── index.html # Single-file WebUI
├── identity/
│ ├── ID.md
│ ├── DNA.md
│ └── Soul.md
├── skills/ # Project-local skills
│ └── example-skill/SKILL.md
└── start.sh
- User sends a complex request
- Agent calls LLM to decompose it into N subtasks
- Independent subtasks run concurrently (respecting dependencies)
- Progress shown in real-time in the UI
- Results are synthesized into a coherent final answer
Toggle "Parallel" in the input bar to disable decomposition for simple queries.
# Clone the repo
git clone https://github.com/idea2realClaw/myAgent.git
cd myAgent
# Install dependencies
cd backend && npm install
# Start development server
npm run devPRs are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License — see LICENSE for details.
If you find this project useful, please consider giving it a star! ⭐
Built with ❤️ by idea2realClaw