Port: 5002
URL: http://127.0.0.1:5002
Central registry for both existing applications AND proposed app ideas. Track applications through their entire lifecycle from idea to production.
| Stage | Description |
|---|---|
| proposed | New ideas from agents, awaiting review |
| approved | Approved and ready to build |
| rejected | Not approved (can be reconsidered) |
| building | Currently in development |
| running | Deployed and active |
| archived | Old or retired applications |
- Central Registry - All apps (existing + proposed) in one place
- Stage Tracking - Move apps through lifecycle
- Approval Workflow - Review and approve/reject proposals
- Filters - View by stage (Proposed, Approved, Building, Running, Rejected)
- Priority Levels - 1-5 priority system
- Requirements & Prompts - For proposed apps
- Port Management - Track running app ports
- Auto-Detection - Checks if running apps are actually up
- Agent submits new app ideas as "proposed"
- Includes requirements and prompts
- App appears in "Proposed" section
- Review proposed apps
- Click "Approve" or "Reject"
- Approved apps move to "Approved" queue
- Rejected apps stay but marked rejected
- Only build apps in "Approved" stage
- Move to "Building" when work starts
- Deploy to "Running" when complete
- Archive old apps
cd ~/.openclaw/workspace/apps/app-index
pip install -r requirements.txt
python3 app.pyNavigate to http://127.0.0.1:5002:
- View all apps or filter by stage
- Stats showing count in each stage
- Add new apps or proposals
- Approve/reject proposed apps
- Move apps between stages
- Set stage to "running"
- Enter port number
- Add description
- Set stage to "proposed"
- Add requirements
- Add associated prompts
- Set priority
- Submit for review
| Endpoint | Method | Description |
|---|---|---|
/api/apps |
GET | List all apps (with optional ?stage=proposed) |
/api/apps |
POST | Add new app (defaults to proposed) |
/api/approve/<id> |
POST | Approve a proposed app |
/api/reject/<id> |
POST | Reject a proposed app |
# List all apps
curl http://127.0.0.1:5002/api/apps
# List only proposed
curl "http://127.0.0.1:5002/api/apps?stage=proposed"
# Add proposed app (from agent)
curl -X POST http://127.0.0.1:5002/api/apps \
-H "Content-Type: application/json" \
-d '{
"name": "New App Idea",
"description": "What it does",
"requirements": "Must do X, Y, Z",
"prompts": "Build using Flask, SQLite",
"priority": 4
}'
# Approve app
curl -X POST http://127.0.0.1:5002/api/approve/1
# Reject app
curl -X POST http://127.0.0.1:5002/api/reject/1This app sends logs to the centralized logging dashboard (App #2, port 5001).
- Ports detected as running via socket check
- Priority 1-5 (5 = highest)
- Rejected apps can be "unrejected" to return to proposed
- Only approved apps should be built