@vizzor/cli 0.14.6 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -2
- package/chronovisor-engine/Dockerfile +12 -0
- package/chronovisor-engine/models/regime_detector/metrics_1773536830.json +36 -0
- package/chronovisor-engine/models/regime_detector/regime_detector_1773536830_model.pkl +0 -0
- package/chronovisor-engine/models/rug_detector/metrics_1773536830.json +7 -0
- package/chronovisor-engine/models/rug_detector/rug_detector_1773536830_model.pkl +0 -0
- package/chronovisor-engine/models/sentiment_nlp/metrics_1773536831.json +4 -0
- package/chronovisor-engine/models/sentiment_nlp/sentiment_nlp_1773536831_model.pkl +0 -0
- package/chronovisor-engine/models/trend_scorer/metrics_1773536830.json +5 -0
- package/chronovisor-engine/models/trend_scorer/trend_scorer_1773536830_model.pkl +0 -0
- package/chronovisor-engine/pyproject.toml +2 -2
- package/chronovisor-engine/src/server.py +2 -1
- package/dist/index.js +35903 -8469
- package/dist/index.js.map +1 -1
- package/package.json +33 -26
package/README.md
CHANGED
|
@@ -50,6 +50,22 @@ ETH at $2,112 | Bullish | Confidence: Medium-High
|
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
53
|
+
## What's new in v0.15.1 — Polaris
|
|
54
|
+
|
|
55
|
+
> [Full release notes →](https://github.com/7ayLabs/vizzor/releases/tag/v0.15.1)
|
|
56
|
+
|
|
57
|
+
- **Four new free-tier signal sources** — Deribit options term structure + 25-delta skew, Hyperliquid DEX positioning vs CEX funding divergence, Reddit + 4chan retail-sentiment NLP with contrarian top/bottom flags, and a 30-day funding-rate z-score from a new history table.
|
|
58
|
+
- **Closed-loop WR observability** — every signal records its vote + outcome, the auditor classifies each signal as INVERT / DAMPEN / WATCH / KEEP from rolling WR, and a polarity registry applies sign + magnitude overrides BEFORE CF combination. New `/wr-diagnose` + `/signal-override` commands.
|
|
59
|
+
- **Adversarial signal-conflict gate** — when onChain CF and logicRules CF disagree by >0.6 magnitude in opposite directions, the prediction is reframed as RANGE instead of emitting low-conviction directional noise.
|
|
60
|
+
- **Calibration acceleration** — regime-bucketed Platt shards per (family, regime), cross-symbol per-family prior inheritance, confidence-weighted SGD, calibrator bootstrap from a 30-day rolling window.
|
|
61
|
+
- **Production-grade auto-deploy** — merging to `main` auto-SSHes to the VPS, pulls the new image from GHCR, and rolls the docker stack in ~3-5 min. Health-gated, concurrency-protected.
|
|
62
|
+
- **Per-user accuracy correctness** — `user_id` persisted at `logPrediction` insert time closes the long-standing bug where every operator on the same bot saw a shared WR.
|
|
63
|
+
- **Session-scoped DM delivery + orphan re-guard** — old DMs from previous sessions never deliver, mid-session deletes suppress queued DMs.
|
|
64
|
+
- **Env-aware data dir** (`VIZZOR_DATA_DIR`) — dev and prod can now run on the same machine without thrashing shared SQLite state.
|
|
65
|
+
- **Sentry, Prometheus `/metrics`, bearer-auth `/health`** — observability for unattended 24/7 operation.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
53
69
|
## Why Vizzor?
|
|
54
70
|
|
|
55
71
|
Most crypto tools show you what already happened. Vizzor shows you what's likely to happen next.
|
|
@@ -72,6 +88,7 @@ That's it. Vizzor launches a guided setup wizard that walks you through:
|
|
|
72
88
|
- Choosing your AI provider (Claude, GPT-4, Gemini, or local Ollama)
|
|
73
89
|
- Setting up API keys
|
|
74
90
|
- Picking your default chain
|
|
91
|
+
- Optionally installing the ChronoVisor ML engine on first run
|
|
75
92
|
- Learning the first commands
|
|
76
93
|
|
|
77
94
|
### Start predicting
|
|
@@ -88,7 +105,8 @@ That's it. Vizzor launches a guided setup wizard that walks you through:
|
|
|
88
105
|
### Better prediction accuracy
|
|
89
106
|
|
|
90
107
|
After setup, follow these tips for the best results:
|
|
91
|
-
-
|
|
108
|
+
- Enable the ChronoVisor engine during setup, or run `vizzor chronovisor setup` later
|
|
109
|
+
- Run `/cosmos on` for stricter tracked-only qualification and fewer low-edge setups
|
|
92
110
|
- For intraday: focus on `BTC`, `ETH`, and `SOL` with `2h`, `3h`, `4h`, `6h` horizons
|
|
93
111
|
- For scalping: focus on `BTC` and `ETH` with exact short horizons like `10m`, `20m`, `45m`
|
|
94
112
|
- For long-range: ask for `7d`, `30d`, `90d`, or `1y` scenario ranges
|
|
@@ -155,6 +173,8 @@ docker compose up -d # Starts CLI + ChronoVisor Engine + PostgreSQL + Web D
|
|
|
155
173
|
|---------|-------------|
|
|
156
174
|
| **Price predictions** | Bull/bear/likely targets across 9 timeframes (5m to 3 months), batch multi-horizon in a single call |
|
|
157
175
|
| **ChronoVisor engine** | Mathematical prediction system: Bayesian inference, certainty-factor algebra with weak signal dampening, first-order logic rules (17 base + 7 scalping), meta-reasoning, and continuous weight learning with feedback loops |
|
|
176
|
+
| **Triple-system A+ gate** | Predictions promoted to tracked tier only when Vizzor TA + SMC structure + ICT timing all align on direction (Vizzor's mental model: take a trade only when momentum, structure, and timing agree) |
|
|
177
|
+
| **Persistent calibration** | Platt calibrator, FOL rule tracker, and per-symbol volatility registry survive process restarts — tracked WR no longer rebuilds from zero after every deploy |
|
|
158
178
|
| **Alert-hit notifications** | Toast banners when price targets hit, with training feedback (accuracy, streak, weight updates), ESC-to-dismiss, auto-dismiss |
|
|
159
179
|
| **Prediction markets** | Integrates Gamma and Polymarket data for market-implied probabilities |
|
|
160
180
|
| **Polymarket edge scanning** | Compare ChronoVisor predictions vs Polymarket odds, detect mispricings, execute trades via CLOB API |
|
|
@@ -165,6 +185,9 @@ docker compose up -d # Starts CLI + ChronoVisor Engine + PostgreSQL + Web D
|
|
|
165
185
|
|---------|-------------|
|
|
166
186
|
| **Multi-exchange pricing** | Aggregated prices from 15 exchanges (Binance, Coinbase, Kraken, OKX, Bybit, Gate.io, KuCoin, HTX, MEXC, Bitget, CoinGecko, CryptoCompare, DexScreener, GeckoTerminal, Jupiter) with VWAP/median aggregation and outlier detection |
|
|
167
187
|
| **Microstructure analysis** | Market structure, FVGs, VWAP, volume delta, liquidation map, order book depth, S/R zones, squeeze detection |
|
|
188
|
+
| **CVD / aggressor delta** | Cumulative volume delta from Binance trade stream — short/mid divergence + impulse detection |
|
|
189
|
+
| **Anticipatory signals** | Whale Alert exchange flow, stablecoin mint/burn velocity, token unlock calendar, Coinbase premium spread, SEC EDGAR pre-news filings — fire before price moves, not after |
|
|
190
|
+
| **SMC + ICT layer** | Smart Money Concepts aggregator (BOS, CHoCH, liquidity sweeps, order blocks) + ICT timing (London/NY kill-zones, Asian range sweeps) |
|
|
168
191
|
| **Derivatives positioning** | Funding rates, open interest, long/short ratios from Binance Futures |
|
|
169
192
|
| **Sentiment analysis** | Fear & Greed Index + news sentiment + buy/sell transaction ratios |
|
|
170
193
|
| **Trending discovery** | What's moving right now across DexScreener and CoinGecko |
|
|
@@ -188,6 +211,7 @@ docker compose up -d # Starts CLI + ChronoVisor Engine + PostgreSQL + Web D
|
|
|
188
211
|
| **Backtesting** | Test strategies against historical data with full metrics (return, win rate, Sharpe, drawdown) |
|
|
189
212
|
| **Wallet management** | AES-256-GCM encrypted wallets with scrypt key derivation |
|
|
190
213
|
| **Notifications & alerts** | Price alerts for all prediction types (directional + sideways breakout), interactive alerts panel with dismiss-on-review |
|
|
214
|
+
| **AI auto-armed alerts** | When the AI composes a directional trade plan (Entry/TP/SL), the `set_trade_plan_alerts` tool automatically arms price-threshold alerts at those levels with confirmation footer in the reply |
|
|
191
215
|
|
|
192
216
|
### Platforms
|
|
193
217
|
|
|
@@ -197,7 +221,7 @@ docker compose up -d # Starts CLI + ChronoVisor Engine + PostgreSQL + Web D
|
|
|
197
221
|
| **Web Dashboard** | Next.js 15 — AI chat, markets, agents, portfolio, Polymarket, notifications |
|
|
198
222
|
| **REST API** | Fastify + Swagger — 40+ endpoints with API key auth and rate limiting |
|
|
199
223
|
| **Discord Bot** | Full command suite with AI-powered chat via @mention |
|
|
200
|
-
| **Telegram Bot** | Full command suite with AI chat on any message |
|
|
224
|
+
| **Telegram Bot** | Full command suite with AI chat on any message — production-ready with `/health` endpoint, graceful shutdown, automated backups, and 6-hour state persistence (Platt calibrator + rule tracker survive restart). New commands: `/alerts` (list armed alerts), `/whoami` (allowlist onboarding), `/chronovisor minsystems` (D4 gate runtime tuning) |
|
|
201
225
|
|
|
202
226
|
---
|
|
203
227
|
|
|
@@ -457,6 +481,12 @@ WS /ws # WebSocket real-time push
|
|
|
457
481
|
|
|
458
482
|
The ChronoVisor engine is an optional Python-based prediction accelerator with 16 trained models that enhances Vizzor's predictions with ML. When unavailable, Vizzor falls back to its rule-based heuristics automatically — no setup required to start using Vizzor.
|
|
459
483
|
|
|
484
|
+
If your tracked setups keep getting skipped, check whether ChronoVisor is actually enabled and healthy:
|
|
485
|
+
|
|
486
|
+
```bash
|
|
487
|
+
vizzor chronovisor status
|
|
488
|
+
```
|
|
489
|
+
|
|
460
490
|
### Quick setup
|
|
461
491
|
|
|
462
492
|
```bash
|
|
@@ -486,6 +516,18 @@ curl http://localhost:7200/health
|
|
|
486
516
|
| **Runtime** | Docker (recommended) or Python 3.11+ |
|
|
487
517
|
| **GPU** | Not required — CPU-based by default |
|
|
488
518
|
|
|
519
|
+
### Production deployment
|
|
520
|
+
|
|
521
|
+
A `docker-compose.prod.yml` overlay layers production hardening on top of the base compose: `restart: always`, JSON log rotation (10MB × 3 files per service), and the `vizzor-backup` sidecar that runs `scripts/backup.sh` every 6 hours with 14-day retention. The bot exposes a `/health` endpoint (default `:7101`) compatible with UptimeRobot, BetterStack, and Docker healthchecks.
|
|
522
|
+
|
|
523
|
+
```bash
|
|
524
|
+
# On the VPS, after first build:
|
|
525
|
+
docker compose -f docker-compose.yml -f docker-compose.prod.yml --env-file .env up -d
|
|
526
|
+
curl http://localhost:7101/health # → {"ok":true,"status":"healthy",...}
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
See [`scripts/backup.sh`](scripts/backup.sh), [`scripts/restore.sh`](scripts/restore.sh), and [`scripts/deploy-gen-env.py`](scripts/deploy-gen-env.py) for the operator-facing backup, restore, and `.env` bootstrap helpers.
|
|
530
|
+
|
|
489
531
|
---
|
|
490
532
|
|
|
491
533
|
## Configuration
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"accuracy": 0.22,
|
|
3
|
+
"per_class": {
|
|
4
|
+
"trending_bull": {
|
|
5
|
+
"precision": 0.14285714285714285,
|
|
6
|
+
"recall": 0.09090909090909091,
|
|
7
|
+
"f1-score": 0.1111111111111111,
|
|
8
|
+
"support": 33.0
|
|
9
|
+
},
|
|
10
|
+
"trending_bear": {
|
|
11
|
+
"precision": 0.208955223880597,
|
|
12
|
+
"recall": 0.45161290322580644,
|
|
13
|
+
"f1-score": 0.2857142857142857,
|
|
14
|
+
"support": 31.0
|
|
15
|
+
},
|
|
16
|
+
"ranging": {
|
|
17
|
+
"precision": 0.20689655172413793,
|
|
18
|
+
"recall": 0.2222222222222222,
|
|
19
|
+
"f1-score": 0.21428571428571427,
|
|
20
|
+
"support": 27.0
|
|
21
|
+
},
|
|
22
|
+
"volatile": {
|
|
23
|
+
"precision": 0.2857142857142857,
|
|
24
|
+
"recall": 0.1875,
|
|
25
|
+
"f1-score": 0.22641509433962265,
|
|
26
|
+
"support": 32.0
|
|
27
|
+
},
|
|
28
|
+
"capitulation": {
|
|
29
|
+
"precision": 0.3333333333333333,
|
|
30
|
+
"recall": 0.14814814814814814,
|
|
31
|
+
"f1-score": 0.20512820512820512,
|
|
32
|
+
"support": 27.0
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"test_samples": 150
|
|
36
|
+
}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "vizzor-ml-sidecar"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.15.0"
|
|
4
4
|
description = "ML sidecar for Vizzor — LSTM, RF, Isolation Forest, Rug Detection, Wallet Classification, Sentiment NLP, Trend Scoring, TA Interpretation, Regime Detection, Strategy Bandit, Project Risk, Portfolio Optimization, Intent Classification"
|
|
5
5
|
requires-python = ">=3.11"
|
|
6
6
|
dependencies = [
|
|
@@ -9,7 +9,7 @@ dependencies = [
|
|
|
9
9
|
"torch>=2.5.0",
|
|
10
10
|
"scikit-learn>=1.6.0",
|
|
11
11
|
"psycopg2-binary>=2.9.10",
|
|
12
|
-
"numpy>=2.
|
|
12
|
+
"numpy>=1.26,<2.0",
|
|
13
13
|
"pandas>=2.2.0",
|
|
14
14
|
"joblib>=1.4.0",
|
|
15
15
|
"transformers>=4.40.0",
|
|
@@ -664,7 +664,7 @@ async def lifespan(_app: FastAPI):
|
|
|
664
664
|
|
|
665
665
|
app = FastAPI(
|
|
666
666
|
title="Vizzor ML Sidecar",
|
|
667
|
-
version="0.
|
|
667
|
+
version="0.15.0",
|
|
668
668
|
lifespan=lifespan,
|
|
669
669
|
)
|
|
670
670
|
|
|
@@ -1509,6 +1509,7 @@ async def catalog_roadmap():
|
|
|
1509
1509
|
@app.get("/health")
|
|
1510
1510
|
async def health():
|
|
1511
1511
|
return {
|
|
1512
|
+
"version": app.version,
|
|
1512
1513
|
"models": [
|
|
1513
1514
|
{
|
|
1514
1515
|
"name": "lstm-predictor",
|