dexterm-cli 0.1.7 → 0.2.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/dist/packages/agents/src/spectator.js +31 -3
- package/dist/packages/agents/src/tiers.js +12 -0
- package/dist/packages/agents/src/tools.js +13 -5
- package/dist/packages/autotrade/assets/limits.schema.json +569 -0
- package/dist/packages/autotrade/examples/executor/README.md +70 -0
- package/dist/packages/autotrade/examples/executor/jsonl-tail-executor.mjs +57 -0
- package/dist/packages/autotrade/examples/executor/kit.mjs +144 -0
- package/dist/packages/autotrade/examples/executor/signal-cmd-executor.mjs +25 -0
- package/dist/packages/autotrade/examples/executor/telegram-bot-recipe.md +47 -0
- package/dist/packages/autotrade/examples/executor/webhook-executor.mjs +47 -0
- package/dist/packages/autotrade/src/backtest.js +7 -2
- package/dist/packages/autotrade/src/chat/config.js +4 -2
- package/dist/packages/autotrade/src/chat/control.js +1 -0
- package/dist/packages/autotrade/src/chat/notify.js +16 -6
- package/dist/packages/autotrade/src/chat/secrets.js +25 -18
- package/dist/packages/autotrade/src/chat/service.js +3 -0
- package/dist/packages/autotrade/src/engine.js +16 -2
- package/dist/packages/autotrade/src/executor-health.js +217 -0
- package/dist/packages/autotrade/src/fleet.js +5 -2
- package/dist/packages/autotrade/src/forward.js +355 -0
- package/dist/packages/autotrade/src/index.js +21 -0
- package/dist/packages/autotrade/src/journey.js +477 -0
- package/dist/packages/autotrade/src/limits.js +682 -0
- package/dist/packages/autotrade/src/outbox.js +394 -0
- package/dist/packages/autotrade/src/paper-limits.js +87 -0
- package/dist/packages/autotrade/src/real-mode.js +688 -0
- package/dist/packages/autotrade/src/receipts.js +330 -0
- package/dist/packages/autotrade/src/report.js +168 -0
- package/dist/packages/autotrade/src/rugproof-probe.js +415 -0
- package/dist/packages/autotrade/src/rugproof.js +231 -0
- package/dist/packages/autotrade/src/runner.js +194 -28
- package/dist/packages/autotrade/src/service-guard.js +125 -0
- package/dist/packages/autotrade/src/service-install.js +215 -0
- package/dist/packages/autotrade/src/service-recover.js +232 -0
- package/dist/packages/autotrade/src/service.js +289 -0
- package/dist/packages/autotrade/src/sessions.js +16 -7
- package/dist/packages/autotrade/src/signal-channels.js +312 -0
- package/dist/packages/autotrade/src/signal.js +196 -0
- package/dist/packages/autotrade/src/strategy-stats.js +344 -0
- package/dist/packages/autotrade/src/strategy.js +15 -2
- package/dist/packages/autotrade/src/trade-ledger.js +2 -2
- package/dist/packages/classifier/src/calibrate.js +138 -0
- package/dist/packages/classifier/src/classify.js +107 -0
- package/dist/packages/classifier/src/config.js +220 -0
- package/dist/packages/classifier/src/dossier.js +95 -0
- package/dist/packages/classifier/src/hardware.js +63 -0
- package/dist/packages/classifier/src/index.js +18 -0
- package/dist/packages/classifier/src/models.js +111 -0
- package/dist/packages/classifier/src/providers/heuristic.js +77 -0
- package/dist/packages/classifier/src/providers/http.js +63 -0
- package/dist/packages/classifier/src/providers/jev-open.js +86 -0
- package/dist/packages/classifier/src/providers/llm.js +89 -0
- package/dist/packages/classifier/src/providers/systemone-http.js +95 -0
- package/dist/packages/classifier/src/questions.js +97 -0
- package/dist/packages/classifier/src/registry.js +42 -0
- package/dist/packages/classifier/src/snapshot.js +31 -0
- package/dist/packages/classifier/src/systemone.js +88 -0
- package/dist/packages/classifier/src/types.js +18 -0
- package/dist/packages/cli/assets/dash/dash.css +139 -0
- package/dist/packages/cli/assets/dash/dash.js +200 -0
- package/dist/packages/cli/assets/dash/icon.svg +1 -0
- package/dist/packages/cli/assets/dash/index.html +36 -0
- package/dist/packages/cli/src/analyst/backend.js +3 -2
- package/dist/packages/cli/src/analyst/codex.js +3 -2
- package/dist/packages/cli/src/app-help-gen.js +26 -2
- package/dist/packages/cli/src/autotrade-cmd/audit.js +19 -2
- package/dist/packages/cli/src/autotrade-cmd/backtest.js +21 -4
- package/dist/packages/cli/src/autotrade-cmd/executor.js +91 -0
- package/dist/packages/cli/src/autotrade-cmd/fleet.js +16 -5
- package/dist/packages/cli/src/autotrade-cmd/forward.js +283 -0
- package/dist/packages/cli/src/autotrade-cmd/journey.js +208 -0
- package/dist/packages/cli/src/autotrade-cmd/limits.js +393 -0
- package/dist/packages/cli/src/autotrade-cmd/receipt.js +63 -0
- package/dist/packages/cli/src/autotrade-cmd/report.js +79 -0
- package/dist/packages/cli/src/autotrade-cmd/run.js +268 -14
- package/dist/packages/cli/src/autotrade-cmd/service.js +873 -0
- package/dist/packages/cli/src/autotrade-cmd/signal.js +824 -0
- package/dist/packages/cli/src/autotrade-cmd.js +50 -4
- package/dist/packages/cli/src/classifier-cmd.js +353 -0
- package/dist/packages/cli/src/classifier-live.js +81 -0
- package/dist/packages/cli/src/dash/data.js +217 -0
- package/dist/packages/cli/src/dash/server.js +92 -0
- package/dist/packages/cli/src/dash-cmd.js +113 -0
- package/dist/packages/cli/src/doctor.js +34 -0
- package/dist/packages/cli/src/ledger-cmd.js +4 -2
- package/dist/packages/cli/src/live/screens/token-live.js +4 -0
- package/dist/packages/cli/src/live/signals.js +8 -0
- package/dist/packages/cli/src/main.js +98 -6
- package/dist/packages/cli/src/mcp-follow.js +21 -1
- package/dist/packages/cli/src/narratives-cmd.js +147 -0
- package/dist/packages/cli/src/narratives.js +114 -0
- package/dist/packages/cli/src/overlay/model.js +147 -0
- package/dist/packages/cli/src/overlay/page.js +146 -0
- package/dist/packages/cli/src/overlay/pnl.js +75 -0
- package/dist/packages/cli/src/overlay/server.js +170 -0
- package/dist/packages/cli/src/overlay-cmd.js +367 -0
- package/dist/packages/cli/src/pnl-card.js +4 -0
- package/dist/packages/cli/src/record-cmd.js +82 -11
- package/dist/packages/cli/src/rules-cmd.js +2 -1
- package/dist/packages/cli/src/rules.js +24 -4
- package/dist/packages/cli/src/screens/autotrade-journey.js +134 -0
- package/dist/packages/cli/src/screens/autotrade-keys.js +13 -0
- package/dist/packages/cli/src/screens/autotrade-screen.js +57 -6
- package/dist/packages/cli/src/screens/autotrade-ui.js +17 -7
- package/dist/packages/cli/src/screens/autotrade-worker.js +4 -2
- package/dist/packages/cli/src/screens/narrative.js +154 -2
- package/dist/packages/cli/src/state.js +1 -0
- package/dist/packages/cli/src/telegram-cmd.js +4 -1
- package/dist/packages/cli/src/version.js +1 -1
- package/dist/packages/custom/src/rules.js +5 -1
- package/dist/packages/data/src/trade/ledger/schema.js +1 -1
- package/dist/packages/mcp/assets/kb/app-help/autotrade-executor-kit.md +44 -0
- package/dist/packages/mcp/assets/kb/app-help/autotrade-journey.md +46 -0
- package/dist/packages/mcp/assets/kb/app-help/autotrade-limits.md +48 -0
- package/dist/packages/mcp/assets/kb/app-help/autotrade-real-signal.md +45 -0
- package/dist/packages/mcp/assets/kb/app-help/classification-models.md +41 -0
- package/dist/packages/mcp/assets/kb/app-help/live-trading.md +1 -1
- package/dist/packages/mcp/assets/kb/app-help/narratives-tracker.md +45 -0
- package/dist/packages/mcp/assets/kb/app-help/screen-autotrade.md +12 -0
- package/dist/packages/mcp/assets/kb/app-help/strategy-dashboard.md +38 -0
- package/dist/packages/mcp/assets/kb/app-help/streamer-overlay.md +36 -0
- package/dist/packages/mcp/assets/kb/app-help/trade-ledger.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-change-a-strategy-by-chat.md +3 -1
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-on-the-q-screen.md +1 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-rug-proof-entries-experimental.md +52 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-running-it-all-day.md +2 -2
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-stopping-it.md +2 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-the-always-on-service.md +59 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-the-strategy-dashboard-dexterm-dash.md +37 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-what-it-is-paper-self-directed.md +9 -2
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-what-it-will-not-do.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade.md +3 -1
- package/dist/packages/mcp/assets/kb/docs/docs-beginners-before-any-experimental-trading.md +2 -2
- package/dist/packages/mcp/assets/kb/docs/docs-beginners-copy-and-paste-without-surprises.md +0 -1
- package/dist/packages/mcp/assets/kb/docs/docs-beginners-if-dexterm-says-command-not-found.md +2 -2
- package/dist/packages/mcp/assets/kb/docs/docs-beginners-reopen-dexterm-later.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-beginners-terminal-shell-prompt-command-output-and-path.md +2 -2
- package/dist/packages/mcp/assets/kb/docs/docs-beginners-windows-expectations.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-beginners-windows.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-build-a-strategy-by-chat-1-ask-for-a-strategy.md +27 -0
- package/dist/packages/mcp/assets/kb/docs/docs-build-a-strategy-by-chat-2-backtest-it-held-out-split.md +31 -0
- package/dist/packages/mcp/assets/kb/docs/docs-build-a-strategy-by-chat-3-forward-test-it-on-live-data.md +44 -0
- package/dist/packages/mcp/assets/kb/docs/docs-build-a-strategy-by-chat-4-promote-it-to-always-on-paper.md +36 -0
- package/dist/packages/mcp/assets/kb/docs/docs-build-a-strategy-by-chat-5-real-only-if-you-choose.md +36 -0
- package/dist/packages/mcp/assets/kb/docs/docs-build-a-strategy-by-chat-the-ladder.md +41 -0
- package/dist/packages/mcp/assets/kb/docs/docs-build-a-strategy-by-chat-the-report.md +31 -0
- package/dist/packages/mcp/assets/kb/docs/docs-build-a-strategy-by-chat-what-the-analyst-knows.md +30 -0
- package/dist/packages/mcp/assets/kb/docs/docs-build-a-strategy-by-chat.md +26 -0
- package/dist/packages/mcp/assets/kb/docs/docs-classifier-hosted-jev-with-your-own-key.md +34 -0
- package/dist/packages/mcp/assets/kb/docs/docs-classifier-how-they-measured-on-dexterm-s-own-history.md +52 -0
- package/dist/packages/mcp/assets/kb/docs/docs-classifier-set-up-kev-on-your-own-machine.md +39 -0
- package/dist/packages/mcp/assets/kb/docs/docs-classifier-settings.md +35 -0
- package/dist/packages/mcp/assets/kb/docs/docs-classifier-the-choices.md +36 -0
- package/dist/packages/mcp/assets/kb/docs/docs-classifier-where-it-plugs-in.md +29 -0
- package/dist/packages/mcp/assets/kb/docs/docs-classifier-which-model-for-which-machine.md +42 -0
- package/dist/packages/mcp/assets/kb/docs/docs-classifier.md +32 -0
- package/dist/packages/mcp/assets/kb/docs/docs-cli-invocations.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-configuration-headless-recorder-dexterm-record.md +3 -0
- package/dist/packages/mcp/assets/kb/docs/docs-copy-trading.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-data-sources-recorded-history-and-retention.md +1 -0
- package/dist/packages/mcp/assets/kb/docs/docs-getting-started-install.md +3 -3
- package/dist/packages/mcp/assets/kb/docs/docs-getting-started-requirements.md +2 -2
- package/dist/packages/mcp/assets/kb/docs/docs-getting-started-supported-platforms.md +2 -11
- package/dist/packages/mcp/assets/kb/docs/docs-getting-started.md +2 -2
- package/dist/packages/mcp/assets/kb/docs/docs-going-real-executor-health.md +38 -0
- package/dist/packages/mcp/assets/kb/docs/docs-going-real-paper-vs-real.md +33 -0
- package/dist/packages/mcp/assets/kb/docs/docs-going-real-the-digest.md +36 -0
- package/dist/packages/mcp/assets/kb/docs/docs-going-real-the-executor-kit.md +48 -0
- package/dist/packages/mcp/assets/kb/docs/docs-going-real-the-whole-path.md +37 -0
- package/dist/packages/mcp/assets/kb/docs/docs-going-real-what-dexterm-does-and-never-does.md +44 -0
- package/dist/packages/mcp/assets/kb/docs/docs-going-real-your-limits.md +77 -0
- package/dist/packages/mcp/assets/kb/docs/docs-going-real.md +24 -0
- package/dist/packages/mcp/assets/kb/docs/docs-larp-measured-accuracy.md +2 -2
- package/dist/packages/mcp/assets/kb/docs/docs-larp-paste-a-coin-on-the-web.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-larp-the-larp-score.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading-changed-in-0-1-7.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading-real-mode-your-strategy-s-trades-to-your.md +31 -0
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading-the-short-version.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading-using-a-trading-bot-with-dexterm.md +0 -2
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading-what-dexterm-does-not-do.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-narratives-how-coins-are-grouped.md +39 -0
- package/dist/packages/mcp/assets/kb/docs/docs-narratives-limits.md +29 -0
- package/dist/packages/mcp/assets/kb/docs/docs-narratives-what-is-measured.md +44 -0
- package/dist/packages/mcp/assets/kb/docs/docs-narratives-what-testing-showed.md +43 -0
- package/dist/packages/mcp/assets/kb/docs/docs-narratives-where-to-find-it.md +37 -0
- package/dist/packages/mcp/assets/kb/docs/docs-narratives.md +29 -0
- package/dist/packages/mcp/assets/kb/docs/docs-overlay-before-you-start.md +33 -0
- package/dist/packages/mcp/assets/kb/docs/docs-overlay-limits.md +30 -0
- package/dist/packages/mcp/assets/kb/docs/docs-overlay-options.md +36 -0
- package/dist/packages/mcp/assets/kb/docs/docs-overlay-security-model.md +36 -0
- package/dist/packages/mcp/assets/kb/docs/docs-overlay-set-it-up-in-obs-step-by-step.md +49 -0
- package/dist/packages/mcp/assets/kb/docs/docs-overlay-the-pnl-scene-paper-and-live.md +34 -0
- package/dist/packages/mcp/assets/kb/docs/docs-overlay-the-three-scenes.md +35 -0
- package/dist/packages/mcp/assets/kb/docs/docs-overlay-what-is-redacted.md +31 -0
- package/dist/packages/mcp/assets/kb/docs/docs-overlay.md +25 -0
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-real-mode-receipts-what-your-executor-did.md +42 -0
- package/dist/packages/mcp/assets/kb/docs/docs-real-mode-safety.md +34 -0
- package/dist/packages/mcp/assets/kb/docs/docs-real-mode-set-it-up.md +47 -0
- package/dist/packages/mcp/assets/kb/docs/docs-real-mode-the-channels.md +42 -0
- package/dist/packages/mcp/assets/kb/docs/docs-real-mode-the-signal.md +48 -0
- package/dist/packages/mcp/assets/kb/docs/docs-real-mode-what-it-is.md +37 -0
- package/dist/packages/mcp/assets/kb/docs/docs-real-mode-what-it-will-not-do.md +34 -0
- package/dist/packages/mcp/assets/kb/docs/docs-real-mode-where-you-see-it.md +34 -0
- package/dist/packages/mcp/assets/kb/docs/docs-real-mode.md +27 -0
- package/dist/packages/mcp/assets/kb/docs/docs-screens-bubble-map.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-spectator-streaming-it.md +1 -0
- package/dist/packages/mcp/assets/kb/docs/docs-telegram-what-it-is.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-voice-linux-and-windows.md +2 -2
- package/dist/packages/mcp/assets/kb/entries/autotrade.md +4 -2
- package/dist/packages/mcp/assets/kb/entries/narratives-tracker.md +45 -0
- package/dist/packages/mcp/src/autotrade-tools.js +168 -5
- package/dist/packages/mcp/src/engine/restrictions.js +3 -3
- package/dist/packages/mcp/src/index.js +1 -1
- package/dist/packages/mcp/src/ledger-tools.js +155 -7
- package/dist/packages/mcp/src/server.js +125 -10
- package/dist/packages/mcp/src/spectator-sink.js +27 -0
- package/dist/packages/narratives/src/cluster.js +193 -0
- package/dist/packages/narratives/src/embed.js +184 -0
- package/dist/packages/narratives/src/export.js +60 -0
- package/dist/packages/narratives/src/index.js +10 -0
- package/dist/packages/narratives/src/label.js +48 -0
- package/dist/packages/narratives/src/normalize.js +179 -0
- package/dist/packages/narratives/src/recorder.js +93 -0
- package/dist/packages/narratives/src/tracker.js +328 -0
- package/dist/packages/recorder/src/exit-probes.js +215 -0
- package/dist/packages/recorder/src/index.js +1 -0
- package/dist/packages/recorder/src/recorder.js +11 -1
- package/dist/packages/recorder/src/retention.js +4 -0
- package/dist/packages/recorder/src/schema.js +20 -1
- package/dist/packages/tui/src/keymap.js +12 -0
- package/package.json +3 -1
- package/dist/packages/mcp/assets/kb/docs/docs-beginners-windows-powershell-experimental.md +0 -39
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-live-trading-real-mode-your-strategy-s-trades-to-your
|
|
3
|
+
title: Live trading › Real mode: your strategy's trades to your executor (0.2.0, experimental)
|
|
4
|
+
kind: docs
|
|
5
|
+
page: live-trading
|
|
6
|
+
page_title: Live trading
|
|
7
|
+
heading: Real mode: your strategy's trades to your executor (0.2.0, experimental)
|
|
8
|
+
anchor: real-mode-your-strategy-s-trades-to-your-executor-0-2-0-experimental
|
|
9
|
+
url: https://dexterm.xyz/docs/live-trading#real-mode-your-strategy-s-trades-to-your-executor-0-2-0-experimental
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- live-trading
|
|
13
|
+
- real
|
|
14
|
+
- mode
|
|
15
|
+
- strategy
|
|
16
|
+
- trades
|
|
17
|
+
- executor
|
|
18
|
+
- experimental
|
|
19
|
+
- live
|
|
20
|
+
- trading
|
|
21
|
+
confidence: high
|
|
22
|
+
owner: maintainers
|
|
23
|
+
origin: docs-generated
|
|
24
|
+
reviewed_by: generated@2026-10-16
|
|
25
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
26
|
+
sources:
|
|
27
|
+
- site/content/docs/live-trading.md
|
|
28
|
+
date: 2026-10-16
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
In real mode (https://dexterm.xyz/docs/real-mode) a strategy you armed on your own terminal sends every buy and sell it decides to your executor as a LIVE TRADE FIRE signal: a local webhook, a command, a stream file or MCP (a bot cannot read another bot's messages), with a copy in your Telegram chat. Your executor holds the wallet and acts on it; dexterm still holds no key and signs nothing. Hard caps, a kill switch (`dexterm autotrade signal kill`) and receipts of what your executor did are all on your machine. Experimental; not financial advice.
|
|
@@ -24,7 +24,7 @@ sources:
|
|
|
24
24
|
date: 2026-10-16
|
|
25
25
|
---
|
|
26
26
|
|
|
27
|
-
> **0.
|
|
27
|
+
> **0.2.0, experimental:** dexterm never holds a key and never signs. Live trades happen in the executor you choose (a Telegram trading bot behind your own relay, or any script): in real mode (https://dexterm.xyz/docs/real-mode) your strategy sends it a signal for each trade, and it acts by its own rules. Not financial advice.
|
|
28
28
|
|
|
29
29
|
- **dexterm never holds a key and never signs a transaction.** It has no trading wallet, no signer and no place to keep a private key. It builds no transaction and sends none.
|
|
30
30
|
- **Live trading happens in a Telegram trading bot of your choice.** That bot holds its own wallet and places the orders. You pick it, you fund it, and its rules and fees are its own.
|
package/dist/packages/mcp/assets/kb/docs/docs-live-trading-using-a-trading-bot-with-dexterm.md
CHANGED
|
@@ -29,5 +29,3 @@ date: 2026-10-16
|
|
|
29
29
|
2. Set up dexterm's own bot for your chat: `dexterm telegram setup`, then `dexterm telegram pair`. See Telegram (https://dexterm.xyz/docs/telegram). This is a separate bot that only talks to you.
|
|
30
30
|
3. Run a strategy on paper (`dexterm autotrade run <id> --paper`). Its alerts arrive in your chat.
|
|
31
31
|
4. When you want to act on one, do it in your trading bot.
|
|
32
|
-
|
|
33
|
-
dexterm has not been tested with any particular trading bot.
|
|
@@ -24,7 +24,7 @@ sources:
|
|
|
24
24
|
date: 2026-10-16
|
|
25
25
|
---
|
|
26
26
|
|
|
27
|
-
- It does not place an order in your trading bot for you. In
|
|
27
|
+
- It does not place an order in your trading bot for you. In real mode (https://dexterm.xyz/docs/real-mode) it sends your executor a signal; your executor places the order, by its own rules.
|
|
28
28
|
- It does not hold, import, create, decrypt or ask for a private key or seed phrase. Anything that asks you for one is not dexterm.
|
|
29
29
|
- It does not sign or send a transaction. `dexterm wallet link` only proves which wallet is yours with a signed **message** in Phantom; dexterm keeps the public key to show your address. It never asks Phantom to sign a transaction.
|
|
30
30
|
- It does not know what your trading bot did. Positions, fills and P/L in dexterm are paper.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-narratives-how-coins-are-grouped
|
|
3
|
+
title: Memes and narratives (experimental) › How coins are grouped
|
|
4
|
+
kind: docs
|
|
5
|
+
page: narratives
|
|
6
|
+
page_title: Memes and narratives (experimental)
|
|
7
|
+
heading: How coins are grouped
|
|
8
|
+
anchor: how-coins-are-grouped
|
|
9
|
+
url: https://dexterm.xyz/docs/narratives#how-coins-are-grouped
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- narratives
|
|
13
|
+
- coins
|
|
14
|
+
- are
|
|
15
|
+
- grouped
|
|
16
|
+
- memes
|
|
17
|
+
- experimental
|
|
18
|
+
confidence: high
|
|
19
|
+
owner: maintainers
|
|
20
|
+
origin: docs-generated
|
|
21
|
+
reviewed_by: generated@2026-10-16
|
|
22
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
23
|
+
sources:
|
|
24
|
+
- site/content/docs/narratives.md
|
|
25
|
+
date: 2026-10-16
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
1. **Normalise** the name and ticker (and the description or social handles when the data layer has them): leetspeak
|
|
29
|
+
(`Z0RP`), repeated letters (`ZOOOORP`), camelCase (`ZorpWifHat`), emoji (🐸 → frog), glued tickers split against a
|
|
30
|
+
vocabulary learned from other names (`BABYZORP` → baby + zorp), and copy-cat affixes (`BABY`, `MINI`, `2.0`, `INU`,
|
|
31
|
+
`AI`) kept as weak words so "Baby X" lands next to X.
|
|
32
|
+
2. **Embed** each coin with a local model. The default is built in: a hashed vector of the meme words, their letter
|
|
33
|
+
trigrams and the lexicon themes (dogs, politics, ai-agents, holiday-seasonal, …). An optional small open model,
|
|
34
|
+
all-MiniLM-L6-v2 on CPU through transformers.js, or any local Ollama embedding model, adds meaning links such as
|
|
35
|
+
kitty to cat (`DEXTERM_NARRATIVE_EMBEDDER=minilm` or `ollama`).
|
|
36
|
+
3. **Cluster** incrementally in first-seen order. A coin joins the closest narrative it shares a meme word with (or, with
|
|
37
|
+
a semantic model, a currently hot one) if it is close enough to that narrative's centre and to the coin that started
|
|
38
|
+
it. Otherwise it starts a new narrative. Ids are stable (`nar_…`) and narratives never merge or split afterwards.
|
|
39
|
+
The label is the most common word or two-word phrase.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-narratives-limits
|
|
3
|
+
title: Memes and narratives (experimental) › Limits
|
|
4
|
+
kind: docs
|
|
5
|
+
page: narratives
|
|
6
|
+
page_title: Memes and narratives (experimental)
|
|
7
|
+
heading: Limits
|
|
8
|
+
anchor: limits
|
|
9
|
+
url: https://dexterm.xyz/docs/narratives#limits
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- narratives
|
|
13
|
+
- limits
|
|
14
|
+
- memes
|
|
15
|
+
- experimental
|
|
16
|
+
confidence: high
|
|
17
|
+
owner: maintainers
|
|
18
|
+
origin: docs-generated
|
|
19
|
+
reviewed_by: generated@2026-10-16
|
|
20
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
21
|
+
sources:
|
|
22
|
+
- site/content/docs/narratives.md
|
|
23
|
+
date: 2026-10-16
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
- Name-based: themes that live only on X or Telegram are missed until a coin's name carries them.
|
|
27
|
+
- Volume is each source's rolling window at the coin's newest sample; a coin not sampled for 6 h counts as zero.
|
|
28
|
+
- Two themes that converge later stay two rows (ids never change).
|
|
29
|
+
- The first build of the table reads the last 26 h of recorded history: tens of seconds on a large database (the screen stays live meanwhile).
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-narratives-what-is-measured
|
|
3
|
+
title: Memes and narratives (experimental) › What is measured
|
|
4
|
+
kind: docs
|
|
5
|
+
page: narratives
|
|
6
|
+
page_title: Memes and narratives (experimental)
|
|
7
|
+
heading: What is measured
|
|
8
|
+
anchor: what-is-measured
|
|
9
|
+
url: https://dexterm.xyz/docs/narratives#what-is-measured
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- narratives
|
|
13
|
+
- measured
|
|
14
|
+
- memes
|
|
15
|
+
- experimental
|
|
16
|
+
confidence: high
|
|
17
|
+
owner: maintainers
|
|
18
|
+
origin: docs-generated
|
|
19
|
+
reviewed_by: generated@2026-10-16
|
|
20
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
21
|
+
sources:
|
|
22
|
+
- site/content/docs/narratives.md
|
|
23
|
+
date: 2026-10-16
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
Per narrative and window (5 m, 1 h, 6 h, 24 h): coins seen, new coins and the new-coin rate, the narrative's share of all
|
|
27
|
+
tracked volume, unique traders (1 h, Jupiter) and their growth, the top runner (sellable pool of at least 10k USD) and its drawdown
|
|
28
|
+
from its peak, how often the same meme word was relaunched in the last hour, and a 0-100 **traction score** (1 h volume
|
|
29
|
+
growth, spawn rate, repeated-name velocity, share of new-coin volume, breadth). Rank 1 is the highest score.
|
|
30
|
+
**Cross-coin holder overlap is not recorded, so it is not part of the score** (it shows as null, never estimated).
|
|
31
|
+
|
|
32
|
+
**Lifecycle**, first rule that matches:
|
|
33
|
+
|
|
34
|
+
| state | rule |
|
|
35
|
+
|---|---|
|
|
36
|
+
| dead | no member sampled in 6 h, or 1 h volume under 1k USD with no new coin in 6 h |
|
|
37
|
+
| spark | the first coin is under 1 h old |
|
|
38
|
+
| ignition | 1 h volume ≥ 5k USD and ≥ 2× the 1 h volume an hour ago, with a new coin in the hour or unique traders +50% |
|
|
39
|
+
| fading | 1 h volume ≤ 40% of its 24 h high, or ≤ 60% of an hour ago |
|
|
40
|
+
| peak | otherwise: hot, near its 24 h high, growing under 2× |
|
|
41
|
+
|
|
42
|
+
**Copy-cat saturation** (`*` in the table): at least 5 coins, at least 3 of them new in 6 h, and the coins after the 3
|
|
43
|
+
oldest together hold under 25% of the narrative's 1 h volume. The copies are launching, but they are not getting the
|
|
44
|
+
volume.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-narratives-what-testing-showed
|
|
3
|
+
title: Memes and narratives (experimental) › What testing showed
|
|
4
|
+
kind: docs
|
|
5
|
+
page: narratives
|
|
6
|
+
page_title: Memes and narratives (experimental)
|
|
7
|
+
heading: What testing showed
|
|
8
|
+
anchor: what-testing-showed
|
|
9
|
+
url: https://dexterm.xyz/docs/narratives#what-testing-showed
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- narratives
|
|
13
|
+
- testing
|
|
14
|
+
- showed
|
|
15
|
+
- memes
|
|
16
|
+
- experimental
|
|
17
|
+
confidence: high
|
|
18
|
+
owner: maintainers
|
|
19
|
+
origin: docs-generated
|
|
20
|
+
reviewed_by: generated@2026-10-16
|
|
21
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
22
|
+
sources:
|
|
23
|
+
- site/content/docs/narratives.md
|
|
24
|
+
date: 2026-10-16
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
We replayed 11 days of dexterm's recorded history (219,730 coins) through the tracker in time order, reading each
|
|
28
|
+
coin's narrative at the first moment a scanner could act on it (point in time: nothing recorded after that moment),
|
|
29
|
+
and tested it on days that were held back until the end, the same way as dexterm's other entry research.
|
|
30
|
+
|
|
31
|
+
- **It is a useful map of what is running, not an edge.** On the held-back days, adding the narrative to a coin's own
|
|
32
|
+
numbers did not help tell apart the coins that later tripled (ranking quality fell slightly, by 0.022 (95% interval -0.059 to +0.008)) or the ones that drained
|
|
33
|
+
(fell by 0.033 (-0.052 to -0.015)).
|
|
34
|
+
- **None of the narrative gates we fixed in advance improved paper results** when added to the existing entry rules:
|
|
35
|
+
joining an igniting narrative early, skipping the 5th or later copy of a saturated narrative, and skipping fading or
|
|
36
|
+
dead narratives. In the 22 combinations of these gates and rules with at least 20 paper entries, none raised the average result per entry and three lowered it. (One more gate, added after looking at the earlier days, is reported apart; its 5 combinations moved nothing either way.) Every gate also skipped some of the coins that went on to run.
|
|
37
|
+
- **What it does describe:** a coin that is part of a narrative (two or more coins) drained within 6 hours about twice as often as a coin on its own (about 50% against 27% on the held-back days), and also tripled a little more often. Copy-cat waves are where both the runs and the drains happen. The lifecycle states themselves did not sort the outcomes: the share that later tripled was 4% to 6% in every state.
|
|
38
|
+
- In a hand-graded sample of 100 narratives, 70 were coherent (one meme and its copies, or one theme) and the
|
|
39
|
+
label named the theme in 87. The usual mistakes: the same ticker reused for an unrelated coin, and a shared
|
|
40
|
+
generic word.
|
|
41
|
+
|
|
42
|
+
Every number above comes with its sample size and a 95% interval in the study; the narratives table is a way to see
|
|
43
|
+
what is running, and the numbers say it should not be read as a reason to trade.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-narratives-where-to-find-it
|
|
3
|
+
title: Memes and narratives (experimental) › Where to find it
|
|
4
|
+
kind: docs
|
|
5
|
+
page: narratives
|
|
6
|
+
page_title: Memes and narratives (experimental)
|
|
7
|
+
heading: Where to find it
|
|
8
|
+
anchor: where-to-find-it
|
|
9
|
+
url: https://dexterm.xyz/docs/narratives#where-to-find-it
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- narratives
|
|
13
|
+
- where
|
|
14
|
+
- find
|
|
15
|
+
- memes
|
|
16
|
+
- experimental
|
|
17
|
+
confidence: high
|
|
18
|
+
owner: maintainers
|
|
19
|
+
origin: docs-generated
|
|
20
|
+
reviewed_by: generated@2026-10-16
|
|
21
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
22
|
+
sources:
|
|
23
|
+
- site/content/docs/narratives.md
|
|
24
|
+
date: 2026-10-16
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
- The `N` screen opens the narrative board. Press `n` to switch between the theme board and the **NARRATIVES**
|
|
28
|
+
heat table. `enter` drills into a narrative's member coins; `esc` goes back to the table.
|
|
29
|
+
- The token screen shows a **Narrative** row once the tracker has been built (open `N` then `n` first), for example
|
|
30
|
+
`ZORP · lifecycle: ignition · rank 3 · #2 of 9`.
|
|
31
|
+
- `dexterm narratives` prints the heat table. `dexterm narratives detail ID` shows one narrative, `dexterm narratives of
|
|
32
|
+
MINT` shows the narrative of one coin, and `dexterm narratives export --out FILE` writes the JSON
|
|
33
|
+
(`dexterm-narratives/1`) that a strategy tracker page reads. `--at ISO` replays up to a past time.
|
|
34
|
+
- MCP tools for your analyst or your own agent: `narratives_top`, `narrative_detail`, `narrative_of` (observe tier,
|
|
35
|
+
read-only). Coin names come back wrapped as untrusted data.
|
|
36
|
+
- Watch rules: the field `narrative_rank` and the tags `narrative:ignition` / `narrative:saturated`, so a rule can fire
|
|
37
|
+
"when the coin's narrative ignites".
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-narratives
|
|
3
|
+
title: Memes and narratives (experimental)
|
|
4
|
+
kind: docs
|
|
5
|
+
page: narratives
|
|
6
|
+
page_title: Memes and narratives (experimental)
|
|
7
|
+
url: https://dexterm.xyz/docs/narratives
|
|
8
|
+
tags:
|
|
9
|
+
- docs
|
|
10
|
+
- narratives
|
|
11
|
+
- memes
|
|
12
|
+
- experimental
|
|
13
|
+
confidence: high
|
|
14
|
+
owner: maintainers
|
|
15
|
+
origin: docs-generated
|
|
16
|
+
reviewed_by: generated@2026-10-16
|
|
17
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
18
|
+
sources:
|
|
19
|
+
- site/content/docs/narratives.md
|
|
20
|
+
date: 2026-10-16
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
Groups coins by the theme their name and ticker carry, and measures each theme's heat per window. Measured heat, not advice.
|
|
24
|
+
|
|
25
|
+
A memecoin does not need a real project to run. It moves on a theme: a ticker pun, an animal, a celebrity, an AI-agent
|
|
26
|
+
craze, a holiday, or simply being a copy of a coin that just ran. The narratives tracker groups coins by that theme and
|
|
27
|
+
measures how hot each one is right now. It is **experimental**, **keyless** and **local**. It adds no network requests,
|
|
28
|
+
because it reads the history recorder, and it never calls a model. Everything it shows is **measured heat from recorded
|
|
29
|
+
market data, not advice and not a prediction**.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-overlay-before-you-start
|
|
3
|
+
title: Streamer overlay (OBS) › Before you start
|
|
4
|
+
kind: docs
|
|
5
|
+
page: overlay
|
|
6
|
+
page_title: Streamer overlay (OBS)
|
|
7
|
+
heading: Before you start
|
|
8
|
+
anchor: before-you-start
|
|
9
|
+
url: https://dexterm.xyz/docs/overlay#before-you-start
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- overlay
|
|
13
|
+
- before
|
|
14
|
+
- start
|
|
15
|
+
- streamer
|
|
16
|
+
- obs
|
|
17
|
+
confidence: high
|
|
18
|
+
owner: maintainers
|
|
19
|
+
origin: docs-generated
|
|
20
|
+
reviewed_by: generated@2026-10-16
|
|
21
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
22
|
+
sources:
|
|
23
|
+
- site/content/docs/overlay.md
|
|
24
|
+
date: 2026-10-16
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
You need an agent session to watch. Pick one:
|
|
28
|
+
|
|
29
|
+
- **An agent connected over MCP** (Claude Code, Cursor, Codex, …): run the app with `dexterm --spectate-mcp`. Your terminal follows the agent and opens the read-only spectator stream. See follow over MCP (https://dexterm.xyz/docs/spectator#follow-over-mcp-in-the-running-terminal).
|
|
30
|
+
- **An agent on the loopback bus**: `dexterm agent serve --spectate`. See bring your own agent (https://dexterm.xyz/docs/agents).
|
|
31
|
+
- **No agent, a dry run or a rehearsal**: a saved session with `--replay FILE` (record one with `dexterm agent serve --record FILE`). Every scene then carries a yellow **SAMPLE DATA · REPLAY** tag.
|
|
32
|
+
|
|
33
|
+
The overlay finds the live stream on its own (the same `spectator.json` that `dexterm spectate --info` reads), waits for it if it is not up yet, and reconnects when it restarts.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-overlay-limits
|
|
3
|
+
title: Streamer overlay (OBS) › Limits
|
|
4
|
+
kind: docs
|
|
5
|
+
page: overlay
|
|
6
|
+
page_title: Streamer overlay (OBS)
|
|
7
|
+
heading: Limits
|
|
8
|
+
anchor: limits
|
|
9
|
+
url: https://dexterm.xyz/docs/overlay#limits
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- overlay
|
|
13
|
+
- limits
|
|
14
|
+
- streamer
|
|
15
|
+
- obs
|
|
16
|
+
confidence: high
|
|
17
|
+
owner: maintainers
|
|
18
|
+
origin: docs-generated
|
|
19
|
+
reviewed_by: generated@2026-10-16
|
|
20
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
21
|
+
sources:
|
|
22
|
+
- site/content/docs/overlay.md
|
|
23
|
+
date: 2026-10-16
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
- **The scenes show what the agent did.** If the agent never reads holders, the holder bar stays "not read yet"; if it never runs a LARP check, there is no LARP line. Live signals appear only while your terminal follows the agent (`--spectate-mcp`) and has that coin's data.
|
|
27
|
+
- **One coin at a time.** The coin card follows the coin the agent touched last; the PnL card follows the agent's newest paper fill.
|
|
28
|
+
- **A reload needs a fresh URL** (see the OBS steps). This is the single-use ticket working as designed.
|
|
29
|
+
- **The stream starts with the last 200 events** when the overlay connects, then follows live.
|
|
30
|
+
- **Not financial advice.** The verdict, LARP evidence and signals are risk information, never a recommendation; paper results are simulated.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-overlay-options
|
|
3
|
+
title: Streamer overlay (OBS) › Options
|
|
4
|
+
kind: docs
|
|
5
|
+
page: overlay
|
|
6
|
+
page_title: Streamer overlay (OBS)
|
|
7
|
+
heading: Options
|
|
8
|
+
anchor: options
|
|
9
|
+
url: https://dexterm.xyz/docs/overlay#options
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- overlay
|
|
13
|
+
- options
|
|
14
|
+
- streamer
|
|
15
|
+
- obs
|
|
16
|
+
confidence: high
|
|
17
|
+
owner: maintainers
|
|
18
|
+
origin: docs-generated
|
|
19
|
+
reviewed_by: generated@2026-10-16
|
|
20
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
21
|
+
sources:
|
|
22
|
+
- site/content/docs/overlay.md
|
|
23
|
+
date: 2026-10-16
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
| Option | What it does |
|
|
27
|
+
|---|---|
|
|
28
|
+
| `--scene NAME` | `activity`, `coin`, `pnl` or `all`; repeat it for several. Default: the three scenes |
|
|
29
|
+
| `--theme NAME` | `cyberspace` (phosphor green, the app's default look), `ice` (electric cyan) or `neon` (magenta). Default `cyberspace` |
|
|
30
|
+
| `--replay FILE` | Play a saved spectator session instead of the live stream. Every scene says SAMPLE DATA |
|
|
31
|
+
| `--speed N` | Replay speed (default 1); gaps between calls are capped at 5 s |
|
|
32
|
+
| `--loop` | Replay again from the start; the final scenes hold for 10 s first |
|
|
33
|
+
| `--ledger TRADE_ID` | The PnL scene shows one round trip from your own trade ledger (https://dexterm.xyz/docs/paper-trading#the-trade-ledger) (`dexterm ledger trades` lists the ids) instead of the agent's paper fills. `--sol-usd N` for a USD-booked trade |
|
|
34
|
+
| `--port N` | A fixed loopback port (1024 to 65535) instead of a random one |
|
|
35
|
+
| `--ticket-ttl MIN` | Minutes an unused URL stays valid (default 10) |
|
|
36
|
+
| `--json` | Print the scene URLs as JSON |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-overlay-security-model
|
|
3
|
+
title: Streamer overlay (OBS) › Security model
|
|
4
|
+
kind: docs
|
|
5
|
+
page: overlay
|
|
6
|
+
page_title: Streamer overlay (OBS)
|
|
7
|
+
heading: Security model
|
|
8
|
+
anchor: security-model
|
|
9
|
+
url: https://dexterm.xyz/docs/overlay#security-model
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- overlay
|
|
13
|
+
- security
|
|
14
|
+
- model
|
|
15
|
+
- streamer
|
|
16
|
+
- obs
|
|
17
|
+
confidence: high
|
|
18
|
+
owner: maintainers
|
|
19
|
+
origin: docs-generated
|
|
20
|
+
reviewed_by: generated@2026-10-16
|
|
21
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
22
|
+
sources:
|
|
23
|
+
- site/content/docs/overlay.md
|
|
24
|
+
date: 2026-10-16
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
The overlay uses the same model as the popup windows (https://dexterm.xyz/docs/popup-chart):
|
|
28
|
+
|
|
29
|
+
- **Loopback only.** The page server listens on `127.0.0.1` (a random port unless `--port`) and refuses any connection that is not from this machine.
|
|
30
|
+
- **Single-use ticket, then a one-time token.** A URL carries a random 32-byte ticket that buys exactly one page load. That page holds a second, one-time token (valid 30 seconds) for its WebSocket. A spent or expired ticket, a ticket for another scene, or a forged token gets an empty 404.
|
|
31
|
+
- **Host and Origin checks.** Every request must say `Host: 127.0.0.1:<port>` (so a DNS-rebinding page cannot reach it), and the WebSocket must come from the overlay's own origin. No CORS header is ever sent. Refused probes are printed in the overlay's terminal, without the ticket.
|
|
32
|
+
- **No inbound control.** The socket only pushes scene data. Whatever a page sends is counted and dropped, never parsed or acted on; the overlay has nothing it could control.
|
|
33
|
+
- **A locked-down page.** Its script and styles are inline under a per-page nonce; the content security policy allows no remote content, no fonts, no frames and no other connections. The page builds its text with `textContent` only (agent and coin text are untrusted), and the only image is the PnL card, sent over the socket.
|
|
34
|
+
- **No new network.** The overlay talks to the spectator stream on loopback and reads your ledger file. It fetches nothing from the internet.
|
|
35
|
+
|
|
36
|
+
The URL is printed in your own terminal so you can paste it; treat it like the popup URLs: it is loopback-only and single-use, but don't post a screenshot of a fresh one.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-overlay-set-it-up-in-obs-step-by-step
|
|
3
|
+
title: Streamer overlay (OBS) › Set it up in OBS, step by step
|
|
4
|
+
kind: docs
|
|
5
|
+
page: overlay
|
|
6
|
+
page_title: Streamer overlay (OBS)
|
|
7
|
+
heading: Set it up in OBS, step by step
|
|
8
|
+
anchor: set-it-up-in-obs-step-by-step
|
|
9
|
+
url: https://dexterm.xyz/docs/overlay#set-it-up-in-obs-step-by-step
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- overlay
|
|
13
|
+
- set
|
|
14
|
+
- obs
|
|
15
|
+
- step
|
|
16
|
+
- streamer
|
|
17
|
+
confidence: high
|
|
18
|
+
owner: maintainers
|
|
19
|
+
origin: docs-generated
|
|
20
|
+
reviewed_by: generated@2026-10-16
|
|
21
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
22
|
+
sources:
|
|
23
|
+
- site/content/docs/overlay.md
|
|
24
|
+
date: 2026-10-16
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
1. Start the session you want to show (see above).
|
|
28
|
+
2. In a second terminal, run:
|
|
29
|
+
|
|
30
|
+
```sh
|
|
31
|
+
$ dexterm overlay --theme cyberspace
|
|
32
|
+
dexterm overlay · theme cyberspace · each URL works once, for 10 min
|
|
33
|
+
activity http://127.0.0.1:53133/overlay/activity?p=…
|
|
34
|
+
coin http://127.0.0.1:53133/overlay/coin?p=…
|
|
35
|
+
pnl http://127.0.0.1:53133/overlay/pnl?p=…
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Leave it running for as long as you stream. `q` (or ctrl+c) stops it.
|
|
39
|
+
3. In OBS, in your scene's **Sources** panel, click **+** and choose **Browser**. Name it (for example "dexterm coin") and click **OK**.
|
|
40
|
+
4. In the properties window:
|
|
41
|
+
- **URL**: paste one of the printed URLs (the whole line after the scene name).
|
|
42
|
+
- **Width / Height**: `1240` × `420` for `coin` or `activity`, `1240` × `760` for `pnl`, `1600` × `1300` for `all`. Resize the source on the canvas afterwards; the scenes scale.
|
|
43
|
+
- Leave **Use custom frame rate** off.
|
|
44
|
+
- Leave **Custom CSS** as OBS fills it in (it keeps the background transparent) or empty.
|
|
45
|
+
- Untick **Shutdown source when not visible** and **Refresh browser when scene becomes active**: either one reloads the page, and a reload needs a fresh URL (see below).
|
|
46
|
+
5. Click **OK**. The panel appears over your stream with a transparent background. Repeat steps 3 to 5 for the other scenes.
|
|
47
|
+
6. To check the setup without a live agent, run `dexterm overlay --replay session.jsonl --loop` and watch the scenes fill in with the SAMPLE DATA tag on.
|
|
48
|
+
|
|
49
|
+
**Each URL works once.** It is a single-use ticket: OBS's first load spends it, and the page then holds its own one-time connection. If OBS reloads the page, or you paste the URL into a second source, the page stays empty. Press **n** in the overlay's terminal for a fresh set of URLs and paste the new one into the source. URLs that are never loaded expire after 10 minutes (`--ticket-ttl MIN` changes that, 1 to 240). When you restart `dexterm overlay`, its port changes too, so paste fresh URLs then; `--port N` keeps the port fixed (the tickets still change).
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-overlay-the-pnl-scene-paper-and-live
|
|
3
|
+
title: Streamer overlay (OBS) › The PnL scene: PAPER and LIVE
|
|
4
|
+
kind: docs
|
|
5
|
+
page: overlay
|
|
6
|
+
page_title: Streamer overlay (OBS)
|
|
7
|
+
heading: The PnL scene: PAPER and LIVE
|
|
8
|
+
anchor: the-pnl-scene-paper-and-live
|
|
9
|
+
url: https://dexterm.xyz/docs/overlay#the-pnl-scene-paper-and-live
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- overlay
|
|
13
|
+
- pnl
|
|
14
|
+
- scene
|
|
15
|
+
- paper
|
|
16
|
+
- live
|
|
17
|
+
- streamer
|
|
18
|
+
- obs
|
|
19
|
+
confidence: high
|
|
20
|
+
owner: maintainers
|
|
21
|
+
origin: docs-generated
|
|
22
|
+
reviewed_by: generated@2026-10-16
|
|
23
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
24
|
+
sources:
|
|
25
|
+
- site/content/docs/overlay.md
|
|
26
|
+
date: 2026-10-16
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
The card is the PnL card (https://dexterm.xyz/docs/paper-trading#pnl-cards) renderer itself, so its stamp, frame colour, stamp strip, provenance block, data ages and "not financial advice" footer are drawn exactly as on a saved card and cannot be turned off.
|
|
30
|
+
|
|
31
|
+
- **The agent's trades are PAPER.** An agent can only paper-trade in dexterm, so a card built from the stream is always stamped **PAPER · SIMULATED TRADE · NO REAL FUNDS**, and the scene header says PAPER · SIMULATED. An open position is marked at the newest price the stream carried (converted to SOL at the rate the agent's own fill implies) or, without a later price, at the last fill; the card prints which, and how old the mark is.
|
|
32
|
+
- **Your own ledger trades are PAPER or LIVE by wallet mode.** With `--ledger TRADE_ID` the stamp follows the trade's wallet mode: paper is PAPER, devnet is **LIVE · DEVNET** (test funds, not real money) and live is **LIVE · WALLET-SIGNED**, on the card and in the scene header alike. The LIVE note counts the trade's wallet-signed transactions. A real-mode row gets no card (dexterm only modelled that fill; your executor's receipt is the record). The ledger is a local file, read again every 30 seconds.
|
|
33
|
+
- **Size is a band and the wallet never shows.** The mint is shortened and transaction signatures are left off the overlay card.
|
|
34
|
+
- **A replay is SAMPLE DATA.** With `--replay`, a yellow SAMPLE DATA band sits across the top of the card, above the card's own stamp.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-overlay-the-three-scenes
|
|
3
|
+
title: Streamer overlay (OBS) › The three scenes
|
|
4
|
+
kind: docs
|
|
5
|
+
page: overlay
|
|
6
|
+
page_title: Streamer overlay (OBS)
|
|
7
|
+
heading: The three scenes
|
|
8
|
+
anchor: the-three-scenes
|
|
9
|
+
url: https://dexterm.xyz/docs/overlay#the-three-scenes
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- overlay
|
|
13
|
+
- three
|
|
14
|
+
- scenes
|
|
15
|
+
- streamer
|
|
16
|
+
- obs
|
|
17
|
+
confidence: high
|
|
18
|
+
owner: maintainers
|
|
19
|
+
origin: docs-generated
|
|
20
|
+
reviewed_by: generated@2026-10-16
|
|
21
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
22
|
+
sources:
|
|
23
|
+
- site/content/docs/overlay.md
|
|
24
|
+
date: 2026-10-16
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
| Scene | What it shows | Where the data comes from |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| `activity` | The agent's last calls: when, the agent, the tool, a one-line summary, and how old that call's data was | Every call the spectator stream carries |
|
|
30
|
+
| `coin` | The coin the agent is on: ticker and shortened mint, price, the deterministic verdict with the rug heuristic, the LARP evidence flags, a top-10 holder bar with the holder count, and the live holder/rug signals, each with its age | The results of the agent's own `get_token`, `get_holders`, `get_dossier`, `analyze_token` and `larp_check` calls, plus the signals your terminal fires for that coin while it follows the agent |
|
|
31
|
+
| `pnl` | The PnL card, drawn by the same renderer as the `H` key (PnL cards (https://dexterm.xyz/docs/paper-trading#pnl-cards)) | The agent's PAPER fills on the coin, or one trade from your own ledger with `--ledger` |
|
|
32
|
+
|
|
33
|
+
`--scene all` puts the three scenes in one Browser source (two columns, the PnL card underneath) if you would rather crop one source than place three.
|
|
34
|
+
|
|
35
|
+
Every scene shows how old its data is (`data age 12s`, and `… old` next to each figure). The scene's age chip turns yellow once its newest figure is over two minutes old. The LARP line says "evidence, not a verdict", and every page ends with "read-only · addresses redacted · not financial advice".
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-overlay-what-is-redacted
|
|
3
|
+
title: Streamer overlay (OBS) › What is redacted
|
|
4
|
+
kind: docs
|
|
5
|
+
page: overlay
|
|
6
|
+
page_title: Streamer overlay (OBS)
|
|
7
|
+
heading: What is redacted
|
|
8
|
+
anchor: what-is-redacted
|
|
9
|
+
url: https://dexterm.xyz/docs/overlay#what-is-redacted
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- overlay
|
|
13
|
+
- redacted
|
|
14
|
+
- streamer
|
|
15
|
+
- obs
|
|
16
|
+
confidence: high
|
|
17
|
+
owner: maintainers
|
|
18
|
+
origin: docs-generated
|
|
19
|
+
reviewed_by: generated@2026-10-16
|
|
20
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
21
|
+
sources:
|
|
22
|
+
- site/content/docs/overlay.md
|
|
23
|
+
date: 2026-10-16
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
Redaction is always on, and the overlay applies it itself, whatever its source already did:
|
|
27
|
+
|
|
28
|
+
- Every wallet or mint address becomes its first and last four characters (`Fixt…AAAA`), in every field: tool names, summaries, agent names, LARP evidence, signal text.
|
|
29
|
+
- Key material (long base58 or hex runs) becomes `[key]`.
|
|
30
|
+
- Anything the spectator stream marks sensitive is shown as `[sensitive]`, and sensitive-named fields are dropped before they reach a scene.
|
|
31
|
+
- A coin, fill or ticket whose mint is not in the shortened shape is dropped, not shown.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-overlay
|
|
3
|
+
title: Streamer overlay (OBS)
|
|
4
|
+
kind: docs
|
|
5
|
+
page: overlay
|
|
6
|
+
page_title: Streamer overlay (OBS)
|
|
7
|
+
url: https://dexterm.xyz/docs/overlay
|
|
8
|
+
tags:
|
|
9
|
+
- docs
|
|
10
|
+
- overlay
|
|
11
|
+
- streamer
|
|
12
|
+
- obs
|
|
13
|
+
confidence: high
|
|
14
|
+
owner: maintainers
|
|
15
|
+
origin: docs-generated
|
|
16
|
+
reviewed_by: generated@2026-10-16
|
|
17
|
+
generated_from: dexterm/site content/docs (task-1420)
|
|
18
|
+
sources:
|
|
19
|
+
- site/content/docs/overlay.md
|
|
20
|
+
date: 2026-10-16
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
Put an agent session on your stream. dexterm overlay serves three transparent scenes for an OBS Browser source (agent activity, the coin card, the PAPER or LIVE PnL card) on 127.0.0.1, fed by the read-only spectator stream or a saved replay. Covers the OBS setup step by step, the three themes, what is redacted, the security model, the SAMPLE DATA tag and the limits.
|
|
24
|
+
|
|
25
|
+
`dexterm overlay` turns the spectator view (https://dexterm.xyz/docs/spectator) into scenes you can drop into OBS as a **Browser source**: the agent's recent calls, the coin it is on, and its PnL card, over a transparent background. It watches; it never acts. Nothing on an overlay page can pause, trade, arm, size, sign or raise a cap, and the page sends nothing back to dexterm.
|
|
@@ -26,6 +26,6 @@ The PAPER ticket, the simulated wallet, the confirm gate, order plans on paper,
|
|
|
26
26
|
|
|
27
27
|
Trading in dexterm is **PAPER by default**: a simulated wallet priced from live, keyless Jupiter quotes. Nothing is signed, no key is held, no transaction is sent, and the paper code imports no wallet or signing library of any kind. Every ticket and positions frame says so in a banner that is never hidden.
|
|
28
28
|
|
|
29
|
-
dexterm has no live trading path of its own: it holds no key, has no trading wallet and builds or sends no transaction. Live trading happens in a Telegram trading bot of your choice; see Live trading (https://dexterm.xyz/docs/live-trading).
|
|
29
|
+
dexterm has no live trading path of its own: it holds no key, has no trading wallet and builds or sends no transaction. Live trading happens in a Telegram trading bot of your choice; see Live trading (https://dexterm.xyz/docs/live-trading). Real mode is experimental; signals to your own executor; dexterm never holds a key; not financial advice (see Real mode (https://dexterm.xyz/docs/real-mode)).
|
|
30
30
|
|
|
31
31
|
PAPER positions on sample data
|