Ecko is a Prompt Architect agent that transforms vague, incomplete user requests into structured, comprehensive prompts optimized for task execution.
Think of Ecko as: Your requirements analyst + technical architect + project planner rolled into one.
Open WebUI now has 3 Mimir pipeline modes:
| Pipeline | What It Does | Use When |
|---|---|---|
| Mimir: Ecko Only | Transforms your request into structured prompt | You want to refine requirements |
| Mimir: Ecko → PM | Ecko + PM task breakdown | You want a complete plan (recommended) |
| Mimir: Full | Complete orchestration (experimental) | Testing full workflow |
The pipeline uses whatever model you select in the dropdown:
- gpt-4.1 - Best for complex analysis (recommended)
- gpt-4o - Faster, good for most tasks
- gpt-5-mini - Quick, lightweight processing
Just type your request naturally:
Build a REST API for user management
or
Create a dashboard that shows real-time metrics
or
Design a microservices architecture for e-commerce
The pipeline will stream output in code-fenced markdown blocks:
# Project: User Management REST API
## Executive Summary
Build a RESTful API for user management with CRUD operations...
## Requirements
### Functional Requirements
1. Users can register with email/password
2. System must authenticate users with JWT
...
## Deliverables
### 1. API Specification
- Format: OpenAPI 3.0 YAML
- Content: Endpoints, schemas, auth
...# Project Plan: User Management REST API
## Task Breakdown
### Task 1: Design API Schema
- Description: Create OpenAPI specification
- Deliverable: openapi.yaml
- Complexity: Medium
- Dependencies: None
### Task 2: Implement Authentication
- Description: JWT-based auth middleware
- Deliverable: auth.js
- Complexity: High
- Dependencies: Task 1
...Build a REST API for user management
Ecko expands this into:
-
Functional Requirements
- User registration, login, logout
- CRUD operations for user profiles
- Password reset functionality
- Email verification
-
Technical Constraints
- RESTful architecture
- JWT authentication
- Database schema design
- API versioning strategy
-
Success Criteria
- All endpoints return proper status codes
- Authentication works with token refresh
- Input validation prevents SQL injection
- API documentation is complete
-
Deliverables
- OpenAPI specification
- Database schema
- Authentication middleware
- Integration tests
- Deployment guide
-
Technical Challenges
- Token refresh strategy
- Password hashing algorithm
- Rate limiting implementation
- CORS configuration
-
Guiding Questions
- Which database? (PostgreSQL, MySQL, MongoDB)
- Session management? (Stateless JWT vs. Redis)
- Email service? (SendGrid, AWS SES)
- Deployment target? (Docker, serverless, VMs)
Takes Ecko's structured prompt and breaks it into executable tasks:
### Task 1: Design API Schema
- Description: Create OpenAPI 3.0 specification
- Deliverable: openapi.yaml with all endpoints
- Complexity: Medium
- Dependencies: None
- Estimated Time: 2-3 hours
### Task 2: Set Up Database Schema
- Description: Design user table with proper indexes
- Deliverable: migration.sql
- Complexity: Low
- Dependencies: Task 1
- Estimated Time: 1 hour
### Task 3: Implement JWT Authentication
- Description: Auth middleware with token generation/validation
- Deliverable: auth.js with tests
- Complexity: High
- Dependencies: Task 1, Task 2
- Estimated Time: 4-5 hours
[... more tasks ...]
## Execution Order
Task 1 → Task 2 → Task 3 → Task 4 → Task 5You:
Create a todo app with React
Ecko expands to:
- Frontend: React components, state management, routing
- Backend: REST API for todos (CRUD)
- Database: Schema for todos, users
- Auth: User login/registration
- Deployment: Build process, hosting
PM breaks down into:
- Task 1: Design component hierarchy
- Task 2: Set up React project with routing
- Task 3: Create todo CRUD components
- Task 4: Implement state management (Context/Redux)
- Task 5: Build backend API
- Task 6: Connect frontend to backend
- Task 7: Add authentication
- Task 8: Deploy to hosting
You:
Design a microservices architecture for an e-commerce platform
Ecko expands to:
- Services: User, Product, Order, Payment, Inventory, Notification
- Communication: REST vs. gRPC vs. message queues
- Data: Database per service vs. shared database
- Auth: Centralized auth service vs. distributed
- Observability: Logging, tracing, metrics
- Deployment: Kubernetes, service mesh, CI/CD
PM breaks down into:
- Task 1: Architecture diagram (services + communication)
- Task 2: API contracts for each service
- Task 3: Database schema for each service
- Task 4: Service discovery strategy
- Task 5: Authentication/authorization design
- Task 6: Observability stack setup
- Task 7: Deployment manifests (Kubernetes)
- Task 8: CI/CD pipeline design
In Open WebUI:
- Go to Settings → Admin Panel → Pipelines
- Find Mimir Orchestrator
- Click Settings (gear icon)
- Update DEFAULT_MODEL to your preferred model
- Save
In pipeline settings:
- ECKO_ENABLED: true/false (enable Ecko stage)
- PM_ENABLED: true/false (enable PM stage)
- WORKERS_ENABLED: false (experimental, not yet implemented)
All outputs are displayed as code-fenced markdown in the chat window:
## 🎨 Ecko Structured Prompt
```markdown
[Ecko's structured prompt here]✅ Structured prompt ready for PM
[PM's task breakdown here]✅ Task plan ready for review
**Why code-fenced?**
- Easy to copy/paste
- Preserves formatting
- Syntax highlighting
- Can be saved to files manually
## 🎯 Best Practices
### 1. Be Specific About Constraints
**Instead of:**
Build a web app
**Try:**
Build a web app using React (no Redux), Node.js backend, PostgreSQL database
### 2. Mention Your Context
**Instead of:**
Add authentication
**Try:**
Add JWT authentication to my existing Express.js API
### 3. Specify Deliverables
**Instead of:**
Design the system
**Try:**
Design the system - need architecture diagram, API spec, and database schema
### 4. Use Ecko for Refinement
If PM's output isn't detailed enough:
1. Copy PM's output
2. Send it back through Ecko with: "Expand this plan with more details"
3. Review the refined output
## 🐛 Troubleshooting
### Pipeline not showing up?
1. Check Open WebUI logs:
```bash
docker logs mimir-open-webui
-
Verify pipeline file exists:
docker exec mimir-open-webui ls -la /app/pipelines/ -
Restart Open WebUI:
docker-compose restart open-webui
The pipeline uses whatever model you select in the dropdown. Make sure you've selected a model (gpt-4.1, gpt-4o, or gpt-5-mini).
Check your internet connection and copilot-api status:
curl http://localhost:4141/v1/modelsUse Mimir: Ecko Only mode and refine the output yourself, then manually pass it to PM.
- Test Ecko: Try "Mimir: Ecko Only" with a simple request
- Full Pipeline: Try "Mimir: Ecko → PM" for complete planning
- Iterate: Refine prompts based on output quality
- Save Plans: Copy code-fenced output to files for execution
What you have:
- ✅ Ecko transforms vague requests into structured prompts
- ✅ PM breaks structured prompts into executable tasks
- ✅ Uses your selected model (gpt-4.1, gpt-4o, gpt-5-mini)
- ✅ Outputs code-fenced markdown for easy review
- ✅ Streams results in real-time
How to use:
- Select "Mimir: Ecko → PM" pipeline
- Select your model (gpt-4.1 recommended)
- Type your request
- Review the structured prompt and task plan
- Copy and execute!
Version: 1.0.0
Last Updated: 2025-11-06
Status: ✅ Production Ready