dexterm-cli 0.1.5 → 0.1.7
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/index.js +2 -0
- package/dist/packages/agents/src/schema.js +22 -1
- package/dist/packages/agents/src/spectator.js +54 -0
- package/dist/packages/agents/src/story.js +532 -0
- package/dist/packages/agents/src/tiers.js +28 -2
- package/dist/packages/agents/src/tools.js +31 -2
- package/dist/packages/autotrade/assets/exit-profile.schema.json +492 -0
- package/dist/packages/autotrade/assets/profiles/moonbag.json +46 -0
- package/dist/packages/autotrade/assets/profiles/runner.json +88 -0
- package/dist/packages/autotrade/assets/profiles/scalp.json +88 -0
- package/dist/packages/autotrade/assets/profiles/swing.json +88 -0
- package/dist/packages/autotrade/assets/strategies/moonbag.json +101 -0
- package/dist/packages/autotrade/assets/strategies/runner.json +101 -0
- package/dist/packages/autotrade/assets/strategies/sample-dip-ladder.json +188 -0
- package/dist/packages/autotrade/assets/strategies/scalp.json +98 -0
- package/dist/packages/autotrade/assets/strategies/swing.json +97 -0
- package/dist/packages/autotrade/assets/strategies/yolo.json +157 -0
- package/dist/packages/autotrade/assets/tapes/yolo-rehearsal.json +1 -0
- package/dist/packages/autotrade/src/account.js +74 -0
- package/dist/packages/autotrade/src/backtest.js +357 -0
- package/dist/packages/autotrade/src/basis-text.js +32 -0
- package/dist/packages/autotrade/src/chat/approvals.js +484 -0
- package/dist/packages/autotrade/src/chat/audit.js +140 -0
- package/dist/packages/autotrade/src/chat/config.js +93 -0
- package/dist/packages/autotrade/src/chat/connector.js +24 -0
- package/dist/packages/autotrade/src/chat/control.js +103 -0
- package/dist/packages/autotrade/src/chat/fake.js +100 -0
- package/dist/packages/autotrade/src/chat/format.js +71 -0
- package/dist/packages/autotrade/src/chat/hub.js +187 -0
- package/dist/packages/autotrade/src/chat/index.js +18 -0
- package/dist/packages/autotrade/src/chat/notify.js +292 -0
- package/dist/packages/autotrade/src/chat/pairing.js +46 -0
- package/dist/packages/autotrade/src/chat/redact.js +48 -0
- package/dist/packages/autotrade/src/chat/secrets.js +99 -0
- package/dist/packages/autotrade/src/chat/service.js +248 -0
- package/dist/packages/autotrade/src/chat/telegram.js +290 -0
- package/dist/packages/autotrade/src/desk-executor.js +188 -0
- package/dist/packages/autotrade/src/engine.js +387 -0
- package/dist/packages/autotrade/src/execution-port.js +97 -0
- package/dist/packages/autotrade/src/fleet-config.js +169 -0
- package/dist/packages/autotrade/src/fleet-control.js +276 -0
- package/dist/packages/autotrade/src/fleet.js +639 -0
- package/dist/packages/autotrade/src/index.js +53 -0
- package/dist/packages/autotrade/src/ledger.js +108 -0
- package/dist/packages/autotrade/src/live-source.js +182 -0
- package/dist/packages/autotrade/src/monitor-daemon.js +715 -0
- package/dist/packages/autotrade/src/monitor.js +190 -0
- package/dist/packages/autotrade/src/ollama-sessions.js +137 -0
- package/dist/packages/autotrade/src/paper-accounts.js +72 -0
- package/dist/packages/autotrade/src/replay.js +198 -0
- package/dist/packages/autotrade/src/runner-config.js +99 -0
- package/dist/packages/autotrade/src/runner.js +872 -0
- package/dist/packages/autotrade/src/safety.js +243 -0
- package/dist/packages/autotrade/src/session.js +269 -0
- package/dist/packages/autotrade/src/sessions.js +503 -0
- package/dist/packages/autotrade/src/store.js +250 -0
- package/dist/packages/autotrade/src/strategy.js +256 -0
- package/dist/packages/autotrade/src/trade-ledger.js +241 -0
- package/dist/packages/autotrade/src/yolo.js +140 -0
- package/dist/packages/cli/assets/claude/analyst-system.md +4 -4
- package/dist/packages/cli/assets/claude/plugin/skills/REGISTRY.json +1 -1
- package/dist/packages/cli/assets/claude/plugin/skills/larp-check/SKILL.md +15 -8
- package/dist/packages/cli/assets/claude/plugin/skills/token-dossier/SKILL.md +1 -1
- package/dist/packages/cli/src/agent-cmd.js +6 -4
- package/dist/packages/cli/src/agent-spectator.js +17 -1
- package/dist/packages/cli/src/ai-cmd.js +412 -0
- package/dist/packages/cli/src/analyst/backend.js +105 -15
- package/dist/packages/cli/src/analyst/codex.js +14 -9
- package/dist/packages/cli/src/analyst/larp-gauge.js +60 -0
- package/dist/packages/cli/src/analyst/ollama.js +263 -0
- package/dist/packages/cli/src/analyst/session.js +17 -3
- package/dist/packages/cli/src/app-help-gen.js +51 -15
- package/dist/packages/cli/src/autotrade-cmd/audit.js +57 -0
- package/dist/packages/cli/src/autotrade-cmd/backtest.js +199 -0
- package/dist/packages/cli/src/autotrade-cmd/flatten.js +64 -0
- package/dist/packages/cli/src/autotrade-cmd/fleet.js +397 -0
- package/dist/packages/cli/src/autotrade-cmd/requests.js +79 -0
- package/dist/packages/cli/src/autotrade-cmd/run.js +413 -0
- package/dist/packages/cli/src/autotrade-cmd/stop.js +76 -0
- package/dist/packages/cli/src/autotrade-cmd/strategies.js +198 -0
- package/dist/packages/cli/src/autotrade-cmd/strategy-control.js +174 -0
- package/dist/packages/cli/src/autotrade-cmd/telegram-host.js +101 -0
- package/dist/packages/cli/src/autotrade-cmd.js +168 -0
- package/dist/packages/cli/src/backtest-cmd.js +13 -2
- package/dist/packages/cli/src/display.js +208 -23
- package/dist/packages/cli/src/doctor.js +62 -3
- package/dist/packages/cli/src/export.js +10 -2
- package/dist/packages/cli/src/index.js +1 -1
- package/dist/packages/cli/src/ledger-cmd.js +288 -0
- package/dist/packages/cli/src/live/chart-fills.js +46 -0
- package/dist/packages/cli/src/live/dev-history.js +31 -15
- package/dist/packages/cli/src/live/index.js +28 -90
- package/dist/packages/cli/src/live/screens/newpairs-live.js +1 -1
- package/dist/packages/cli/src/live/screens/token-live.js +48 -15
- package/dist/packages/cli/src/live/screens/watchlist-live.js +1 -1
- package/dist/packages/cli/src/live/trade.js +30 -453
- package/dist/packages/cli/src/live/watchlist.js +1 -1
- package/dist/packages/cli/src/main.js +290 -199
- package/dist/packages/cli/src/mcp-cmd.js +7 -1
- package/dist/packages/cli/src/mcp-follow.js +103 -6
- package/dist/packages/cli/src/plan-cmd.js +15 -5
- package/dist/packages/cli/src/pnl-app.js +31 -21
- package/dist/packages/cli/src/pnl-card.js +158 -21
- package/dist/packages/cli/src/popup.js +38 -6
- package/dist/packages/cli/src/record-cmd.js +141 -20
- package/dist/packages/cli/src/scan/ui.js +7 -1
- package/dist/packages/cli/src/screens/agent-hud.js +773 -0
- package/dist/packages/cli/src/screens/analyst-session.js +11 -4
- package/dist/packages/cli/src/screens/analyst.js +3 -2
- package/dist/packages/cli/src/screens/autotrade-keys.js +169 -0
- package/dist/packages/cli/src/screens/autotrade-proposals.js +123 -0
- package/dist/packages/cli/src/screens/autotrade-screen.js +725 -0
- package/dist/packages/cli/src/screens/autotrade-ui.js +640 -0
- package/dist/packages/cli/src/screens/autotrade-worker.js +89 -0
- package/dist/packages/cli/src/screens/brain.js +634 -0
- package/dist/packages/cli/src/screens/newpairs.js +1 -1
- package/dist/packages/cli/src/screens/overlay.js +5 -2
- package/dist/packages/cli/src/screens/plans.js +5 -17
- package/dist/packages/cli/src/screens/pnl-chip.js +144 -0
- package/dist/packages/cli/src/screens/positions.js +6 -28
- package/dist/packages/cli/src/screens/screener.js +1 -0
- package/dist/packages/cli/src/screens/ticket.js +38 -205
- package/dist/packages/cli/src/screens/token.js +18 -9
- package/dist/packages/cli/src/screens/trending.js +1 -1
- package/dist/packages/cli/src/state.js +88 -18
- package/dist/packages/cli/src/telegram-cmd.js +451 -0
- package/dist/packages/cli/src/trade.js +3 -128
- package/dist/packages/cli/src/version.js +1 -1
- package/dist/packages/cli/src/wallet-cmd.js +39 -340
- package/dist/packages/cli/src/wallet-command.js +8 -11
- package/dist/packages/cli/src/widgets.js +0 -12
- package/dist/packages/custom/src/config.js +20 -2
- package/dist/packages/custom/src/schema.js +41 -10
- package/dist/packages/custom/src/workspace.js +3 -3
- package/dist/packages/data/src/basis.js +191 -0
- package/dist/packages/data/src/detail.js +53 -2
- package/dist/packages/data/src/index.js +2 -14
- package/dist/packages/data/src/larp/score.js +220 -0
- package/dist/packages/data/src/larp/x-account.js +316 -0
- package/dist/packages/data/src/store.js +14 -5
- package/dist/packages/data/src/trade/agent/paper-desk.js +300 -23
- package/dist/packages/data/src/trade/agent/rendezvous.js +3 -2
- package/dist/packages/data/src/trade/bridge.js +4 -102
- package/dist/packages/data/src/trade/ledger/export.js +101 -0
- package/dist/packages/data/src/trade/ledger/file.js +135 -0
- package/dist/packages/data/src/trade/ledger/fold.js +191 -0
- package/dist/packages/data/src/trade/ledger/index.js +9 -0
- package/dist/packages/data/src/trade/ledger/schema.js +83 -0
- package/dist/packages/data/src/trade/ledger/sources.js +307 -0
- package/dist/packages/data/src/trade/ledger/stats.js +123 -0
- package/dist/packages/data/src/trade/ledger/tags.js +116 -0
- package/dist/packages/data/src/trade/ledger/view.js +51 -0
- package/dist/packages/data/src/trade/plans/engine.js +7 -0
- package/dist/packages/data/src/trade/plans/index.js +0 -1
- package/dist/packages/data/src/trade/plans/mandate.js +28 -15
- package/dist/packages/data/src/trade/plans/service.js +4 -28
- package/dist/packages/mcp/assets/kb/app-help/autotrade-chat.md +48 -0
- package/dist/packages/mcp/assets/kb/app-help/autotrade-parallel.md +42 -0
- package/dist/packages/mcp/assets/kb/app-help/autotrade-runner.md +35 -0
- package/dist/packages/mcp/assets/kb/app-help/autotrade-stop.md +37 -0
- package/dist/packages/mcp/assets/kb/app-help/autotrade-strategies.md +35 -0
- package/dist/packages/mcp/assets/kb/app-help/autotrade-telegram.md +40 -0
- package/dist/packages/mcp/assets/kb/app-help/chart-trade-markers.md +42 -0
- package/dist/packages/mcp/assets/kb/app-help/dev-history.md +1 -1
- package/dist/packages/mcp/assets/kb/app-help/larp-check.md +5 -1
- package/dist/packages/mcp/assets/kb/app-help/link-a-wallet.md +4 -10
- package/dist/packages/mcp/assets/kb/app-help/live-trading.md +38 -0
- package/dist/packages/mcp/assets/kb/app-help/live-yolo.md +34 -0
- package/dist/packages/mcp/assets/kb/app-help/order-plans.md +1 -1
- package/dist/packages/mcp/assets/kb/app-help/price-or-marketcap.md +5 -2
- package/dist/packages/mcp/assets/kb/app-help/scan-mode.md +1 -1
- package/dist/packages/mcp/assets/kb/app-help/screen-analyst.md +3 -0
- package/dist/packages/mcp/assets/kb/app-help/screen-autotrade.md +217 -0
- package/dist/packages/mcp/assets/kb/app-help/screen-kol.md +3 -0
- package/dist/packages/mcp/assets/kb/app-help/screen-newpairs.md +3 -0
- package/dist/packages/mcp/assets/kb/app-help/screen-positions.md +3 -0
- package/dist/packages/mcp/assets/kb/app-help/screen-screener.md +3 -0
- package/dist/packages/mcp/assets/kb/app-help/screen-token.md +6 -0
- package/dist/packages/mcp/assets/kb/app-help/screen-trending.md +3 -0
- package/dist/packages/mcp/assets/kb/app-help/screen-watchlist.md +3 -0
- package/dist/packages/mcp/assets/kb/app-help/spectate-an-agent.md +2 -1
- package/dist/packages/mcp/assets/kb/app-help/standing-mandates.md +1 -1
- package/dist/packages/mcp/assets/kb/app-help/trade-ledger.md +54 -0
- package/dist/packages/mcp/assets/kb/app-help/use-local-model.md +38 -0
- package/dist/packages/mcp/assets/kb/docs/docs-agents-agent-paper-trading.md +7 -3
- package/dist/packages/mcp/assets/kb/docs/docs-agents-reading-your-trade-ledger.md +31 -0
- package/dist/packages/mcp/assets/kb/docs/docs-agents-untrusted-by-default.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-analyst-if-claude-is-missing.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-analyst-starting-a-run.md +2 -0
- package/dist/packages/mcp/assets/kb/docs/docs-analyst-use-a-local-model-instead.md +27 -0
- package/dist/packages/mcp/assets/kb/docs/docs-analyst-what-it-sees.md +2 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-backtests-and-their-limits.md +56 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-change-a-strategy-by-chat.md +49 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-checking-the-record-of-a-run.md +28 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-comparing-them.md +41 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-exits-and-wakes.md +76 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-how-a-stop-reaches-the-runner.md +32 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-on-the-q-screen.md +37 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-one-strategy-or-all-of-them.md +35 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-paper-accounts.md +50 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-presets.md +37 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-running-it-all-day.md +31 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-sessions-and-their-limits.md +31 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-several-strategies-at-once.md +33 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-stopping-it.md +35 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-strategies-and-presets.md +34 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-the-autotrade-json-file.md +48 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-the-heartbeat.md +27 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-the-run-file-and-the-heartbeat.md +34 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-the-runner-and-candidate-sessions.md +45 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-what-each-session-shows-first.md +31 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-what-it-costs-claude-usage-per-session.md +58 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-what-it-is-paper-self-directed.md +43 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-what-it-will-not-do.md +31 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-which-account-day-caps-and-the-usage-guard.md +44 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade-your-strategies.md +37 -0
- package/dist/packages/mcp/assets/kb/docs/docs-autotrade.md +22 -0
- 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.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-configuration-chart-markers.md +30 -0
- package/dist/packages/mcp/assets/kb/docs/docs-configuration-chart-y-axis.md +32 -0
- package/dist/packages/mcp/assets/kb/docs/docs-configuration-environment-variables.md +4 -1
- package/dist/packages/mcp/assets/kb/docs/docs-configuration-files-on-disk.md +1 -0
- package/dist/packages/mcp/assets/kb/docs/docs-configuration-headless-recorder-dexterm-record.md +3 -1
- package/dist/packages/mcp/assets/kb/docs/docs-configuration-price-display-mode.md +9 -7
- package/dist/packages/mcp/assets/kb/docs/docs-copy-trading-stage-2-the-one-key-mirror-ticket-a-proposal.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-copy-trading-stage-3-capped-auto-mirror-default-off-less.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-copy-trading-what-is-proven-what-is-not.md +1 -1
- 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 +36 -0
- package/dist/packages/mcp/assets/kb/docs/docs-data-sources-sources.md +1 -0
- package/dist/packages/mcp/assets/kb/docs/docs-getting-started-first-run.md +1 -1
- 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 +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-getting-started-running-the-tests.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-getting-started.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-larp-measured-accuracy.md +1 -0
- package/dist/packages/mcp/assets/kb/docs/docs-larp-the-larp-score.md +60 -0
- package/dist/packages/mcp/assets/kb/docs/docs-larp-the-verdict.md +0 -2
- package/dist/packages/mcp/assets/kb/docs/docs-larp-what-it-looks-at.md +4 -1
- package/dist/packages/mcp/assets/kb/docs/docs-larp.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading-changed-in-0-1-7.md +26 -0
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading-stopping.md +28 -0
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading-the-short-version.md +34 -0
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading-using-a-trading-bot-with-dexterm.md +33 -0
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading-what-dexterm-does-not-do.md +30 -0
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading-what-dexterm-does.md +29 -0
- package/dist/packages/mcp/assets/kb/docs/docs-live-trading.md +23 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-another-machine.md +28 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-autotrade-on-a-local-model.md +29 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-check-your-model-dexterm-ai-probe.md +38 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-how-we-checked.md +27 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-models-without-tool-calling.md +32 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-pick-the-engine-globally-or-per-surface.md +43 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-restriction-profiles.md +35 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-set-it-up-in-two-minutes.md +39 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-troubleshooting.md +35 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-what-runs-on-a-local-model.md +39 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-what-stays-outside-the-model.md +36 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-which-model.md +38 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama-your-own-agent-on-the-local-model.md +28 -0
- package/dist/packages/mcp/assets/kb/docs/docs-ollama.md +28 -0
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-letting-an-agent-paper-trade-experimental.md +3 -4
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-link-a-wallet-read-only.md +30 -0
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-order-plans-and-standing-mandates.md +4 -13
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-panic.md +4 -7
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-paper-only-mandates.md +40 -0
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-pnl-cards.md +7 -7
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-safety-model.md +34 -0
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-ticket.md +3 -4
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-trade-ledger.md +42 -0
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-wallet.md +4 -5
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-trade-moments.md +4 -5
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading.md +4 -5
- package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-buy-and-sell-markers.md +37 -0
- package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-market-cap-axis.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-what-it-shows.md +3 -1
- package/dist/packages/mcp/assets/kb/docs/docs-scan-the-read.md +2 -0
- package/dist/packages/mcp/assets/kb/docs/docs-screens-autotrade-paper.md +26 -0
- package/dist/packages/mcp/assets/kb/docs/docs-screens-dev-history.md +10 -7
- package/dist/packages/mcp/assets/kb/docs/docs-screens-order-plans.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-screens-token-screen.md +2 -0
- package/dist/packages/mcp/assets/kb/docs/docs-spectator-follow-over-mcp-in-the-running-terminal.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-spectator-limits.md +2 -0
- package/dist/packages/mcp/assets/kb/docs/docs-spectator-the-agent-hud-spectator-v2.md +58 -0
- package/dist/packages/mcp/assets/kb/docs/docs-spectator-the-brain-view-and-the-pnl-chip.md +46 -0
- package/dist/packages/mcp/assets/kb/docs/docs-spectator-the-three-surfaces.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-spectator.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-telegram-approve-one-tap-entries.md +50 -0
- package/dist/packages/mcp/assets/kb/docs/docs-telegram-control-the-commands.md +43 -0
- package/dist/packages/mcp/assets/kb/docs/docs-telegram-if-something-goes-wrong.md +30 -0
- package/dist/packages/mcp/assets/kb/docs/docs-telegram-notify-what-reaches-your-phone.md +41 -0
- package/dist/packages/mcp/assets/kb/docs/docs-telegram-set-it-up.md +47 -0
- package/dist/packages/mcp/assets/kb/docs/docs-telegram-the-record.md +26 -0
- package/dist/packages/mcp/assets/kb/docs/docs-telegram-what-it-is.md +33 -0
- package/dist/packages/mcp/assets/kb/docs/docs-telegram-what-it-will-not-do.md +31 -0
- package/dist/packages/mcp/assets/kb/docs/docs-telegram.md +23 -0
- package/dist/packages/mcp/assets/kb/docs/docs-troubleshooting-common-questions.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-troubleshooting-doctor-lines.md +4 -0
- package/dist/packages/mcp/assets/kb/docs/docs-voice-linux-and-windows.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-voice.md +1 -1
- package/dist/packages/mcp/assets/kb/docs/docs-yolo-1-replay-it-on-your-own-history.md +42 -0
- package/dist/packages/mcp/assets/kb/docs/docs-yolo-2-run-it-on-paper.md +34 -0
- package/dist/packages/mcp/assets/kb/docs/docs-yolo-3-watch-it-and-stop-it.md +32 -0
- package/dist/packages/mcp/assets/kb/docs/docs-yolo-the-rules.md +37 -0
- package/dist/packages/mcp/assets/kb/docs/docs-yolo-what-it-is.md +34 -0
- package/dist/packages/mcp/assets/kb/docs/docs-yolo-what-it-will-not-do.md +31 -0
- package/dist/packages/mcp/assets/kb/docs/docs-yolo.md +26 -0
- package/dist/packages/mcp/assets/kb/entries/autotrade.md +38 -0
- package/dist/packages/mcp/src/app-help.js +1 -1
- package/dist/packages/mcp/src/autotrade-tools.js +944 -0
- package/dist/packages/mcp/src/backtest-requests.js +71 -0
- package/dist/packages/mcp/src/engine/config.js +159 -0
- package/dist/packages/mcp/src/engine/index.js +10 -0
- package/dist/packages/mcp/src/engine/loop.js +101 -0
- package/dist/packages/mcp/src/engine/mcp-client.js +123 -0
- package/dist/packages/mcp/src/engine/ollama.js +258 -0
- package/dist/packages/mcp/src/engine/probe.js +110 -0
- package/dist/packages/mcp/src/engine/reason.js +35 -0
- package/dist/packages/mcp/src/engine/restrictions.js +111 -0
- package/dist/packages/mcp/src/index.js +7 -1
- package/dist/packages/mcp/src/ledger-tools.js +346 -0
- package/dist/packages/mcp/src/paper-agent.js +5 -2
- package/dist/packages/mcp/src/server.js +285 -36
- package/dist/packages/mcp/src/spectator-sink.js +85 -0
- package/dist/packages/packs/src/backtest.js +3 -1
- package/dist/packages/packs/src/index.js +1 -0
- package/dist/packages/packs/src/larp-score-backtest.js +119 -0
- package/dist/packages/popup/src/pages/chart-lib.js +169 -35
- package/dist/packages/popup/src/pages/chart.css +18 -0
- package/dist/packages/popup/src/pages/chart.html +6 -1
- package/dist/packages/popup/src/pages/chart.js +136 -10
- package/dist/packages/popup/src/pages/spectator.css +45 -0
- package/dist/packages/popup/src/pages/spectator.html +1 -0
- package/dist/packages/popup/src/pages/spectator.js +69 -0
- package/dist/packages/popup/src/protocol.js +4 -0
- package/dist/packages/popup/src/server.js +9 -1
- package/dist/packages/recorder/src/dev-history.js +7 -3
- package/dist/packages/recorder/src/index.js +2 -0
- package/dist/packages/recorder/src/recorder.js +63 -6
- package/dist/packages/recorder/src/retention.js +100 -0
- package/dist/packages/recorder/src/schema.js +34 -1
- package/dist/packages/recorder/src/ticks.js +237 -0
- package/dist/packages/tui/src/canvas.js +7 -0
- package/dist/packages/tui/src/fmt.js +53 -0
- package/dist/packages/tui/src/index.js +1 -0
- package/dist/packages/tui/src/keymap.js +25 -1
- package/dist/packages/tui/src/markers.js +219 -0
- package/dist/packages/tui/src/widgets.js +158 -6
- package/package.json +2 -1
- package/dist/packages/data/src/trade/caps.js +0 -323
- package/dist/packages/data/src/trade/executor.js +0 -933
- package/dist/packages/data/src/trade/plans/executor-live.js +0 -220
- package/dist/packages/data/src/trade/rpc-exec.js +0 -229
- package/dist/packages/data/src/trade/signer/client.js +0 -197
- package/dist/packages/data/src/trade/signer/fast-wallet.js +0 -154
- package/dist/packages/data/src/trade/signer/host.js +0 -97
- package/dist/packages/data/src/trade/signer/main.js +0 -121
- package/dist/packages/data/src/trade/signer/probe-builder.js +0 -85
- package/dist/packages/data/src/trade/signer/protocol.js +0 -92
- package/dist/packages/data/src/trade/signer/service.js +0 -400
- package/dist/packages/data/src/trade/signer/sol-usd-feed.js +0 -98
- package/dist/packages/data/src/trade/sol-usd.js +0 -86
- package/dist/packages/data/src/trade/swap-build.js +0 -108
- package/dist/packages/data/src/trade/token-delta.js +0 -201
- package/dist/packages/data/vendor/solana-web3/LICENSE +0 -20
- package/dist/packages/data/vendor/solana-web3/NOTICE.md +0 -13
- package/dist/packages/data/vendor/solana-web3/index.iife.min.js +0 -20
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-a-live-ticket.md +0 -42
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-before-you-press-size-vs-caps.md +0 -34
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-devnet-signer-mainnet-token.md +0 -35
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-jupiter-rate-limits.md +0 -33
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-link-a-wallet.md +0 -32
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-live-trading-devnet-first.md +0 -30
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-mainnet.md +0 -31
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-live-fire-path-devnet-the-fast-wallet.md +0 -41
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-signer-process.md +0 -34
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-what-the-live-path-keeps.md +0 -37
- package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-your-first-live-trade.md +0 -41
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: screen-autotrade
|
|
3
|
+
title: The autotrade (paper) screen
|
|
4
|
+
kind: app-help
|
|
5
|
+
screen: autotrade
|
|
6
|
+
feature: autotrade-strategies
|
|
7
|
+
tags:
|
|
8
|
+
- app-help
|
|
9
|
+
- screen
|
|
10
|
+
- autotrade
|
|
11
|
+
- the
|
|
12
|
+
- autotrade
|
|
13
|
+
- (paper)
|
|
14
|
+
- screen
|
|
15
|
+
keys:
|
|
16
|
+
- q
|
|
17
|
+
- ctrl+c
|
|
18
|
+
- 1
|
|
19
|
+
- 2
|
|
20
|
+
- 3
|
|
21
|
+
- 4
|
|
22
|
+
- tab
|
|
23
|
+
- j
|
|
24
|
+
- down
|
|
25
|
+
- k
|
|
26
|
+
- up
|
|
27
|
+
- g
|
|
28
|
+
- home
|
|
29
|
+
- G
|
|
30
|
+
- end
|
|
31
|
+
- pagedown
|
|
32
|
+
- ctrl+f
|
|
33
|
+
- pageup
|
|
34
|
+
- ctrl+b
|
|
35
|
+
- enter
|
|
36
|
+
- esc
|
|
37
|
+
- backspace
|
|
38
|
+
- a
|
|
39
|
+
- v
|
|
40
|
+
- m
|
|
41
|
+
- ,
|
|
42
|
+
- <
|
|
43
|
+
- >
|
|
44
|
+
- ?
|
|
45
|
+
- t
|
|
46
|
+
- p
|
|
47
|
+
- $
|
|
48
|
+
- E
|
|
49
|
+
- w
|
|
50
|
+
- b
|
|
51
|
+
- y
|
|
52
|
+
- x
|
|
53
|
+
- P
|
|
54
|
+
- Z
|
|
55
|
+
- R
|
|
56
|
+
- T
|
|
57
|
+
- K
|
|
58
|
+
- N
|
|
59
|
+
- O
|
|
60
|
+
- U
|
|
61
|
+
- ctrl+w w
|
|
62
|
+
- ctrl+w n
|
|
63
|
+
- ctrl+w tab
|
|
64
|
+
- ctrl+w N
|
|
65
|
+
- ctrl+w s
|
|
66
|
+
- ctrl+w m
|
|
67
|
+
- ctrl+w o
|
|
68
|
+
- ctrl+w d
|
|
69
|
+
- ctrl+r
|
|
70
|
+
- Q
|
|
71
|
+
- n
|
|
72
|
+
- d
|
|
73
|
+
- e
|
|
74
|
+
- c
|
|
75
|
+
- i
|
|
76
|
+
- r
|
|
77
|
+
- s
|
|
78
|
+
- u
|
|
79
|
+
- !
|
|
80
|
+
- f
|
|
81
|
+
- o
|
|
82
|
+
actions:
|
|
83
|
+
- quit
|
|
84
|
+
- screen.screener
|
|
85
|
+
- screen.newpairs
|
|
86
|
+
- screen.watchlist
|
|
87
|
+
- screen.analyst
|
|
88
|
+
- screen.next
|
|
89
|
+
- move.down
|
|
90
|
+
- move.up
|
|
91
|
+
- move.top
|
|
92
|
+
- move.bottom
|
|
93
|
+
- move.pagedown
|
|
94
|
+
- move.pageup
|
|
95
|
+
- open
|
|
96
|
+
- back
|
|
97
|
+
- analyst.toggle
|
|
98
|
+
- voice.talk
|
|
99
|
+
- voice.mute
|
|
100
|
+
- voice.cycle
|
|
101
|
+
- voice.rate
|
|
102
|
+
- help.toggle
|
|
103
|
+
- theme.next
|
|
104
|
+
- pause.toggle
|
|
105
|
+
- display.priceMode
|
|
106
|
+
- export.view
|
|
107
|
+
- watch.add
|
|
108
|
+
- alert.propose
|
|
109
|
+
- alert.confirm
|
|
110
|
+
- alert.dismiss
|
|
111
|
+
- screen.positions
|
|
112
|
+
- scan.toggle
|
|
113
|
+
- scan.resume
|
|
114
|
+
- screen.trending
|
|
115
|
+
- social.kol
|
|
116
|
+
- screen.narrative
|
|
117
|
+
- screen.plans
|
|
118
|
+
- screen.follows
|
|
119
|
+
- workspace.list
|
|
120
|
+
- workspace.next
|
|
121
|
+
- workspace.prev
|
|
122
|
+
- workspace.save
|
|
123
|
+
- workspace.morning
|
|
124
|
+
- workspace.popups
|
|
125
|
+
- workspace.default
|
|
126
|
+
- screen.rules
|
|
127
|
+
- screen.autotrade
|
|
128
|
+
- autotrade.view
|
|
129
|
+
- autotrade.new
|
|
130
|
+
- autotrade.dup
|
|
131
|
+
- autotrade.edit
|
|
132
|
+
- autotrade.compare
|
|
133
|
+
- autotrade.backtest
|
|
134
|
+
- autotrade.sweep
|
|
135
|
+
- autotrade.export
|
|
136
|
+
- autotrade.import
|
|
137
|
+
- autotrade.run
|
|
138
|
+
- autotrade.save
|
|
139
|
+
- autotrade.undo
|
|
140
|
+
- autotrade.kill
|
|
141
|
+
- autotrade.pause
|
|
142
|
+
- autotrade.flatten
|
|
143
|
+
- autotrade.proposal
|
|
144
|
+
tools:
|
|
145
|
+
- strategy_list
|
|
146
|
+
- autotrade_status
|
|
147
|
+
confidence: high
|
|
148
|
+
owner: maintainers
|
|
149
|
+
origin: app-help-generated
|
|
150
|
+
reviewed_by: generated@2026-10-16
|
|
151
|
+
generated_from: dexterm/app keymap + overlay + mcp tools (task-1413)
|
|
152
|
+
sources:
|
|
153
|
+
- packages/tui/src/keymap.ts
|
|
154
|
+
- packages/cli/src/screens/overlay.ts
|
|
155
|
+
date: 2026-10-16
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
Press `Q` anywhere for AUTOTRADE, paper only. tab cycles five views: STRATEGIES (the presets and your own files with mode, version, hash and the last backtest), EDITOR (one form in six sections: entry, exits, risk, sizing, agent, execution; every change re-validates, errors show inline with their path, the screen filter is checked by the screener's own parser and its error column is marked; `s` saves only a valid draft as a new version, `u` undoes), COMPARE (two marked strategies side by side, changed fields first, both backtested on the same tape), BACKTEST (the report with attribution, an equity sparkline, clamps, refusals and the limits box; `w` runs a sweep whose verdict comes from coins it never tuned on) and RUNNER (the paper runner's heartbeat, halt reason, candidates, sessions, positions and ledger tail). Presets are read-only: `d` makes your own copy. Nothing on this screen switches a strategy to live, arms a mandate or touches a wallet. A strategy edit the analyst proposed in chat shows as a card: `o` opens its diff, `y` applies it, and a LOOSER edit (any risk number less safe) needs a second `y` on the less-safe popup.
|
|
159
|
+
|
|
160
|
+
Keys on this screen:
|
|
161
|
+
`q/^C` — quit
|
|
162
|
+
`1` — screener
|
|
163
|
+
`2` — new pairs
|
|
164
|
+
`3` — watchlist
|
|
165
|
+
`4` — analyst
|
|
166
|
+
`j/↓` — move
|
|
167
|
+
`k/↑` — move
|
|
168
|
+
`g/home` — top
|
|
169
|
+
`G/end` — bottom
|
|
170
|
+
`PgDn/^F` — page
|
|
171
|
+
`PgUp/^B` — page
|
|
172
|
+
`⏎` — open
|
|
173
|
+
`esc/⌫` — back
|
|
174
|
+
`a` — ask claude
|
|
175
|
+
`v` — voice
|
|
176
|
+
`m` — mute voice
|
|
177
|
+
`,` — change voice
|
|
178
|
+
`</>` — slower / faster voice
|
|
179
|
+
`?` — help
|
|
180
|
+
`t` — theme
|
|
181
|
+
`$` — price ⇄ mcap
|
|
182
|
+
`E` — export PNG + report
|
|
183
|
+
`y` — confirm alert
|
|
184
|
+
`P` — positions
|
|
185
|
+
`Z` — AI scan
|
|
186
|
+
`R` — resume scan
|
|
187
|
+
`T` — trending
|
|
188
|
+
`K` — KOL lists
|
|
189
|
+
`N` — narrative board
|
|
190
|
+
`O` — order plans
|
|
191
|
+
`U` — followed wallets
|
|
192
|
+
`^W w` — workspaces
|
|
193
|
+
`^W n/^W tab` — next workspace
|
|
194
|
+
`^W N` — previous workspace
|
|
195
|
+
`^W s` — save workspace
|
|
196
|
+
`^W m` — morning HUD
|
|
197
|
+
`^W o` — open workspace popups
|
|
198
|
+
`^W d` — default workspace
|
|
199
|
+
`^R` — rules
|
|
200
|
+
`Q` — autotrade (paper)
|
|
201
|
+
`tab` — next view
|
|
202
|
+
`n` — new from preset
|
|
203
|
+
`d` — duplicate
|
|
204
|
+
`e` — edit
|
|
205
|
+
`c` — mark to compare
|
|
206
|
+
`b` — backtest
|
|
207
|
+
`w` — sweep (held-out)
|
|
208
|
+
`x` — export file
|
|
209
|
+
`i` — import file
|
|
210
|
+
`r` — runner
|
|
211
|
+
`s` — save (new version)
|
|
212
|
+
`u` — undo
|
|
213
|
+
`!` — kill (soft stop)
|
|
214
|
+
`p` — pause new entries
|
|
215
|
+
`f` — flatten (confirm)
|
|
216
|
+
`o` — review chat proposal
|
|
217
|
+
`?` — this help
|
|
@@ -72,6 +72,7 @@ keys:
|
|
|
72
72
|
- ctrl+w o
|
|
73
73
|
- ctrl+w d
|
|
74
74
|
- ctrl+r
|
|
75
|
+
- Q
|
|
75
76
|
actions:
|
|
76
77
|
- quit
|
|
77
78
|
- screen.screener
|
|
@@ -123,6 +124,7 @@ actions:
|
|
|
123
124
|
- workspace.popups
|
|
124
125
|
- workspace.default
|
|
125
126
|
- screen.rules
|
|
127
|
+
- screen.autotrade
|
|
126
128
|
confidence: high
|
|
127
129
|
owner: maintainers
|
|
128
130
|
origin: app-help-generated
|
|
@@ -186,5 +188,6 @@ Keys on this screen:
|
|
|
186
188
|
`^W o` — open workspace popups
|
|
187
189
|
`^W d` — default workspace
|
|
188
190
|
`^R` — rules
|
|
191
|
+
`Q` — autotrade (paper)
|
|
189
192
|
`c` — calm mode (effects off)
|
|
190
193
|
`?` — this help
|
|
@@ -68,6 +68,7 @@ keys:
|
|
|
68
68
|
- ctrl+w o
|
|
69
69
|
- ctrl+w d
|
|
70
70
|
- ctrl+r
|
|
71
|
+
- Q
|
|
71
72
|
actions:
|
|
72
73
|
- quit
|
|
73
74
|
- screen.screener
|
|
@@ -115,6 +116,7 @@ actions:
|
|
|
115
116
|
- workspace.popups
|
|
116
117
|
- workspace.default
|
|
117
118
|
- screen.rules
|
|
119
|
+
- screen.autotrade
|
|
118
120
|
tools:
|
|
119
121
|
- screener_query
|
|
120
122
|
confidence: high
|
|
@@ -177,5 +179,6 @@ Keys on this screen:
|
|
|
177
179
|
`^W o` — open workspace popups
|
|
178
180
|
`^W d` — default workspace
|
|
179
181
|
`^R` — rules
|
|
182
|
+
`Q` — autotrade (paper)
|
|
180
183
|
`c` — calm mode (effects off)
|
|
181
184
|
`?` — this help
|
|
@@ -69,6 +69,7 @@ keys:
|
|
|
69
69
|
- ctrl+w o
|
|
70
70
|
- ctrl+w d
|
|
71
71
|
- ctrl+r
|
|
72
|
+
- Q
|
|
72
73
|
actions:
|
|
73
74
|
- quit
|
|
74
75
|
- screen.screener
|
|
@@ -116,6 +117,7 @@ actions:
|
|
|
116
117
|
- workspace.popups
|
|
117
118
|
- workspace.default
|
|
118
119
|
- screen.rules
|
|
120
|
+
- screen.autotrade
|
|
119
121
|
tools:
|
|
120
122
|
- paper_positions
|
|
121
123
|
- paper_pnl
|
|
@@ -179,5 +181,6 @@ Keys on this screen:
|
|
|
179
181
|
`^W o` — open workspace popups
|
|
180
182
|
`^W d` — default workspace
|
|
181
183
|
`^R` — rules
|
|
184
|
+
`Q` — autotrade (paper)
|
|
182
185
|
`c` — calm mode (effects off)
|
|
183
186
|
`?` — this help
|
|
@@ -76,6 +76,7 @@ keys:
|
|
|
76
76
|
- ctrl+w o
|
|
77
77
|
- ctrl+w d
|
|
78
78
|
- ctrl+r
|
|
79
|
+
- Q
|
|
79
80
|
actions:
|
|
80
81
|
- quit
|
|
81
82
|
- screen.screener
|
|
@@ -128,6 +129,7 @@ actions:
|
|
|
128
129
|
- workspace.popups
|
|
129
130
|
- workspace.default
|
|
130
131
|
- screen.rules
|
|
132
|
+
- screen.autotrade
|
|
131
133
|
tools:
|
|
132
134
|
- screener_query
|
|
133
135
|
confidence: high
|
|
@@ -195,5 +197,6 @@ Keys on this screen:
|
|
|
195
197
|
`^W o` — open workspace popups
|
|
196
198
|
`^W d` — default workspace
|
|
197
199
|
`^R` — rules
|
|
200
|
+
`Q` — autotrade (paper)
|
|
198
201
|
`c` — calm mode (effects off)
|
|
199
202
|
`?` — this help
|
|
@@ -63,6 +63,7 @@ keys:
|
|
|
63
63
|
- T
|
|
64
64
|
- L
|
|
65
65
|
- C
|
|
66
|
+
- A
|
|
66
67
|
- I
|
|
67
68
|
- F
|
|
68
69
|
- Z
|
|
@@ -83,6 +84,7 @@ keys:
|
|
|
83
84
|
- ctrl+w o
|
|
84
85
|
- ctrl+w d
|
|
85
86
|
- ctrl+r
|
|
87
|
+
- Q
|
|
86
88
|
actions:
|
|
87
89
|
- quit
|
|
88
90
|
- screen.screener
|
|
@@ -132,6 +134,7 @@ actions:
|
|
|
132
134
|
- open.tg
|
|
133
135
|
- open.links
|
|
134
136
|
- popup.chart
|
|
137
|
+
- display.chartAxis
|
|
135
138
|
- popup.token
|
|
136
139
|
- tape.toggle
|
|
137
140
|
- scan.toggle
|
|
@@ -152,6 +155,7 @@ actions:
|
|
|
152
155
|
- workspace.popups
|
|
153
156
|
- workspace.default
|
|
154
157
|
- screen.rules
|
|
158
|
+
- screen.autotrade
|
|
155
159
|
tools:
|
|
156
160
|
- get_dossier
|
|
157
161
|
- get_token
|
|
@@ -218,6 +222,7 @@ Keys on this screen:
|
|
|
218
222
|
`T` — open TG
|
|
219
223
|
`L` — links
|
|
220
224
|
`C` — chart popup
|
|
225
|
+
`A` — chart axis mcap ⇄ price
|
|
221
226
|
`I` — token popup
|
|
222
227
|
`F` — flow ⇄ tape
|
|
223
228
|
`Z` — AI scan
|
|
@@ -237,5 +242,6 @@ Keys on this screen:
|
|
|
237
242
|
`^W o` — open workspace popups
|
|
238
243
|
`^W d` — default workspace
|
|
239
244
|
`^R` — rules
|
|
245
|
+
`Q` — autotrade (paper)
|
|
240
246
|
`c` — calm mode (effects off)
|
|
241
247
|
`?` — this help
|
|
@@ -71,6 +71,7 @@ keys:
|
|
|
71
71
|
- ctrl+w o
|
|
72
72
|
- ctrl+w d
|
|
73
73
|
- ctrl+r
|
|
74
|
+
- Q
|
|
74
75
|
actions:
|
|
75
76
|
- quit
|
|
76
77
|
- screen.screener
|
|
@@ -123,6 +124,7 @@ actions:
|
|
|
123
124
|
- workspace.popups
|
|
124
125
|
- workspace.default
|
|
125
126
|
- screen.rules
|
|
127
|
+
- screen.autotrade
|
|
126
128
|
tools:
|
|
127
129
|
- narrative_board
|
|
128
130
|
confidence: high
|
|
@@ -188,5 +190,6 @@ Keys on this screen:
|
|
|
188
190
|
`^W o` — open workspace popups
|
|
189
191
|
`^W d` — default workspace
|
|
190
192
|
`^R` — rules
|
|
193
|
+
`Q` — autotrade (paper)
|
|
191
194
|
`c` — calm mode (effects off)
|
|
192
195
|
`?` — this help
|
|
@@ -68,6 +68,7 @@ keys:
|
|
|
68
68
|
- ctrl+w o
|
|
69
69
|
- ctrl+w d
|
|
70
70
|
- ctrl+r
|
|
71
|
+
- Q
|
|
71
72
|
actions:
|
|
72
73
|
- quit
|
|
73
74
|
- screen.screener
|
|
@@ -116,6 +117,7 @@ actions:
|
|
|
116
117
|
- workspace.popups
|
|
117
118
|
- workspace.default
|
|
118
119
|
- screen.rules
|
|
120
|
+
- screen.autotrade
|
|
119
121
|
confidence: high
|
|
120
122
|
owner: maintainers
|
|
121
123
|
origin: app-help-generated
|
|
@@ -177,5 +179,6 @@ Keys on this screen:
|
|
|
177
179
|
`^W o` — open workspace popups
|
|
178
180
|
`^W d` — default workspace
|
|
179
181
|
`^R` — rules
|
|
182
|
+
`Q` — autotrade (paper)
|
|
180
183
|
`c` — calm mode (effects off)
|
|
181
184
|
`?` — this help
|
|
@@ -22,6 +22,7 @@ commands:
|
|
|
22
22
|
flags:
|
|
23
23
|
- --replay
|
|
24
24
|
- --spectate-mcp
|
|
25
|
+
- --spectate-thoughts
|
|
25
26
|
confidence: high
|
|
26
27
|
owner: maintainers
|
|
27
28
|
origin: app-help-generated
|
|
@@ -34,6 +35,6 @@ sources:
|
|
|
34
35
|
date: 2026-10-16
|
|
35
36
|
---
|
|
36
37
|
|
|
37
|
-
Watch an agent work. For an agent on the loopback bus, `dexterm agent serve --spectator-popup` opens the AGENT ACTIVITY window, `--spectate` starts the read-only, token-gated, loopback stream, and `--record FILE` saves a redacted session. For an agent connected over MCP (`dexterm mcp install`), run the app with `dexterm --spectate-mcp`: the running terminal
|
|
38
|
+
Watch an agent work. For an agent on the loopback bus, `dexterm agent serve --spectator-popup` opens the AGENT ACTIVITY window, `--spectate` starts the read-only, token-gated, loopback stream, and `--record FILE` saves a redacted session. For an agent connected over MCP (`dexterm mcp install`), run the app with `dexterm --spectate-mcp`: the running terminal follows the agent and an agent dock appears under the screen — a phase rail (SCANNING > VETTING > SIZING > EXECUTING > HOLDING > EXITING) with a heartbeat, the call timeline with result chips, the rows it scans glow and a cursor marks the coin it opens, a vetting card fills its checks and LARP evidence, and a PAPER trade shows its ticket, the fill, a live position with the mark PnL and a result card. `--spectate-thoughts FILE` streams the agent's own words into a thought ribbon from a JSONL file it writes (for example `claude -p --output-format stream-json`); display only. PAPER is always on screen; ctrl+p pauses, ctrl+k kills (a hard stop) and any key you press takes control; calm mode drops the motion. While the agent is active, the token screen's analyst panel is its BRAIN VIEW: the reasoning stream with phase tags (or dexterm's narration when there is no thoughts feed), the vetting checklist with the app's numbers and pass/warn/fail/pending, a data strip, the PAPER plan and position, and the session's decision log with a simulated scoreboard. While it holds a PAPER position, a PnL chip shows coin, PnL, entry to mark, peak, drawdown, time held and the take-profit it said, on every terminal screen (in the dock, or on the band under the header on terminals under 24 rows) and on the chart popup; display only. `dexterm spectate --replay FILE` replays a saved session step by step and `dexterm spectate --info` shows the live stream endpoint. Every shared copy is redacted — a tool name, refusal, agent line or navigation can never leak a wallet or key — and a spectator can only watch, never act. Full docs: https://dexterm.xyz/docs/spectator/
|
|
38
39
|
|
|
39
40
|
CLI: `dexterm spectate`.
|
|
@@ -28,6 +28,6 @@ sources:
|
|
|
28
28
|
date: 2026-10-16
|
|
29
29
|
---
|
|
30
30
|
|
|
31
|
-
`dexterm mandate list|add|remove|arm|disarm` sets a standing mandate — a longer-lived conditional rule bounded by a budget. As with plans, a model may only PROPOSE; arming needs your physical keypress and
|
|
31
|
+
`dexterm mandate list|add|remove|arm|disarm` sets a standing mandate — a longer-lived conditional rule bounded by a budget. As with plans, a model may only PROPOSE; arming needs your physical keypress and its caps bound it; fills are PAPER. The analyst can never arm a mandate or change its caps.
|
|
32
32
|
|
|
33
33
|
CLI: `dexterm mandate`.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: trade-ledger
|
|
3
|
+
title: See every trade in one ledger: win rate, profiles, exit reasons, strategy versions (dexterm ledger)
|
|
4
|
+
kind: app-help
|
|
5
|
+
screen: all
|
|
6
|
+
feature: trade-ledger
|
|
7
|
+
tags:
|
|
8
|
+
- app-help
|
|
9
|
+
- ledger
|
|
10
|
+
- journal
|
|
11
|
+
- trades
|
|
12
|
+
- history
|
|
13
|
+
- results
|
|
14
|
+
- stats
|
|
15
|
+
- win
|
|
16
|
+
- rate
|
|
17
|
+
- drawdown
|
|
18
|
+
- profile
|
|
19
|
+
- exit
|
|
20
|
+
- reason
|
|
21
|
+
- compare
|
|
22
|
+
- export
|
|
23
|
+
- csv
|
|
24
|
+
- equity
|
|
25
|
+
- mfe
|
|
26
|
+
- mae
|
|
27
|
+
commands:
|
|
28
|
+
- ledger
|
|
29
|
+
tools:
|
|
30
|
+
- ledger_trades
|
|
31
|
+
- ledger_positions
|
|
32
|
+
- ledger_summary
|
|
33
|
+
- ledger_equity
|
|
34
|
+
- ledger_compare
|
|
35
|
+
- candidate_dossier
|
|
36
|
+
- outcomes_lookup
|
|
37
|
+
- trading_status
|
|
38
|
+
- telegram_status
|
|
39
|
+
- backtest_requests
|
|
40
|
+
confidence: high
|
|
41
|
+
owner: maintainers
|
|
42
|
+
origin: app-help-generated
|
|
43
|
+
reviewed_by: generated@2026-10-16
|
|
44
|
+
generated_from: dexterm/app keymap + overlay + mcp tools + cli (task-1413)
|
|
45
|
+
sources:
|
|
46
|
+
- packages/tui/src/keymap.ts
|
|
47
|
+
- packages/cli/src/main.ts
|
|
48
|
+
- packages/mcp/src/server.ts
|
|
49
|
+
date: 2026-10-16
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
`dexterm ledger trades` lists every round trip dexterm booked, from the paper ticket, the agent paper desk and autotrade runs, newest first: strategy version, the exit profile and entry reason it was opened with (marked * when not declared with the fill), the exit reason, size and % of book, entry and exit market cap, P/L, hold and MFE/MAE. `positions` shows the open ones. `summary` gives the win rate with its 95% interval, P/L, profit factor, drawdown and rug rate by profile, exit reason, strategy, source and mode; `equity` the realized equity curve; `compare` strategy versions side by side (for strategies run in parallel); `export csv|json|parquet-lite [--out FILE]`; `card <tradeId>` a PnL card from a row. Filters: --source, --mode paper|devnet|live, --strategy id[@version], --profile, --exit, --mint, --run, --days, --status. Reads never write; `dexterm ledger sync` appends to ~/.dexterm/ledger/trades.jsonl (sha256-chained) and `dexterm ledger verify` names the first edited line. Agents read the same rows with the read-only ledger_* tools; `trading_status` and `telegram_status` show settings and state, never a key, address, exact balance, bot token or chat id. A backtest an agent asks for (backtest_request) only runs when you run it: `dexterm autotrade requests`. PAPER rows are simulated; filter by --mode before comparing. Not financial advice. Full docs: https://dexterm.xyz/docs/paper-trading/#the-trade-ledger
|
|
53
|
+
|
|
54
|
+
CLI: `dexterm ledger`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: use-local-model
|
|
3
|
+
title: Run dexterm's AI on a free local model (Ollama)
|
|
4
|
+
kind: app-help
|
|
5
|
+
screen: all
|
|
6
|
+
feature: analyst
|
|
7
|
+
tags:
|
|
8
|
+
- app-help
|
|
9
|
+
- ollama
|
|
10
|
+
- local
|
|
11
|
+
- model
|
|
12
|
+
- free
|
|
13
|
+
- offline
|
|
14
|
+
- engine
|
|
15
|
+
- llama
|
|
16
|
+
- qwen
|
|
17
|
+
- restrictions
|
|
18
|
+
- privacy
|
|
19
|
+
commands:
|
|
20
|
+
- ai
|
|
21
|
+
- ask
|
|
22
|
+
flags:
|
|
23
|
+
- --analyst-engine
|
|
24
|
+
confidence: high
|
|
25
|
+
owner: maintainers
|
|
26
|
+
origin: app-help-generated
|
|
27
|
+
reviewed_by: generated@2026-10-16
|
|
28
|
+
generated_from: dexterm/app keymap + overlay + mcp tools + cli (task-1413)
|
|
29
|
+
sources:
|
|
30
|
+
- packages/tui/src/keymap.ts
|
|
31
|
+
- packages/cli/src/main.ts
|
|
32
|
+
- packages/mcp/src/server.ts
|
|
33
|
+
date: 2026-10-16
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
dexterm's AI can run on a free model on your own machine through Ollama: no login, no key, $0 per answer, and it talks only to http://127.0.0.1:11434 by default. Set it up in two minutes: install Ollama (https://ollama.com/download), `ollama pull qwen3:8b`, `dexterm ai engine ollama`, `dexterm ai model qwen3:8b`, then `dexterm doctor` (the Ollama line should pass). In the chat box `/engine ollama` switches new conversations, `/engine claude` switches back; `--analyst-engine ollama` and `DEXTERM_ANALYST_ENGINE=ollama` work too, and `dexterm ai engine ollama --surface autotrade` picks one surface. The local engine uses the same dexterm tools and the same firewalled context as Claude. What it may do is your restriction profile: `observe` (analyse only), `propose` (the default for a new setup: UI actions, a PAPER ticket you confirm, strategy proposals you apply), `paper` (adds paper autotrade sessions and agent paper trading in a mandate you armed: `dexterm ai restrictions paper`), `full` (only after `dexterm ai engine ollama --full` and typing ENABLE FULL, for one model). Caps, the kill switch, mandate tiers, live gating and Telegram buttons are enforced outside the model for every engine. `dexterm ai probe --json` checks tool calling, context and decision formatting; a model without tools answers from the dossier dexterm fetches and says so. Paper autotrade on it: `dexterm autotrade run <strategy> --paper --engine ollama`. Headless: `dexterm ask "question"`, `dexterm ai agent "goal"`. Docs: https://dexterm.xyz/docs/ollama/
|
|
37
|
+
|
|
38
|
+
CLI: `dexterm ai`, `dexterm ask`.
|
|
@@ -29,21 +29,25 @@ date: 2026-10-16
|
|
|
29
29
|
|
|
30
30
|
Two steps, both yours:
|
|
31
31
|
|
|
32
|
-
1. Draft and arm a mandate (`dexterm mandate draft` / `arm`, or the plans screen). Its caps are per-trade, per-coin and total size, a loss limit, open positions, price impact, allowed sides and an optional mint allow-list, and arming needs a physical keypress.
|
|
32
|
+
1. Draft and arm a mandate (`dexterm mandate draft` / `arm`, or the plans screen). Its caps are per-trade, per-coin and total size, a loss limit, open positions, price impact, allowed sides and an optional mint allow-list, and arming needs a physical keypress. For bigger simulated sizes, draft a **paper-only** mandate with `dexterm mandate draft --paper` (see paper-only mandates (https://dexterm.xyz/docs/paper-trading#paper-only-mandates)): only the agent paper desk can use it.
|
|
33
33
|
2. Start the terminal with the agent activity view and name that mandate: `dexterm --spectate-mcp --agent-paper <mandate-id>`. Quitting turns it off again.
|
|
34
34
|
|
|
35
|
-
While it is on, the agent can use
|
|
35
|
+
While it is on, the agent can use seven tools:
|
|
36
36
|
|
|
37
37
|
- `paper_open_ticket` opens a simulated ticket for a mint and side. It stays inert until confirmed.
|
|
38
38
|
- `paper_size_ticket` sets the simulated size. A buy over any cap is **refused**, never clamped up.
|
|
39
39
|
- `paper_confirm` re-checks the caps and your controls, fetches a fresh keyless quote and books the simulated fill.
|
|
40
|
-
- `paper_close` closes a fraction of a held simulated position.
|
|
40
|
+
- `paper_close` closes a fraction of a held simulated position. If the keyless quote for that close is rate-limited, the desk waits briefly and asks for a fresh quote by itself (up to 4 tries in about 25 seconds, each retry shown in the agent activity) and books the fill on that later quote, never on an old one.
|
|
41
41
|
- `paper_positions` and `paper_pnl` read the simulated positions and PnL. They are read-only.
|
|
42
|
+
- `paper_tag` records a declaration apart from a fill: a REPROFILE while it holds a coin, or a PROFILE / EXIT it did not pass with the fill (marked as declared late). It books nothing.
|
|
43
|
+
|
|
44
|
+
`paper_confirm` takes the exit profile and the entry reason (`profile`, `reason`) and `paper_close` the exit reason (`exit_reason`, `reason`) as typed fields, or the verbatim PROFILE / EXIT line in `tag_line`. They go to the trade ledger (https://dexterm.xyz/docs/paper-trading#the-trade-ledger) with the fill, so your results can be read by profile and by exit reason.
|
|
42
45
|
|
|
43
46
|
The guarantees, each covered by tests:
|
|
44
47
|
|
|
45
48
|
- **It can never sign or send.** No MCP tool can build, sign or send a real transaction, touch a wallet or key, or change a cap. The paper tools book the simulated ledger only. A registry test enumerates every MCP tool, fails on any tool not on its reviewed allow-list, and checks that the paper path imports nothing that signs, sends or arms.
|
|
46
49
|
- **Caps come from your mandate.** The agent's tools never carry caps: on every call the server re-reads the mandate from the hash-chained plans journal you armed it in, and a journal that fails its hash check is refused. That protects the mandate from the agent's tools; it is not tamper-proofing against other software running as your own user. The agent runs at the most restricted confirmation tier, so its per-trade cap is a quarter of the mandate's. Revoking the mandate, letting it expire or pressing the panic key stops the agent on its next call.
|
|
50
|
+
- **The terminal shows what the agent looks at.** While you follow it, `open_token` from the agent moves your screen to coins it was shown by its own reads (the screen, `screener_query`, `narrative_board`) or holds a paper position in, view-only.
|
|
47
51
|
- **You stay in control, and you see everything.** Every call and every refusal shows in this terminal's agent activity, labelled PAPER, and is appended to its own hash-chained audit journal. Ctrl+P pauses and resumes, Ctrl+K stops it for the rest of the run, and any key while the agent is driving takes over; all of them halt its paper calls. Trading calls are refused while nothing is watching.
|
|
48
52
|
- **Only the agent you connected.** The in-app analyst and the scan never get the paper tools. The loopback agent bus does not offer them either.
|
|
49
53
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-agents-reading-your-trade-ledger
|
|
3
|
+
title: Bring your own agent › Reading your trade ledger
|
|
4
|
+
kind: docs
|
|
5
|
+
page: agents
|
|
6
|
+
page_title: Bring your own agent
|
|
7
|
+
heading: Reading your trade ledger
|
|
8
|
+
anchor: reading-your-trade-ledger
|
|
9
|
+
url: https://dexterm.xyz/docs/agents#reading-your-trade-ledger
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- agents
|
|
13
|
+
- reading
|
|
14
|
+
- trade
|
|
15
|
+
- ledger
|
|
16
|
+
- bring
|
|
17
|
+
- own
|
|
18
|
+
- agent
|
|
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/agents.md
|
|
26
|
+
date: 2026-10-16
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
Any connected agent can read the trade ledger (https://dexterm.xyz/docs/paper-trading#the-trade-ledger) with the same read-only tools as the rest of the data: `ledger_trades`, `ledger_positions`, `ledger_summary`, `ledger_equity` and `ledger_compare`, plus `candidate_dossier` (what an autotrade run saw and decided about one coin) and `outcomes_lookup` (what a coin, or every candidate of a run, turned into). `trading_status` and `telegram_status` describe your live signer and your Telegram bot: settings and state only, never a key, a seed, an address, an exact balance, a bot token or a chat id.
|
|
30
|
+
|
|
31
|
+
`backtest_request` lets an agent ask for a longer backtest than `strategy_backtest` runs. It only files the request: you see it with `dexterm autotrade requests` and run or dismiss it yourself, and the agent reads the one-line result with `backtest_requests`.
|
|
@@ -31,6 +31,6 @@ Every agent is treated as potentially compromised or buggy:
|
|
|
31
31
|
- **The gate.** One function every call passes on every transport: session open, name not on the never-list, tier sufficient, inside any mandate, arguments valid against a **closed** schema and within a size cap, rate limits and quotas with room, and an idempotency key on every proposal.
|
|
32
32
|
- **Rate, quota and flood control.** Reads/min, navigation/10s and proposals/hour are per agent; sustained refusals trip a breaker that auto-pauses the agent.
|
|
33
33
|
- **Prompt firewall.** Every untrusted string an agent receives (token names, bios, tweets, fetched page text) is wrapped and sanitised; terminal-escape, bidi-override and zero-width characters are stripped from every result, event and audit line.
|
|
34
|
-
- **Proposals, never actions.** An order-plan proposal is a draft with `armed: false`, full stop; only your physical keypress arms it, and
|
|
34
|
+
- **Proposals, never actions.** An order-plan proposal is a draft with `armed: false`, full stop; only your physical keypress arms it, and it fills on paper.
|
|
35
35
|
- **Roster + audit.** The roster popup lists every connected agent (name, tier, last activity, reads/proposals, rate usage) with per-agent **pause** and **kick**, and the full audit log records every connect, call, refusal, proposal and disconnect.
|
|
36
36
|
- **Watching adds no power.** The spectator view (https://dexterm.xyz/docs/spectator) only observes calls the gate already allowed or refused; its stream has no inbound command path and its window can send only pause, resume, take over and kill.
|
|
@@ -22,4 +22,4 @@ sources:
|
|
|
22
22
|
date: 2026-10-16
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
-
The panel
|
|
25
|
+
The panel says to set up an AI backend, with both ways in one line (`npm i -g @anthropic-ai/claude-code && claude login`, or a free local model with Ollama), and the rest of dexterm keeps working. `dexterm doctor` reports the Claude CLI line as a warning, not a failure. With Codex installed, `auto` runs the analyst on Codex instead; with neither but a local model (https://dexterm.xyz/docs/ollama) set up, on the local model.
|
|
@@ -30,4 +30,6 @@ Nothing runs behind your back. Opening a token with `⏎` is free. A paid run st
|
|
|
30
30
|
- type a question (`i` or `⏎` to focus, `⏎` to send). A question is a chat turn on the warm session, or a new session with that question as its first turn, never a structured skill run;
|
|
31
31
|
- let AI scan mode (https://dexterm.xyz/docs/scan) lock a coin.
|
|
32
32
|
|
|
33
|
+
In an auto mode (following an agent with `--spectate-mcp`, or AI scan mode (https://dexterm.xyz/docs/scan#the-read)), the token screen's analyst panel shows the brain view (https://dexterm.xyz/docs/spectator#the-brain-view-and-the-pnl-chip) until you type into it.
|
|
34
|
+
|
|
33
35
|
Each token keeps its own conversation for the run; the analyst tab has its own. `esc` interrupts a running answer from any screen. The caption under an answer shows cost, latency, tool calls and the model.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: docs-analyst-use-a-local-model-instead
|
|
3
|
+
title: The analyst › Use a local model instead
|
|
4
|
+
kind: docs
|
|
5
|
+
page: analyst
|
|
6
|
+
page_title: The analyst
|
|
7
|
+
heading: Use a local model instead
|
|
8
|
+
anchor: use-a-local-model-instead
|
|
9
|
+
url: https://dexterm.xyz/docs/analyst#use-a-local-model-instead
|
|
10
|
+
tags:
|
|
11
|
+
- docs
|
|
12
|
+
- analyst
|
|
13
|
+
- use
|
|
14
|
+
- local
|
|
15
|
+
- model
|
|
16
|
+
- instead
|
|
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/analyst.md
|
|
24
|
+
date: 2026-10-16
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
The analyst can also run on **a free model on your own machine** through Ollama: no login, no key, $0 per answer, and with the default host (`127.0.0.1`) nothing leaves the machine. `dexterm ai engine ollama`, `--analyst-engine ollama` or `/engine ollama` in the chat box. Same tools, same firewalled context, same skills; what the local engine may do is set by a restriction profile you choose. See Use a local model with Ollama (https://dexterm.xyz/docs/ollama).
|
|
@@ -23,4 +23,6 @@ date: 2026-10-16
|
|
|
23
23
|
|
|
24
24
|
Every turn carries a firewalled **CONTEXT** block: the screen you are on, the filter and sort, the selected or hovered coin, the visible rows (price, change, liquidity, volume), your watchlist, and any open PAPER ticket or position. So "this coin", "it" and "the highlighted one" resolve without asking. Token names, descriptions, socials, RugCheck text and fetched page text are wrapped as `<untrusted>` data before the model sees them; instruction-like text inside such a block is itself reported as a red flag (`injection_detected`) and never followed.
|
|
25
25
|
|
|
26
|
+
**It talks in market cap.** By default the analyst speaks the way traders do: the cap at entry and the cap now, targets and stops as market-cap levels, moves as x-multiples ("in at $69.7K, now $264.9K, 3.8x"); its live snapshot leads with the market cap and reads the price history as caps at the current supply. With the price display mode (https://dexterm.xyz/docs/configuration#price-display-mode) set to price (`$` or `/display price`) it switches to USD price on the next turn. A coin without a known supply is discussed in price, and it says so.
|
|
27
|
+
|
|
26
28
|
Facts come only from tools. The system prompt forbids token facts from model memory: every number, address, flag and level must come from a tool result in the session, each carrying its source and age. The knowledge base explains mechanics and patterns; it never holds a fact about a live token.
|