dexterm-cli 0.1.6 → 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.
Files changed (331) hide show
  1. package/dist/packages/agents/src/schema.js +22 -1
  2. package/dist/packages/agents/src/story.js +11 -2
  3. package/dist/packages/agents/src/tiers.js +27 -2
  4. package/dist/packages/agents/src/tools.js +30 -2
  5. package/dist/packages/autotrade/assets/exit-profile.schema.json +492 -0
  6. package/dist/packages/autotrade/assets/profiles/moonbag.json +46 -0
  7. package/dist/packages/autotrade/assets/profiles/runner.json +88 -0
  8. package/dist/packages/autotrade/assets/profiles/scalp.json +88 -0
  9. package/dist/packages/autotrade/assets/profiles/swing.json +88 -0
  10. package/dist/packages/autotrade/assets/strategies/moonbag.json +101 -0
  11. package/dist/packages/autotrade/assets/strategies/runner.json +101 -0
  12. package/dist/packages/autotrade/assets/strategies/sample-dip-ladder.json +188 -0
  13. package/dist/packages/autotrade/assets/strategies/scalp.json +98 -0
  14. package/dist/packages/autotrade/assets/strategies/swing.json +97 -0
  15. package/dist/packages/autotrade/assets/strategies/yolo.json +157 -0
  16. package/dist/packages/autotrade/assets/tapes/yolo-rehearsal.json +1 -0
  17. package/dist/packages/autotrade/src/account.js +74 -0
  18. package/dist/packages/autotrade/src/backtest.js +357 -0
  19. package/dist/packages/autotrade/src/basis-text.js +32 -0
  20. package/dist/packages/autotrade/src/chat/approvals.js +484 -0
  21. package/dist/packages/autotrade/src/chat/audit.js +140 -0
  22. package/dist/packages/autotrade/src/chat/config.js +93 -0
  23. package/dist/packages/autotrade/src/chat/connector.js +24 -0
  24. package/dist/packages/autotrade/src/chat/control.js +103 -0
  25. package/dist/packages/autotrade/src/chat/fake.js +100 -0
  26. package/dist/packages/autotrade/src/chat/format.js +71 -0
  27. package/dist/packages/autotrade/src/chat/hub.js +187 -0
  28. package/dist/packages/autotrade/src/chat/index.js +18 -0
  29. package/dist/packages/autotrade/src/chat/notify.js +292 -0
  30. package/dist/packages/autotrade/src/chat/pairing.js +46 -0
  31. package/dist/packages/autotrade/src/chat/redact.js +48 -0
  32. package/dist/packages/autotrade/src/chat/secrets.js +99 -0
  33. package/dist/packages/autotrade/src/chat/service.js +248 -0
  34. package/dist/packages/autotrade/src/chat/telegram.js +290 -0
  35. package/dist/packages/autotrade/src/desk-executor.js +188 -0
  36. package/dist/packages/autotrade/src/engine.js +387 -0
  37. package/dist/packages/autotrade/src/execution-port.js +97 -0
  38. package/dist/packages/autotrade/src/fleet-config.js +169 -0
  39. package/dist/packages/autotrade/src/fleet-control.js +276 -0
  40. package/dist/packages/autotrade/src/fleet.js +639 -0
  41. package/dist/packages/autotrade/src/index.js +53 -0
  42. package/dist/packages/autotrade/src/ledger.js +108 -0
  43. package/dist/packages/autotrade/src/live-source.js +182 -0
  44. package/dist/packages/autotrade/src/monitor-daemon.js +715 -0
  45. package/dist/packages/autotrade/src/monitor.js +190 -0
  46. package/dist/packages/autotrade/src/ollama-sessions.js +137 -0
  47. package/dist/packages/autotrade/src/paper-accounts.js +72 -0
  48. package/dist/packages/autotrade/src/replay.js +198 -0
  49. package/dist/packages/autotrade/src/runner-config.js +99 -0
  50. package/dist/packages/autotrade/src/runner.js +872 -0
  51. package/dist/packages/autotrade/src/safety.js +243 -0
  52. package/dist/packages/autotrade/src/session.js +269 -0
  53. package/dist/packages/autotrade/src/sessions.js +503 -0
  54. package/dist/packages/autotrade/src/store.js +250 -0
  55. package/dist/packages/autotrade/src/strategy.js +256 -0
  56. package/dist/packages/autotrade/src/trade-ledger.js +241 -0
  57. package/dist/packages/autotrade/src/yolo.js +140 -0
  58. package/dist/packages/cli/assets/claude/analyst-system.md +4 -4
  59. package/dist/packages/cli/assets/claude/plugin/skills/token-dossier/SKILL.md +1 -1
  60. package/dist/packages/cli/src/ai-cmd.js +412 -0
  61. package/dist/packages/cli/src/analyst/backend.js +82 -15
  62. package/dist/packages/cli/src/analyst/codex.js +14 -9
  63. package/dist/packages/cli/src/analyst/ollama.js +263 -0
  64. package/dist/packages/cli/src/analyst/session.js +5 -2
  65. package/dist/packages/cli/src/app-help-gen.js +44 -8
  66. package/dist/packages/cli/src/autotrade-cmd/audit.js +57 -0
  67. package/dist/packages/cli/src/autotrade-cmd/backtest.js +199 -0
  68. package/dist/packages/cli/src/autotrade-cmd/flatten.js +64 -0
  69. package/dist/packages/cli/src/autotrade-cmd/fleet.js +397 -0
  70. package/dist/packages/cli/src/autotrade-cmd/requests.js +79 -0
  71. package/dist/packages/cli/src/autotrade-cmd/run.js +413 -0
  72. package/dist/packages/cli/src/autotrade-cmd/stop.js +76 -0
  73. package/dist/packages/cli/src/autotrade-cmd/strategies.js +198 -0
  74. package/dist/packages/cli/src/autotrade-cmd/strategy-control.js +174 -0
  75. package/dist/packages/cli/src/autotrade-cmd/telegram-host.js +101 -0
  76. package/dist/packages/cli/src/autotrade-cmd.js +168 -0
  77. package/dist/packages/cli/src/display.js +156 -17
  78. package/dist/packages/cli/src/doctor.js +62 -3
  79. package/dist/packages/cli/src/export.js +10 -2
  80. package/dist/packages/cli/src/index.js +1 -1
  81. package/dist/packages/cli/src/ledger-cmd.js +288 -0
  82. package/dist/packages/cli/src/live/chart-fills.js +46 -0
  83. package/dist/packages/cli/src/live/index.js +23 -89
  84. package/dist/packages/cli/src/live/screens/token-live.js +9 -6
  85. package/dist/packages/cli/src/live/trade.js +12 -457
  86. package/dist/packages/cli/src/live/watchlist.js +1 -1
  87. package/dist/packages/cli/src/main.js +147 -190
  88. package/dist/packages/cli/src/mcp-cmd.js +7 -1
  89. package/dist/packages/cli/src/plan-cmd.js +1 -1
  90. package/dist/packages/cli/src/pnl-app.js +31 -21
  91. package/dist/packages/cli/src/pnl-card.js +158 -21
  92. package/dist/packages/cli/src/popup.js +22 -6
  93. package/dist/packages/cli/src/record-cmd.js +141 -20
  94. package/dist/packages/cli/src/screens/agent-hud.js +34 -2
  95. package/dist/packages/cli/src/screens/analyst-session.js +7 -4
  96. package/dist/packages/cli/src/screens/analyst.js +3 -2
  97. package/dist/packages/cli/src/screens/autotrade-keys.js +169 -0
  98. package/dist/packages/cli/src/screens/autotrade-proposals.js +123 -0
  99. package/dist/packages/cli/src/screens/autotrade-screen.js +725 -0
  100. package/dist/packages/cli/src/screens/autotrade-ui.js +640 -0
  101. package/dist/packages/cli/src/screens/autotrade-worker.js +89 -0
  102. package/dist/packages/cli/src/screens/brain.js +37 -11
  103. package/dist/packages/cli/src/screens/overlay.js +5 -2
  104. package/dist/packages/cli/src/screens/plans.js +5 -17
  105. package/dist/packages/cli/src/screens/pnl-chip.js +9 -8
  106. package/dist/packages/cli/src/screens/positions.js +6 -28
  107. package/dist/packages/cli/src/screens/ticket.js +38 -205
  108. package/dist/packages/cli/src/screens/token.js +3 -3
  109. package/dist/packages/cli/src/state.js +25 -19
  110. package/dist/packages/cli/src/telegram-cmd.js +451 -0
  111. package/dist/packages/cli/src/trade.js +3 -128
  112. package/dist/packages/cli/src/version.js +1 -1
  113. package/dist/packages/cli/src/wallet-cmd.js +39 -340
  114. package/dist/packages/cli/src/wallet-command.js +8 -11
  115. package/dist/packages/cli/src/widgets.js +0 -12
  116. package/dist/packages/custom/src/config.js +20 -2
  117. package/dist/packages/custom/src/schema.js +35 -10
  118. package/dist/packages/custom/src/workspace.js +3 -3
  119. package/dist/packages/data/src/basis.js +191 -0
  120. package/dist/packages/data/src/detail.js +53 -2
  121. package/dist/packages/data/src/index.js +0 -14
  122. package/dist/packages/data/src/store.js +14 -5
  123. package/dist/packages/data/src/trade/agent/paper-desk.js +228 -16
  124. package/dist/packages/data/src/trade/agent/rendezvous.js +3 -2
  125. package/dist/packages/data/src/trade/bridge.js +4 -102
  126. package/dist/packages/data/src/trade/ledger/export.js +101 -0
  127. package/dist/packages/data/src/trade/ledger/file.js +135 -0
  128. package/dist/packages/data/src/trade/ledger/fold.js +191 -0
  129. package/dist/packages/data/src/trade/ledger/index.js +9 -0
  130. package/dist/packages/data/src/trade/ledger/schema.js +83 -0
  131. package/dist/packages/data/src/trade/ledger/sources.js +307 -0
  132. package/dist/packages/data/src/trade/ledger/stats.js +123 -0
  133. package/dist/packages/data/src/trade/ledger/tags.js +116 -0
  134. package/dist/packages/data/src/trade/ledger/view.js +51 -0
  135. package/dist/packages/data/src/trade/plans/index.js +0 -1
  136. package/dist/packages/data/src/trade/plans/service.js +3 -27
  137. package/dist/packages/mcp/assets/kb/app-help/autotrade-chat.md +48 -0
  138. package/dist/packages/mcp/assets/kb/app-help/autotrade-parallel.md +42 -0
  139. package/dist/packages/mcp/assets/kb/app-help/autotrade-runner.md +35 -0
  140. package/dist/packages/mcp/assets/kb/app-help/autotrade-stop.md +37 -0
  141. package/dist/packages/mcp/assets/kb/app-help/autotrade-strategies.md +35 -0
  142. package/dist/packages/mcp/assets/kb/app-help/autotrade-telegram.md +40 -0
  143. package/dist/packages/mcp/assets/kb/app-help/chart-trade-markers.md +42 -0
  144. package/dist/packages/mcp/assets/kb/app-help/link-a-wallet.md +4 -10
  145. package/dist/packages/mcp/assets/kb/app-help/live-trading.md +38 -0
  146. package/dist/packages/mcp/assets/kb/app-help/live-yolo.md +34 -0
  147. package/dist/packages/mcp/assets/kb/app-help/order-plans.md +1 -1
  148. package/dist/packages/mcp/assets/kb/app-help/price-or-marketcap.md +5 -2
  149. package/dist/packages/mcp/assets/kb/app-help/screen-analyst.md +3 -0
  150. package/dist/packages/mcp/assets/kb/app-help/screen-autotrade.md +217 -0
  151. package/dist/packages/mcp/assets/kb/app-help/screen-kol.md +3 -0
  152. package/dist/packages/mcp/assets/kb/app-help/screen-newpairs.md +3 -0
  153. package/dist/packages/mcp/assets/kb/app-help/screen-positions.md +3 -0
  154. package/dist/packages/mcp/assets/kb/app-help/screen-screener.md +3 -0
  155. package/dist/packages/mcp/assets/kb/app-help/screen-token.md +3 -0
  156. package/dist/packages/mcp/assets/kb/app-help/screen-trending.md +3 -0
  157. package/dist/packages/mcp/assets/kb/app-help/screen-watchlist.md +3 -0
  158. package/dist/packages/mcp/assets/kb/app-help/standing-mandates.md +1 -1
  159. package/dist/packages/mcp/assets/kb/app-help/trade-ledger.md +54 -0
  160. package/dist/packages/mcp/assets/kb/app-help/use-local-model.md +38 -0
  161. package/dist/packages/mcp/assets/kb/docs/docs-agents-agent-paper-trading.md +4 -1
  162. package/dist/packages/mcp/assets/kb/docs/docs-agents-reading-your-trade-ledger.md +31 -0
  163. package/dist/packages/mcp/assets/kb/docs/docs-agents-untrusted-by-default.md +1 -1
  164. package/dist/packages/mcp/assets/kb/docs/docs-analyst-if-claude-is-missing.md +1 -1
  165. package/dist/packages/mcp/assets/kb/docs/docs-analyst-use-a-local-model-instead.md +27 -0
  166. package/dist/packages/mcp/assets/kb/docs/docs-analyst-what-it-sees.md +2 -0
  167. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-backtests-and-their-limits.md +56 -0
  168. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-change-a-strategy-by-chat.md +49 -0
  169. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-checking-the-record-of-a-run.md +28 -0
  170. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-comparing-them.md +41 -0
  171. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-exits-and-wakes.md +76 -0
  172. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-how-a-stop-reaches-the-runner.md +32 -0
  173. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-on-the-q-screen.md +37 -0
  174. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-one-strategy-or-all-of-them.md +35 -0
  175. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-paper-accounts.md +50 -0
  176. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-presets.md +37 -0
  177. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-running-it-all-day.md +31 -0
  178. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-sessions-and-their-limits.md +31 -0
  179. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-several-strategies-at-once.md +33 -0
  180. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-stopping-it.md +35 -0
  181. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-strategies-and-presets.md +34 -0
  182. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-the-autotrade-json-file.md +48 -0
  183. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-the-heartbeat.md +27 -0
  184. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-the-run-file-and-the-heartbeat.md +34 -0
  185. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-the-runner-and-candidate-sessions.md +45 -0
  186. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-what-each-session-shows-first.md +31 -0
  187. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-what-it-costs-claude-usage-per-session.md +58 -0
  188. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-what-it-is-paper-self-directed.md +43 -0
  189. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-what-it-will-not-do.md +31 -0
  190. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-which-account-day-caps-and-the-usage-guard.md +44 -0
  191. package/dist/packages/mcp/assets/kb/docs/docs-autotrade-your-strategies.md +37 -0
  192. package/dist/packages/mcp/assets/kb/docs/docs-autotrade.md +22 -0
  193. package/dist/packages/mcp/assets/kb/docs/docs-beginners-before-any-experimental-trading.md +2 -2
  194. package/dist/packages/mcp/assets/kb/docs/docs-beginners.md +1 -1
  195. package/dist/packages/mcp/assets/kb/docs/docs-configuration-chart-markers.md +30 -0
  196. package/dist/packages/mcp/assets/kb/docs/docs-configuration-chart-y-axis.md +1 -1
  197. package/dist/packages/mcp/assets/kb/docs/docs-configuration-environment-variables.md +4 -1
  198. package/dist/packages/mcp/assets/kb/docs/docs-configuration-files-on-disk.md +1 -0
  199. package/dist/packages/mcp/assets/kb/docs/docs-configuration-headless-recorder-dexterm-record.md +3 -1
  200. package/dist/packages/mcp/assets/kb/docs/docs-configuration-price-display-mode.md +8 -6
  201. package/dist/packages/mcp/assets/kb/docs/docs-copy-trading-stage-2-the-one-key-mirror-ticket-a-proposal.md +1 -1
  202. package/dist/packages/mcp/assets/kb/docs/docs-copy-trading-stage-3-capped-auto-mirror-default-off-less.md +1 -1
  203. package/dist/packages/mcp/assets/kb/docs/docs-copy-trading-what-is-proven-what-is-not.md +1 -1
  204. package/dist/packages/mcp/assets/kb/docs/docs-copy-trading.md +1 -1
  205. package/dist/packages/mcp/assets/kb/docs/docs-data-sources-recorded-history-and-retention.md +36 -0
  206. package/dist/packages/mcp/assets/kb/docs/docs-data-sources-sources.md +1 -0
  207. package/dist/packages/mcp/assets/kb/docs/docs-getting-started-first-run.md +1 -1
  208. package/dist/packages/mcp/assets/kb/docs/docs-getting-started-install.md +3 -3
  209. package/dist/packages/mcp/assets/kb/docs/docs-getting-started-requirements.md +1 -1
  210. package/dist/packages/mcp/assets/kb/docs/docs-getting-started.md +1 -1
  211. package/dist/packages/mcp/assets/kb/docs/docs-live-trading-changed-in-0-1-7.md +26 -0
  212. package/dist/packages/mcp/assets/kb/docs/docs-live-trading-stopping.md +28 -0
  213. package/dist/packages/mcp/assets/kb/docs/docs-live-trading-the-short-version.md +34 -0
  214. package/dist/packages/mcp/assets/kb/docs/docs-live-trading-using-a-trading-bot-with-dexterm.md +33 -0
  215. package/dist/packages/mcp/assets/kb/docs/docs-live-trading-what-dexterm-does-not-do.md +30 -0
  216. package/dist/packages/mcp/assets/kb/docs/docs-live-trading-what-dexterm-does.md +29 -0
  217. package/dist/packages/mcp/assets/kb/docs/docs-live-trading.md +23 -0
  218. package/dist/packages/mcp/assets/kb/docs/docs-ollama-another-machine.md +28 -0
  219. package/dist/packages/mcp/assets/kb/docs/docs-ollama-autotrade-on-a-local-model.md +29 -0
  220. package/dist/packages/mcp/assets/kb/docs/docs-ollama-check-your-model-dexterm-ai-probe.md +38 -0
  221. package/dist/packages/mcp/assets/kb/docs/docs-ollama-how-we-checked.md +27 -0
  222. package/dist/packages/mcp/assets/kb/docs/docs-ollama-models-without-tool-calling.md +32 -0
  223. package/dist/packages/mcp/assets/kb/docs/docs-ollama-pick-the-engine-globally-or-per-surface.md +43 -0
  224. package/dist/packages/mcp/assets/kb/docs/docs-ollama-restriction-profiles.md +35 -0
  225. package/dist/packages/mcp/assets/kb/docs/docs-ollama-set-it-up-in-two-minutes.md +39 -0
  226. package/dist/packages/mcp/assets/kb/docs/docs-ollama-troubleshooting.md +35 -0
  227. package/dist/packages/mcp/assets/kb/docs/docs-ollama-what-runs-on-a-local-model.md +39 -0
  228. package/dist/packages/mcp/assets/kb/docs/docs-ollama-what-stays-outside-the-model.md +36 -0
  229. package/dist/packages/mcp/assets/kb/docs/docs-ollama-which-model.md +38 -0
  230. package/dist/packages/mcp/assets/kb/docs/docs-ollama-your-own-agent-on-the-local-model.md +28 -0
  231. package/dist/packages/mcp/assets/kb/docs/docs-ollama.md +28 -0
  232. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-letting-an-agent-paper-trade-experimental.md +3 -4
  233. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-link-a-wallet-read-only.md +30 -0
  234. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-order-plans-and-standing-mandates.md +3 -4
  235. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-panic.md +4 -7
  236. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-paper-only-mandates.md +6 -7
  237. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-pnl-cards.md +7 -7
  238. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-safety-model.md +34 -0
  239. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-ticket.md +3 -4
  240. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-trade-ledger.md +42 -0
  241. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-wallet.md +4 -5
  242. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-trade-moments.md +4 -5
  243. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading.md +4 -5
  244. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-buy-and-sell-markers.md +37 -0
  245. package/dist/packages/mcp/assets/kb/docs/docs-popup-chart-what-it-shows.md +2 -1
  246. package/dist/packages/mcp/assets/kb/docs/docs-screens-autotrade-paper.md +26 -0
  247. package/dist/packages/mcp/assets/kb/docs/docs-screens-order-plans.md +1 -1
  248. package/dist/packages/mcp/assets/kb/docs/docs-screens-token-screen.md +2 -0
  249. package/dist/packages/mcp/assets/kb/docs/docs-spectator-the-brain-view-and-the-pnl-chip.md +1 -1
  250. package/dist/packages/mcp/assets/kb/docs/docs-telegram-approve-one-tap-entries.md +50 -0
  251. package/dist/packages/mcp/assets/kb/docs/docs-telegram-control-the-commands.md +43 -0
  252. package/dist/packages/mcp/assets/kb/docs/docs-telegram-if-something-goes-wrong.md +30 -0
  253. package/dist/packages/mcp/assets/kb/docs/docs-telegram-notify-what-reaches-your-phone.md +41 -0
  254. package/dist/packages/mcp/assets/kb/docs/docs-telegram-set-it-up.md +47 -0
  255. package/dist/packages/mcp/assets/kb/docs/docs-telegram-the-record.md +26 -0
  256. package/dist/packages/mcp/assets/kb/docs/docs-telegram-what-it-is.md +33 -0
  257. package/dist/packages/mcp/assets/kb/docs/docs-telegram-what-it-will-not-do.md +31 -0
  258. package/dist/packages/mcp/assets/kb/docs/docs-telegram.md +23 -0
  259. package/dist/packages/mcp/assets/kb/docs/docs-troubleshooting-common-questions.md +1 -1
  260. package/dist/packages/mcp/assets/kb/docs/docs-troubleshooting-doctor-lines.md +4 -0
  261. package/dist/packages/mcp/assets/kb/docs/docs-voice-linux-and-windows.md +1 -1
  262. package/dist/packages/mcp/assets/kb/docs/docs-voice.md +1 -1
  263. package/dist/packages/mcp/assets/kb/docs/docs-yolo-1-replay-it-on-your-own-history.md +42 -0
  264. package/dist/packages/mcp/assets/kb/docs/docs-yolo-2-run-it-on-paper.md +34 -0
  265. package/dist/packages/mcp/assets/kb/docs/docs-yolo-3-watch-it-and-stop-it.md +32 -0
  266. package/dist/packages/mcp/assets/kb/docs/docs-yolo-the-rules.md +37 -0
  267. package/dist/packages/mcp/assets/kb/docs/docs-yolo-what-it-is.md +34 -0
  268. package/dist/packages/mcp/assets/kb/docs/docs-yolo-what-it-will-not-do.md +31 -0
  269. package/dist/packages/mcp/assets/kb/docs/docs-yolo.md +26 -0
  270. package/dist/packages/mcp/assets/kb/entries/autotrade.md +38 -0
  271. package/dist/packages/mcp/src/app-help.js +1 -1
  272. package/dist/packages/mcp/src/autotrade-tools.js +944 -0
  273. package/dist/packages/mcp/src/backtest-requests.js +71 -0
  274. package/dist/packages/mcp/src/engine/config.js +159 -0
  275. package/dist/packages/mcp/src/engine/index.js +10 -0
  276. package/dist/packages/mcp/src/engine/loop.js +101 -0
  277. package/dist/packages/mcp/src/engine/mcp-client.js +123 -0
  278. package/dist/packages/mcp/src/engine/ollama.js +258 -0
  279. package/dist/packages/mcp/src/engine/probe.js +110 -0
  280. package/dist/packages/mcp/src/engine/reason.js +35 -0
  281. package/dist/packages/mcp/src/engine/restrictions.js +111 -0
  282. package/dist/packages/mcp/src/index.js +7 -1
  283. package/dist/packages/mcp/src/ledger-tools.js +346 -0
  284. package/dist/packages/mcp/src/paper-agent.js +2 -0
  285. package/dist/packages/mcp/src/server.js +127 -19
  286. package/dist/packages/packs/src/backtest.js +3 -1
  287. package/dist/packages/popup/src/pages/chart-lib.js +134 -21
  288. package/dist/packages/popup/src/pages/chart.css +9 -0
  289. package/dist/packages/popup/src/pages/chart.html +3 -1
  290. package/dist/packages/popup/src/pages/chart.js +104 -7
  291. package/dist/packages/popup/src/protocol.js +2 -0
  292. package/dist/packages/popup/src/server.js +4 -0
  293. package/dist/packages/recorder/src/index.js +2 -0
  294. package/dist/packages/recorder/src/recorder.js +63 -6
  295. package/dist/packages/recorder/src/retention.js +100 -0
  296. package/dist/packages/recorder/src/schema.js +34 -1
  297. package/dist/packages/recorder/src/ticks.js +237 -0
  298. package/dist/packages/tui/src/index.js +1 -0
  299. package/dist/packages/tui/src/keymap.js +21 -1
  300. package/dist/packages/tui/src/markers.js +219 -0
  301. package/dist/packages/tui/src/widgets.js +149 -2
  302. package/package.json +2 -1
  303. package/dist/packages/data/src/trade/caps.js +0 -323
  304. package/dist/packages/data/src/trade/executor.js +0 -933
  305. package/dist/packages/data/src/trade/plans/executor-live.js +0 -220
  306. package/dist/packages/data/src/trade/rpc-exec.js +0 -229
  307. package/dist/packages/data/src/trade/signer/client.js +0 -197
  308. package/dist/packages/data/src/trade/signer/fast-wallet.js +0 -154
  309. package/dist/packages/data/src/trade/signer/host.js +0 -97
  310. package/dist/packages/data/src/trade/signer/main.js +0 -121
  311. package/dist/packages/data/src/trade/signer/probe-builder.js +0 -85
  312. package/dist/packages/data/src/trade/signer/protocol.js +0 -92
  313. package/dist/packages/data/src/trade/signer/service.js +0 -400
  314. package/dist/packages/data/src/trade/signer/sol-usd-feed.js +0 -98
  315. package/dist/packages/data/src/trade/sol-usd.js +0 -86
  316. package/dist/packages/data/src/trade/swap-build.js +0 -108
  317. package/dist/packages/data/src/trade/token-delta.js +0 -201
  318. package/dist/packages/data/vendor/solana-web3/LICENSE +0 -20
  319. package/dist/packages/data/vendor/solana-web3/NOTICE.md +0 -13
  320. package/dist/packages/data/vendor/solana-web3/index.iife.min.js +0 -20
  321. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-a-live-ticket.md +0 -42
  322. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-before-you-press-size-vs-caps.md +0 -34
  323. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-devnet-signer-mainnet-token.md +0 -35
  324. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-jupiter-rate-limits.md +0 -33
  325. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-link-a-wallet.md +0 -32
  326. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-live-trading-devnet-first.md +0 -30
  327. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-mainnet.md +0 -31
  328. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-live-fire-path-devnet-the-fast-wallet.md +0 -41
  329. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-the-signer-process.md +0 -34
  330. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-what-the-live-path-keeps.md +0 -37
  331. package/dist/packages/mcp/assets/kb/docs/docs-paper-trading-your-first-live-trade.md +0 -41
@@ -0,0 +1,30 @@
1
+ ---
2
+ id: docs-live-trading-what-dexterm-does-not-do
3
+ title: Live trading › What dexterm does not do
4
+ kind: docs
5
+ page: live-trading
6
+ page_title: Live trading
7
+ heading: What dexterm does not do
8
+ anchor: what-dexterm-does-not-do
9
+ url: https://dexterm.xyz/docs/live-trading#what-dexterm-does-not-do
10
+ tags:
11
+ - docs
12
+ - live-trading
13
+ - dexterm
14
+ - does
15
+ - live
16
+ - trading
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/live-trading.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ - It does not place an order in your trading bot for you. In this version you act in the bot yourself.
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
+ - 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
+ - It does not know what your trading bot did. Positions, fills and P/L in dexterm are paper.
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: docs-live-trading-what-dexterm-does
3
+ title: Live trading › What dexterm does
4
+ kind: docs
5
+ page: live-trading
6
+ page_title: Live trading
7
+ heading: What dexterm does
8
+ anchor: what-dexterm-does
9
+ url: https://dexterm.xyz/docs/live-trading#what-dexterm-does
10
+ tags:
11
+ - docs
12
+ - live-trading
13
+ - dexterm
14
+ - does
15
+ - live
16
+ - trading
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/live-trading.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ - **Finds and explains.** The screener, the token screen, the LARP check (https://dexterm.xyz/docs/larp) and the analyst (https://dexterm.xyz/docs/analyst) read public data. None of them can trade.
28
+ - **Practises on paper.** The paper ticket, paper accounts (https://dexterm.xyz/docs/autotrade#paper-accounts) and paper autotrade runs (the yolo preset (https://dexterm.xyz/docs/yolo) included) fill on a simulated book on your machine.
29
+ - **Tells you in Telegram.** With Telegram (https://dexterm.xyz/docs/telegram) set up and paired, a paper run sends candidates, entries, exits, halts and a daily summary to your chat, and takes `/status`, `/pause`, `/resume`, `/kill`, `/flatten` and `/use` from it.
@@ -0,0 +1,23 @@
1
+ ---
2
+ id: docs-live-trading
3
+ title: Live trading
4
+ kind: docs
5
+ page: live-trading
6
+ page_title: Live trading
7
+ url: https://dexterm.xyz/docs/live-trading
8
+ tags:
9
+ - docs
10
+ - live-trading
11
+ - live
12
+ - trading
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/live-trading.md
20
+ date: 2026-10-16
21
+ ---
22
+
23
+ dexterm never holds a key and never signs a transaction. Live trading happens in a Telegram trading bot of your choice; dexterm's part is the Telegram connector, which sends alerts, signals and run control to your chat. Not financial advice.
@@ -0,0 +1,28 @@
1
+ ---
2
+ id: docs-ollama-another-machine
3
+ title: Use a local model with Ollama › Another machine
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: Another machine
8
+ anchor: another-machine
9
+ url: https://dexterm.xyz/docs/ollama#another-machine
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - another
14
+ - machine
15
+ - use
16
+ - local
17
+ - model
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/ollama.md
25
+ date: 2026-10-16
26
+ ---
27
+
28
+ `dexterm ai host http://<machine>:11434` points dexterm at an Ollama on another computer you control. Prompts, screen context and tool results then travel over your network, and `dexterm ai status`, `dexterm doctor` and each chat answer say so. dexterm contacts no other host for the local engine. It never follows a redirect: if the host answers with one, dexterm sends nothing on, and `dexterm doctor` and the chat answer say the host redirected.
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: docs-ollama-autotrade-on-a-local-model
3
+ title: Use a local model with Ollama › Autotrade on a local model
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: Autotrade on a local model
8
+ anchor: autotrade-on-a-local-model
9
+ url: https://dexterm.xyz/docs/ollama#autotrade-on-a-local-model
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - autotrade
14
+ - local
15
+ - model
16
+ - use
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/ollama.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ `dexterm autotrade run <strategy> --paper --engine ollama` (or `dexterm ai engine ollama --surface autotrade`) runs each candidate's session on your local model. The session has no tools: the request to Ollama never carries any, so the model can only answer. Its reply is constrained to `{comment, decision}` and turned into the same `DECISION {…}` line a Claude session writes, so the same closed schema, clamp, caps and run file apply. A reply later than the strategy's decision window is no answer. `--model <name>` picks another local model for the run. The run file records `agent: ollama`, the model and $0.
28
+
29
+ The runner needs the `paper` profile and refuses to start below it, with the command that raises it.
@@ -0,0 +1,38 @@
1
+ ---
2
+ id: docs-ollama-check-your-model-dexterm-ai-probe
3
+ title: Use a local model with Ollama › Check your model: dexterm ai probe
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: Check your model: dexterm ai probe
8
+ anchor: check-your-model-dexterm-ai-probe
9
+ url: https://dexterm.xyz/docs/ollama#check-your-model-dexterm-ai-probe
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - check
14
+ - model
15
+ - dexterm
16
+ - probe
17
+ - use
18
+ - local
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/ollama.md
26
+ date: 2026-10-16
27
+ ---
28
+
29
+ `dexterm ai probe` checks that Ollama answers, the model is pulled, it can call tools, and how much context it has. `dexterm ai probe --json` also asks it three short trading questions and checks it answers in the decision format the AUTOTRADE runner needs. It warns when the model is below the bar for your profile:
30
+
31
+ | profile | tool calling | context | decision format |
32
+ |---|---|---|---|
33
+ | `observe` | optional | ≥ 4,096 | not needed |
34
+ | `propose` | yes | ≥ 8,192 | not needed |
35
+ | `paper` | yes | ≥ 8,192 | 2 of 3 |
36
+ | `full` | yes | ≥ 16,384 | 3 of 3 |
37
+
38
+ A decision a model cannot format is refused by the engine, which means fewer trades, never bigger ones.
@@ -0,0 +1,27 @@
1
+ ---
2
+ id: docs-ollama-how-we-checked
3
+ title: Use a local model with Ollama › How we checked
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: How we checked
8
+ anchor: how-we-checked
9
+ url: https://dexterm.xyz/docs/ollama#how-we-checked
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - checked
14
+ - use
15
+ - local
16
+ - model
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/ollama.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ Offline tests drive a fake Ollama server through the real app paths and the real dexterm MCP server: tool round trips, the tool list each profile offers, refused calls that never run, the no-tools mode, structured verdicts, the typed `full` confirmation, and the doctor lines. The firewall test checks the local model receives exactly the text the Claude CLI receives. The caps test runs the same decisions through the Claude path's session interface and a local session over a recorded tape and gets identical clamps, refusals and fills. Answer quality and speed of local models against Claude have not been benchmarked.
@@ -0,0 +1,32 @@
1
+ ---
2
+ id: docs-ollama-models-without-tool-calling
3
+ title: Use a local model with Ollama › Models without tool calling
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: Models without tool calling
8
+ anchor: models-without-tool-calling
9
+ url: https://dexterm.xyz/docs/ollama#models-without-tool-calling
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - models
14
+ - without
15
+ - tool
16
+ - calling
17
+ - use
18
+ - local
19
+ - model
20
+ confidence: high
21
+ owner: maintainers
22
+ origin: docs-generated
23
+ reviewed_by: generated@2026-10-16
24
+ generated_from: dexterm/site content/docs (task-1420)
25
+ sources:
26
+ - site/content/docs/ollama.md
27
+ date: 2026-10-16
28
+ ---
29
+
30
+ If the model cannot call tools, dexterm fetches the selected coin's dossier itself and the model answers from it, and the answer starts with `(… has no tool calling: answering from the dossier without tools)`. Structured verdicts carry a `no_tools_mode` flag. For tool use pull a tool-capable model (the table above).
31
+
32
+ A local model that keeps asking for a tool it does not have is refused each time (the call never runs); after three refusals the turn stops and says so.
@@ -0,0 +1,43 @@
1
+ ---
2
+ id: docs-ollama-pick-the-engine-globally-or-per-surface
3
+ title: Use a local model with Ollama › Pick the engine, globally or per surface
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: Pick the engine, globally or per surface
8
+ anchor: pick-the-engine-globally-or-per-surface
9
+ url: https://dexterm.xyz/docs/ollama#pick-the-engine-globally-or-per-surface
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - pick
14
+ - engine
15
+ - globally
16
+ - per
17
+ - surface
18
+ - use
19
+ - local
20
+ - model
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/ollama.md
28
+ date: 2026-10-16
29
+ ---
30
+
31
+ `dexterm ai engine <auto|claude|codex|ollama>` sets the engine for everything; add `--surface analyst|autotrade|agent` to set one surface only (for example the analyst on Claude and paper autotrade on the local model). `dexterm ai status` shows the engine for each surface, the local model, the profile and a quick probe; `dexterm ai status --parity` adds the full list of what runs where.
32
+
33
+ For the analyst the order is: `--analyst-engine`, then `DEXTERM_ANALYST_ENGINE`, then `analyst.engine` in `config.json`, then `ai.json`, then `auto`. **`auto` is unchanged**: Claude Code when it is installed, else Codex, else the local model once you set one up (or Ollama is installed). With none of them, the analyst says how to set up an AI backend, and `dexterm doctor` lists all three ways.
34
+
35
+ The settings live in `~/.dexterm/ai.json` (mode 0600). Only you write it, with `dexterm ai …` or by hand. No MCP tool, chat message, Telegram command or model output can change it.
36
+
37
+ | setting | how |
38
+ |---|---|
39
+ | engine | `dexterm ai engine ollama` · `DEXTERM_AI_PROVIDER` · per surface `--surface S` |
40
+ | model | `dexterm ai model <name>` · `DEXTERM_OLLAMA_MODEL` (when none is set dexterm picks the first suggested model you pulled) |
41
+ | host | `dexterm ai host <url>` · `DEXTERM_OLLAMA_HOST` (default `http://127.0.0.1:11434`) |
42
+ | context | `dexterm ai ctx <tokens>` |
43
+ | profile | `dexterm ai restrictions observe|propose|paper` · `dexterm ai engine ollama --full` · `DEXTERM_AI_RESTRICTIONS` can only lower it |
@@ -0,0 +1,35 @@
1
+ ---
2
+ id: docs-ollama-restriction-profiles
3
+ title: Use a local model with Ollama › Restriction profiles
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: Restriction profiles
8
+ anchor: restriction-profiles
9
+ url: https://dexterm.xyz/docs/ollama#restriction-profiles
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - restriction
14
+ - profiles
15
+ - use
16
+ - local
17
+ - model
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/ollama.md
25
+ date: 2026-10-16
26
+ ---
27
+
28
+ | profile | the local engine may |
29
+ |---|---|
30
+ | `observe` | analyse only: the read tools, no UI actions, no proposals, no orders |
31
+ | `propose` | everything the analyst does on Claude: the read tools, the UI actions (open a coin, the screener, the watchlist, a feed, and open a PAPER ticket that you confirm), and strategy proposals you apply with a key. No orders. |
32
+ | `paper` | `propose`, plus paper orders: the AUTOTRADE runner's paper sessions, agent paper trading (https://dexterm.xyz/docs/agents) inside a mandate you armed, starting or stopping one of your parallel strategies (https://dexterm.xyz/docs/autotrade#several-strategies-at-once), paper journal tags and backtest requests |
33
+ | `full` | everything the Claude path may do, inside the same caps, mandate tiers and kill switch |
34
+
35
+ **A new local setup starts at `propose`.** `paper` is one command: `dexterm ai restrictions paper`. **`full` needs a typed confirmation** on a real terminal: `dexterm ai engine ollama --full` explains the small-model risk and asks you to type `ENABLE FULL`. It is recorded for that one model: change the model and the engine runs at `paper` until you confirm again. Going back to a lower profile forgets the confirmation. It needs you at a real terminal: a pipe cannot confirm it.
@@ -0,0 +1,39 @@
1
+ ---
2
+ id: docs-ollama-set-it-up-in-two-minutes
3
+ title: Use a local model with Ollama › Set it up in two minutes
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: Set it up in two minutes
8
+ anchor: set-it-up-in-two-minutes
9
+ url: https://dexterm.xyz/docs/ollama#set-it-up-in-two-minutes
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - set
14
+ - two
15
+ - minutes
16
+ - use
17
+ - local
18
+ - model
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/ollama.md
26
+ date: 2026-10-16
27
+ ---
28
+
29
+ ```
30
+ 1. install Ollama https://ollama.com/download (open it once so it runs)
31
+ 2. ollama pull qwen3:8b about 5 GB, once
32
+ 3. dexterm ai engine ollama run dexterm's AI on the local engine
33
+ 4. dexterm ai model qwen3:8b
34
+ 5. dexterm doctor the "Ollama (local AI)" line should be a ✓
35
+ ```
36
+
37
+ Then press `a` on a coin, or type a question, as usual. The panel title says `ANALYST · ollama` and the caption under an answer shows `local $0`. In the chat box, `/engine ollama` switches new conversations to the local model and `/engine claude` switches back.
38
+
39
+ dexterm never downloads or ships a model: you pull the one you want with Ollama.
@@ -0,0 +1,35 @@
1
+ ---
2
+ id: docs-ollama-troubleshooting
3
+ title: Use a local model with Ollama › Troubleshooting
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: Troubleshooting
8
+ anchor: troubleshooting
9
+ url: https://dexterm.xyz/docs/ollama#troubleshooting
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - troubleshooting
14
+ - use
15
+ - local
16
+ - model
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/ollama.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ | message | fix |
28
+ |---|---|
29
+ | `ollama is not running` | open the Ollama app or run `ollama serve`, then `dexterm doctor` |
30
+ | `no local model pulled` | `ollama pull qwen3:8b` then `dexterm ai model qwen3:8b` |
31
+ | `ollama model … is not pulled` | `ollama pull <model>` |
32
+ | `the local model took too long` | a smaller model answers faster; `dexterm ai status` lists yours |
33
+ | `… did not return the structured verdict` | ask again, or pull a larger tool-capable model |
34
+ | `the local engine's restriction profile is propose; an autotrade run needs paper` | `dexterm ai restrictions paper` |
35
+ | `full was confirmed for …, not …` | `dexterm ai engine ollama --full` again for the new model |
@@ -0,0 +1,39 @@
1
+ ---
2
+ id: docs-ollama-what-runs-on-a-local-model
3
+ title: Use a local model with Ollama › What runs on a local model
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: What runs on a local model
8
+ anchor: what-runs-on-a-local-model
9
+ url: https://dexterm.xyz/docs/ollama#what-runs-on-a-local-model
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - runs
14
+ - local
15
+ - model
16
+ - use
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/ollama.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ | surface | on the local model |
28
+ |---|---|
29
+ | analyst chat and follow-ups | the same dexterm MCP server and tools, the same firewalled context, answers streamed word by word |
30
+ | structured skills (dossier, rug-check, larp-check, trench-scan) | the same playbook, then Ollama's structured output on the same schema |
31
+ | AI scan mode (https://dexterm.xyz/docs/scan) | observe-only, at the tool list, the MCP server and the app |
32
+ | Jarvis voice questions | asked through the same analyst, on whichever engine `/engine` picked |
33
+ | `dexterm ask "…"` | a headless question on the analyst's engine |
34
+ | tune by chat | `strategy_propose_edit` / `strategy_propose_new` at `propose`; you apply with `y` as always |
35
+ | AUTOTRADE runner sessions | `dexterm autotrade run <strategy> --paper --engine ollama`: the same DOSSIER, DELTA and EVENT messages and the same typed decision, at `paper` |
36
+ | an agent on the dexterm tools | `dexterm ai agent "<goal>"`, tools by profile |
37
+ | Telegram approvals, the agent bus | engine-independent: approvals are your taps; bus agents bring their own model |
38
+
39
+ The Claude usage guard does not apply to a local model (no plan limit, $0); the runner's day caps on sessions and turns still do.
@@ -0,0 +1,36 @@
1
+ ---
2
+ id: docs-ollama-what-stays-outside-the-model
3
+ title: Use a local model with Ollama › What stays outside the model
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: What stays outside the model
8
+ anchor: what-stays-outside-the-model
9
+ url: https://dexterm.xyz/docs/ollama#what-stays-outside-the-model
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - stays
14
+ - outside
15
+ - model
16
+ - use
17
+ - local
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/ollama.md
25
+ date: 2026-10-16
26
+ ---
27
+
28
+ Whatever profile you pick, and whichever engine runs:
29
+
30
+ - your strategy and runner caps, and the kill switch (command, hotkey, the panic file);
31
+ - mandate tiers: arming a mandate is a physical keypress, and no model or agent can arm one;
32
+ - the strategy clamp: every size a model asks for is cut to your strategy and your runner caps, exactly as for Claude;
33
+ - Telegram approvals, when you use them: a one-time button, bound to a nonce, a hash and an expiry and to your account, tapped by you;
34
+ - the prompt firewall: token names, socials and page text reach a local model wrapped as `<untrusted>` data, byte for byte as they reach Claude.
35
+
36
+ A model can only ask. It cannot raise a cap, arm a mandate or change its own profile. There is no live mode for it to turn on: dexterm trades on paper only.
@@ -0,0 +1,38 @@
1
+ ---
2
+ id: docs-ollama-which-model
3
+ title: Use a local model with Ollama › Which model
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: Which model
8
+ anchor: which-model
9
+ url: https://dexterm.xyz/docs/ollama#which-model
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - which
14
+ - model
15
+ - use
16
+ - local
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/ollama.md
24
+ date: 2026-10-16
25
+ ---
26
+
27
+ These are tool-capable models from Ollama's library, a good place to start. They are suggestions, not a dexterm benchmark: `dexterm ai probe` checks the copy you pulled.
28
+
29
+ | model | download | note |
30
+ |---|---|---|
31
+ | `qwen3:8b` | ~5 GB | a good default on a 16 GB machine |
32
+ | `qwen3:14b` | ~9 GB | steadier tool use, needs about 16 GB free |
33
+ | `llama3.1:8b` | ~5 GB | a widely used tool caller |
34
+ | `mistral-small3.2` | ~15 GB | strong tool use on a 32 GB machine |
35
+
36
+ Smaller models answer faster and make more mistakes. A model with no tool calling still works for questions (see models without tool calling (https://dexterm.xyz/docs/ollama#models-without-tool-calling)).
37
+
38
+ dexterm asks Ollama for a 32,768-token context window, or the model's own maximum when that is smaller. On a small machine lower it with `dexterm ai ctx 16384`.
@@ -0,0 +1,28 @@
1
+ ---
2
+ id: docs-ollama-your-own-agent-on-the-local-model
3
+ title: Use a local model with Ollama › Your own agent, on the local model
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ heading: Your own agent, on the local model
8
+ anchor: your-own-agent-on-the-local-model
9
+ url: https://dexterm.xyz/docs/ollama#your-own-agent-on-the-local-model
10
+ tags:
11
+ - docs
12
+ - ollama
13
+ - own
14
+ - agent
15
+ - local
16
+ - model
17
+ - use
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/ollama.md
25
+ date: 2026-10-16
26
+ ---
27
+
28
+ `dexterm ai agent "<goal>"` runs the local model as an agent on the dexterm MCP server, the way `claude -p` connected to `dexterm mcp` would: the read tools at every profile, proposals at `propose`, and the paper tools at `paper` (the server still refuses them unless you armed a mandate and turned on agent paper trading in the app). `--thoughts FILE` writes its words for the spectator (https://dexterm.xyz/docs/spectator)'s thought ribbon (`--spectate-thoughts FILE`).
@@ -0,0 +1,28 @@
1
+ ---
2
+ id: docs-ollama
3
+ title: Use a local model with Ollama
4
+ kind: docs
5
+ page: ollama
6
+ page_title: Use a local model with Ollama
7
+ url: https://dexterm.xyz/docs/ollama
8
+ tags:
9
+ - docs
10
+ - ollama
11
+ - use
12
+ - local
13
+ - model
14
+ confidence: high
15
+ owner: maintainers
16
+ origin: docs-generated
17
+ reviewed_by: generated@2026-10-16
18
+ generated_from: dexterm/site content/docs (task-1420)
19
+ sources:
20
+ - site/content/docs/ollama.md
21
+ date: 2026-10-16
22
+ ---
23
+
24
+ Run the analyst, your agents and paper autotrade on a free model on your own machine, with no login and no key, behind a restriction profile you choose.
25
+
26
+ dexterm can run its AI on **a model on your own computer** through Ollama (https://ollama.com), instead of your Claude or Codex login. There is no account, no key and no bill: the model runs on your machine and every answer costs $0. dexterm talks to Ollama on `http://127.0.0.1:11434` by default, so your questions, the screen context and the tool results stay on this machine.
27
+
28
+ A local engine can do everything the Claude path does: the analyst and its skills, tune-by-chat strategy proposals, the AUTOTRADE runner's sessions, and an agent on the dexterm tools. You decide how far it may go with a **restriction profile**. The limits that protect money are not part of that choice: they are enforced outside the model and are the same for every engine (see what stays outside the model (https://dexterm.xyz/docs/ollama#what-stays-outside-the-model)).
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  id: docs-paper-trading-letting-an-agent-paper-trade-experimental
3
- title: Paper trading, live trading and the safety model › Letting an agent paper trade (experimental)
3
+ title: Paper trading and the safety model › Letting an agent paper trade (experimental)
4
4
  kind: docs
5
5
  page: paper-trading
6
- page_title: Paper trading, live trading and the safety model
6
+ page_title: Paper trading and the safety model
7
7
  heading: Letting an agent paper trade (experimental)
8
8
  anchor: letting-an-agent-paper-trade-experimental
9
9
  url: https://dexterm.xyz/docs/paper-trading#letting-an-agent-paper-trade-experimental
@@ -16,7 +16,6 @@ tags:
16
16
  - trade
17
17
  - experimental
18
18
  - trading
19
- - live
20
19
  - safety
21
20
  - model
22
21
  confidence: high
@@ -29,4 +28,4 @@ sources:
29
28
  date: 2026-10-16
30
29
  ---
31
30
 
32
- If you want to, you can let an agent connected over `dexterm mcp` run the whole PAPER loop (open, size, confirm and close) inside a **trading mandate** you armed, by starting `dexterm --spectate-mcp --agent-paper <mandate-id>`. It is paper only. The agent can never sign, send a real transaction, touch keys or raise a cap, a size over your caps is refused, and you can pause, take over or stop it at any time. See Agent paper trading (https://dexterm.xyz/docs/agents#agent-paper-trading). It is experimental and off by default, and simulated figures are not a result.
31
+ If you want to, you can let an agent connected over `dexterm mcp` run the whole PAPER loop (open, size, confirm and close) inside a **trading mandate** you armed, by starting `dexterm --spectate-mcp --agent-paper <mandate-id>`. It is paper only. The agent can never sign, send a transaction, touch keys or raise a cap, a size over your caps is refused, and you can pause, take over or stop it at any time. See Agent paper trading (https://dexterm.xyz/docs/agents#agent-paper-trading). It is experimental and off by default, and simulated figures are not a result.
@@ -0,0 +1,30 @@
1
+ ---
2
+ id: docs-paper-trading-link-a-wallet-read-only
3
+ title: Paper trading and the safety model › Link a wallet (read-only)
4
+ kind: docs
5
+ page: paper-trading
6
+ page_title: Paper trading and the safety model
7
+ heading: Link a wallet (read-only)
8
+ anchor: link-a-wallet-read-only
9
+ url: https://dexterm.xyz/docs/paper-trading#link-a-wallet-read-only
10
+ tags:
11
+ - docs
12
+ - paper-trading
13
+ - link
14
+ - wallet
15
+ - read-only
16
+ - paper
17
+ - trading
18
+ - safety
19
+ - model
20
+ confidence: high
21
+ owner: maintainers
22
+ origin: docs-generated
23
+ reviewed_by: generated@2026-10-16
24
+ generated_from: dexterm/site content/docs (task-1420)
25
+ sources:
26
+ - site/content/docs/paper-trading.md
27
+ date: 2026-10-16
28
+ ---
29
+
30
+ `dexterm wallet link` (or `/wallet link` typed on the screener's `/` line or in the chat box) starts a one-shot server on `127.0.0.1:41291` (a fixed loopback port; a random one only if it is busy, and the page then says so) with a single-use token, and opens your browser to it. The page asks Phantom to **connect** and **sign a message** (a dexterm nonce): no transaction, no approval of funds. dexterm verifies the Ed25519 proof and stores **only your public key** in `~/.dexterm/wallet-link.json`, to show your address. `dexterm wallet status`, `unlink`, `/wallet`, `/wallet unlink` show or remove it. No private key, seed or password ever reaches dexterm; it has no code that could hold one, and it never asks Phantom to sign a transaction.