feat: versioning, feat: in app configueration, feat: single exe, feat: reasoning, action: inital version, fix: config saving
Build Release EXE / build-windows-exe (release) Successful in 1m5s

This commit is contained in:
2026-05-06 15:06:15 -04:00
parent da016c23cb
commit 11adcc160a
19 changed files with 1926 additions and 24 deletions
+83 -12
View File
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>TraderAI</title>
<link rel="icon" href="/static/art/LBC_Logo.ico" sizes="any">
<link rel="stylesheet" href="/static/styles.css">
</head>
<body>
@@ -36,23 +37,93 @@
<h2>Pending Approval</h2>
<div id="pending-actions" class="pending-empty">No pending actions</div>
</section>
<section class="side-section">
<div class="section-title-row">
<h2>Memory</h2>
<button class="secondary small-button" id="memory-refresh" type="button">Refresh</button>
<section class="side-section sidebar-tools">
<div class="sidebar-tool-buttons" role="tablist" aria-label="Sidebar panels">
<button class="sidebar-tool-button" id="settings-toggle" type="button" aria-expanded="false" aria-controls="settings-panel" title="Settings">
<i data-lucide="settings" aria-hidden="true"></i>
<span>Settings</span>
</button>
<button class="sidebar-tool-button" id="memory-toggle" type="button" aria-expanded="false" aria-controls="memory-panel" title="Memory">
<i data-lucide="brain" aria-hidden="true"></i>
<span>Memory</span>
</button>
<button class="sidebar-tool-button" id="ollama-toggle" type="button" aria-expanded="false" aria-controls="ollama-panel" title="Ollama">
<img class="sidebar-tool-image" src="/static/art/ollama-icon.svg" alt="" onerror="this.remove();">
<i data-lucide="bot" aria-hidden="true"></i>
<span>Ollama</span>
</button>
</div>
<div class="memory-controls">
<label><input type="checkbox" id="clear-memories" checked> Memories</label>
<label><input type="checkbox" id="clear-conversations" checked> Chat</label>
<label><input type="checkbox" id="clear-outbox" checked> Notices</label>
<label><input type="checkbox" id="clear-profile"> Profile</label>
<label><input type="checkbox" id="clear-jobs"> Jobs</label>
<div class="sidebar-panel" id="settings-panel" hidden>
<div class="section-title-row">
<h2>Config</h2>
<button class="secondary small-button" id="config-refresh" type="button">Refresh</button>
</div>
<form class="config-form" id="config-form">
<label>Ollama URL<input id="config-ollama-base-url" name="ollama_base_url" type="text"></label>
<label>Ollama Model<input id="config-ollama-model" name="ollama_model" type="text"></label>
<label>Context Tokens<input id="config-ollama-num-ctx" name="ollama_num_ctx" type="number" min="1024" step="1024"></label>
<label>UEX API URL<input id="config-uex-base-url" name="uex_base_url" type="text"></label>
<label>UEX Secret Key<input id="config-uex-secret-key" name="uex_secret_key" type="password" autocomplete="off"></label>
<label>UEX Bearer Token<input id="config-uex-bearer-token" name="uex_bearer_token" type="password" autocomplete="off"></label>
<label>UEX Username<input id="config-traderai-user-name" name="traderai_user_name" type="text"></label>
<label>Memory DB Path<input id="config-traderai-memory-path" name="traderai_memory_path" type="text"></label>
<label>Notification Poll Seconds<input id="config-uex-notification-poll-seconds" name="uex_notification_poll_seconds" type="number" min="15" step="15"></label>
<label class="config-check"><input id="config-require-write-approval" name="require_write_approval" type="checkbox"> Require write approval</label>
<div class="config-paths" id="config-paths"></div>
<button type="submit">Save Config</button>
<div class="config-status" id="config-status"></div>
</form>
<div class="update-box">
<div class="section-title-row">
<h2>Updates</h2>
<button class="secondary small-button" id="update-check" type="button">Check</button>
</div>
<div class="update-status" id="update-status"></div>
<div class="update-actions">
<button class="secondary small-button" id="update-open-releases" type="button">Releases</button>
<button class="small-button" id="update-install" type="button">Update</button>
</div>
</div>
</div>
<div class="sidebar-panel" id="memory-panel" hidden>
<div class="section-title-row">
<h2>Memory</h2>
<button class="secondary small-button" id="memory-refresh" type="button">Refresh</button>
</div>
<div class="memory-controls">
<label><input type="checkbox" id="clear-memories" checked> Memories</label>
<label><input type="checkbox" id="clear-conversations" checked> Chat</label>
<label><input type="checkbox" id="clear-outbox" checked> Notices</label>
<label><input type="checkbox" id="clear-profile"> Profile</label>
<label><input type="checkbox" id="clear-jobs"> Jobs</label>
</div>
<button class="danger-button" id="memory-clear" type="button">Clear Selected</button>
<div id="memory-inspector" class="memory-inspector"></div>
</div>
<div class="sidebar-panel" id="ollama-panel" hidden>
<div class="section-title-row">
<h2>Ollama</h2>
<button class="secondary small-button" id="ollama-refresh" type="button">Refresh</button>
</div>
<form class="config-form" id="ollama-config-form">
<label>Ollama URL<input id="ollama-base-url" name="ollama_base_url" type="text"></label>
<label>Model<input id="ollama-model" name="ollama_model" type="text"></label>
<label>Context Tokens<input id="ollama-num-ctx" name="ollama_num_ctx" type="number" min="1024" step="1024"></label>
<button type="submit">Save Ollama Config</button>
</form>
<div class="ollama-status" id="ollama-status"></div>
<div class="ollama-actions">
<button class="secondary small-button" id="ollama-download" type="button">Download</button>
<button class="secondary small-button" id="ollama-install" type="button">Auto Install</button>
<button class="secondary small-button" id="ollama-launch" type="button">Launch</button>
<button class="small-button" id="ollama-pull" type="button">Install Model</button>
</div>
<div class="config-status" id="ollama-message"></div>
</div>
<button class="danger-button" id="memory-clear" type="button">Clear Selected</button>
<div id="memory-inspector" class="memory-inspector"></div>
</section>
</aside>
</main>
<script src="https://unpkg.com/lucide@0.562.0/dist/umd/lucide.min.js"></script>
<script src="/static/app.js"></script>
</body>
</html>