autoreg-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# Conol.ai Gateway — OMP Key Matching
|
||||
|
||||
## Problem
|
||||
|
||||
Gateway starts with a random API key but OMP expects a specific one.
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
OMP (providers.yml) Gateway (port 9999)
|
||||
├─ apiKey: test → ├─ /health → api_key_prefix
|
||||
└─ baseUrl: ...9999/v1 ├─ /v1/chat/completions → Bearer auth
|
||||
└─ /v1/models → Bearer auth
|
||||
```
|
||||
|
||||
If the keys don't match: OMP gets HTTP 401 → falls back to next provider → "hermes-conol" NEVER works.
|
||||
|
||||
## Two Gateways, Two Key Mechanisms
|
||||
|
||||
### Gateway v3 (conol_github/conol_pool_gateway.py)
|
||||
Uses `ENI_POOL_KEY` env var. Old stable gateway (20+ hour uptime).
|
||||
|
||||
```bash
|
||||
cd C:\Users\User\Desktop\conol_github
|
||||
ENI_POOL_KEY=test /c/Users/User/AppData/Local/Programs/Python/Python311/python.exe conol_pool_gateway.py
|
||||
```
|
||||
|
||||
If `ENI_POOL_KEY` is not set, generates random `sha256(os.urandom(32))[:32]` → OMP will fail.
|
||||
|
||||
### Gateway v4 (conol_autoreg/gateway.py)
|
||||
Reads from `config.json` → `gateway.api_key`. Default: `test`.
|
||||
|
||||
```bash
|
||||
cd C:\Users\User\Desktop\conol_autoreg
|
||||
/c/Users/User/AppData/Local/Programs/Python/Python311/python.exe gateway.py
|
||||
```
|
||||
|
||||
Also respects `ENI_POOL_KEY` and `ENI_POOL_KEY_OVERRIDE` env vars (override priority: ENI_POOL_KEY_OVERRIDE > ENI_POOL_KEY > config.json).
|
||||
|
||||
## How to Verify Match
|
||||
|
||||
```bash
|
||||
# Get gateway's actual key prefix
|
||||
curl -s http://127.0.0.1:9999/health | python -c "import sys,json; print(json.load(sys.stdin)['api_key_prefix'])"
|
||||
|
||||
# Get OMP's expected key
|
||||
python -c "
|
||||
import yaml
|
||||
with open(r'C:\Users\User\.omp\agent\providers.yml') as f:
|
||||
c = yaml.safe_load(f)
|
||||
print(repr(c['providers']['hermes-conol']['apiKey']))
|
||||
"
|
||||
```
|
||||
|
||||
Both should show `test...`.
|
||||
|
||||
## Common Failure Mode
|
||||
|
||||
Gateway was started without `ENI_POOL_KEY` → random key generated (e.g., `bfae749f...`). OMP has `test`. Result: OMP calls return 401, "hermes-conol" provider silently fails, all traffic falls back to echogate.
|
||||
|
||||
## Fix
|
||||
|
||||
1. Kill old gateway process
|
||||
2. Restart with correct key:
|
||||
```bash
|
||||
# For conol_github gateway:
|
||||
ENI_POOL_KEY=test python conol_pool_gateway.py
|
||||
|
||||
# For conol_autoreg gateway:
|
||||
python gateway.py # reads test from config.json
|
||||
```
|
||||
3. OMP picks up immediately — no restart needed
|
||||
Reference in New Issue
Block a user