Add hub AI config tab with sync to instances and deploy secret bootstrap.

Wire bootstrap_deploy_secrets into setup_env.sh (one-time HUB_BRIDGE_TOKEN, FLASK_SECRET_KEY, HUB_SESSION_SECRET). Remove AI section from instance env UI; hub saves OPENAI settings to all four .env files. SSO unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-08 22:50:58 +08:00
parent 886f7740f2
commit 823aeda42a
17 changed files with 653 additions and 54 deletions
+19 -1
View File
@@ -15,7 +15,7 @@
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Orbitron:wght@500;600;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'" />
<noscript><link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Orbitron:wght@500;600;700&display=swap" rel="stylesheet" /></noscript>
<link rel="stylesheet" href="/assets/app.css?v=20260708-hub-settings-tabs" />
<link rel="stylesheet" href="/assets/app.css?v=20260708-hub-ai-env" />
<link rel="stylesheet" href="/assets/trade_stats_calendar.css?v=3" />
<link rel="stylesheet" href="/assets/account_risk_badge.css?v=4" />
<script src="/assets/account_risk_badge.js?v=4"></script>
@@ -904,6 +904,7 @@
<input type="radio" name="hub-settings-section" id="hub-sec-3" class="hub-tab-radio">
<input type="radio" name="hub-settings-section" id="hub-sec-4" class="hub-tab-radio">
<input type="radio" name="hub-settings-section" id="hub-sec-5" class="hub-tab-radio">
<input type="radio" name="hub-settings-section" id="hub-sec-6" class="hub-tab-radio">
<div class="hub-config-tabs" role="tablist" aria-label="系统设置分类">
<label for="hub-sec-0" class="hub-tab-btn" role="tab">账户密码</label>
<label for="hub-sec-1" class="hub-tab-btn" role="tab">显示与导航</label>
@@ -911,6 +912,7 @@
<label for="hub-sec-3" class="hub-tab-btn" role="tab">交易监管</label>
<label for="hub-sec-4" class="hub-tab-btn" role="tab">备份恢复</label>
<label for="hub-sec-5" class="hub-tab-btn" role="tab">交易所账户</label>
<label for="hub-sec-6" class="hub-tab-btn" role="tab">AI 配置</label>
</div>
<div class="hub-config-panels">
<section class="hub-panel hub-panel--0 hub-settings-tab-panel" role="tabpanel">
@@ -1110,6 +1112,22 @@
</div>
<div id="settings-list" class="settings-grid-wrap"></div>
</section>
<section class="hub-panel hub-panel--6 hub-settings-tab-panel settings-ai-env-panel" data-settings-section="ai-env" role="tabpanel">
<div class="hub-settings-tab-head">
<h3 class="hub-settings-tab-title">AI 复盘(统一配置)</h3>
<button type="button" class="primary" id="hub-ai-env-save-btn">保存并同步</button>
</div>
<p class="settings-display-hint">
保存后写入 <code>manual_trading_hub/.env</code>,并<strong>强制同步</strong>至三所实例 <code>.env</code>OKX / Binance / Gate)。
实例 env 配置页已不再提供 AI 项,请仅在此修改。密钥留空表示不修改原值。
</p>
<p id="hub-ai-sync-status" class="settings-meta-line"></p>
<div id="hub-ai-env-fields" class="settings-grid hub-ai-env-grid"></div>
<div class="hub-settings-tab-actions">
<span id="hub-ai-env-save-status" class="settings-status-line"></span>
</div>
</section>
</div>
</div>