refactor: wire Open WebUI → Kiro Gateway + mcpo, add Reltio Forge spec

- docker-compose: 3 services (gateway, mcpo, webui) with proper wiring
- Open WebUI connects to Kiro Gateway for LLM, mcpo for MCP tools
- TOOL_SERVER_CONNECTIONS auto-discovers Jira, Aha, Context7
- Simplified mcporter.json (env vars from container, not JSON)
- env.example consolidated with all keys
- SETUP.md rewritten with architecture diagram
- Pipelines deprecated (mcpo replaces custom Python shims)
- Added docs/reltio-forge.md
This commit is contained in:
Max Mayfield
2026-03-03 13:29:43 +00:00
parent 93ad572b8d
commit a2d7dab296
5 changed files with 121 additions and 70 deletions

View File

@@ -1,61 +1,79 @@
# Open WebUI Integration
Drop-in configuration to use the PM Factory repo with [Open WebUI](https://github.com/open-webui/open-webui).
## Quick Setup
### 1. Connect Your Model Provider
In Open WebUI → Settings → Connections, add:
| Field | Value |
|-------|-------|
| URL | `http://<your-kiro-gateway>:8000/v1` |
| API Key | Your gateway API key |
| Model | `claude-opus-4.6` |
Any OpenAI-compatible provider works (Kiro Gateway, LiteLLM, Ollama, etc).
### 2. Import the Preset
Go to Workspace → Models → Import, and upload `preset.json`.
This creates a "Reltio PM Factory" model preset with the full system prompt from AGENTS.md baked in.
### 3. Upload Knowledge (Optional)
Go to Workspace → Knowledge → Create Collection called "PM Factory".
Upload these directories as documents:
- `skills/epics-standards/references/`
- `skills/factory-standards/` (after running `manager.py update`)
- `skills/bmad-suite/` (after running `manager.py update`)
Then attach the collection to your preset in Model settings → Knowledge.
### 4. Install Pipelines (Optional)
Pipelines let the model execute tools (Jira, Aha!, Gainsight) directly.
Copy the files from `pipelines/` into your Open WebUI pipelines directory, or upload them via the Pipelines UI.
Required env vars (set in Open WebUI → Settings → Pipelines):
- `AHA_API_KEY`
- `AHA_DOMAIN`
- `GAINSIGHT_PX_API_KEY`
- `MCPORTER_CONFIG` — path to `config/mcporter.json`
---
The PM Factory uses Open WebUI as the browser-based frontend for non-technical PMs. It connects to Kiro Gateway for LLM intelligence and mcpo for tool access (Jira, Aha!, Gainsight).
## Architecture
```
Open WebUI (browser)
OpenAI-compatible API
Any LLM Provider (Kiro / Ollama / LiteLLM / OpenAI)
+ System Prompt (preset.json ← AGENTS.md)
+ RAG Knowledge (skills docs)
+ Pipelines (mcporter, aha, gainsight, bmad)
Browser (PM)
Open WebUI (:3000)
├── LLM → Kiro Gateway (:8000/v1) → Claude/GPT/etc
└── Tools → mcpo (:3001) → MCP Servers
├── atlassian (Jira)
├── aha (Aha! roadmaps)
└── context7 (docs lookup)
```
The repo remains CLI-agnostic. This is just one frontend option.
## Quick Start
```bash
cp env.example .env # Fill in your API keys
docker compose up -d
```
Open http://localhost:3000. Log in with the admin email/password from your `.env`.
## How It Works
1. **Kiro Gateway** provides an OpenAI-compatible `/v1/chat/completions` endpoint. Open WebUI talks to it like any OpenAI provider.
2. **mcpo** reads `config/mcporter.json` and exposes each MCP server as an OpenAPI endpoint. Open WebUI discovers tools automatically via `TOOL_SERVER_CONNECTIONS`.
3. **No pipelines needed.** The old `pipelines/` directory contained custom Python shims that shelled out to mcporter. With mcpo, Open WebUI calls MCP tools natively through OpenAPI. The pipelines are deprecated.
## First-Time Setup
### 1. Jira OAuth
Atlassian uses OAuth, not API keys. After `docker compose up`:
```bash
docker exec -it pm-mcpo mcporter auth atlassian
```
Follow the browser prompt to authorize. This is a one-time step per machine.
### 2. Aha! + Gainsight
These use API keys set in `.env`. No extra auth step needed.
### 3. Verify Tools
Open http://localhost:3001/docs to see all available MCP tools exposed by mcpo. Each server has its own route:
- http://localhost:3001/atlassian/docs — Jira tools
- http://localhost:3001/aha/docs — Aha! tools
- http://localhost:3001/context7/docs — Documentation lookup
In Open WebUI, go to Settings → Tools to confirm all three servers are connected.
## Model Preset
Import `preset.json` via Workspace → Models → Import. This loads the PM Factory system prompt with Transparent Factory tenets baked in.
## Knowledge Base
Upload these files as a Knowledge collection in Open WebUI:
- `skills/epics-standards/references/` — Epic templates and checklists
- `skills/gainsight-px/SKILL.md` — Analytics reference
- `docs/reltio-forge.md` — Reltio Forge velocity standard
Then attach the collection to the PM Factory model preset.
## Customization
- **Add MCP servers:** Edit `config/mcporter.json`, restart mcpo
- **Change LLM:** Update `OPENAI_API_KEY` and gateway config in `.env`
- **Custom CSS:** Edit `openwebui/custom.css` (mounted into the container)

View File

@@ -0,0 +1,8 @@
# ⚠️ DEPRECATED — Use mcpo instead
These pipeline files are no longer needed. Open WebUI now connects to MCP servers
directly via mcpo and `TOOL_SERVER_CONNECTIONS`.
See `openwebui/SETUP.md` for the current architecture.
These files are kept for reference only and will be removed in a future cleanup.