v1.5.0: 舆情驱动自动化与持仓跟踪智能体合并为「⏰ 自动化」导航入口(双选项卡); 修复布尔设置存True/False导致读取失效的容错解析
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
{% extends "base.html" %}
|
||||
{% block title %}自动化{% endblock %}
|
||||
{% block page_title %}自动化监控{% endblock %}
|
||||
{% block content %}
|
||||
<div class="card">
|
||||
<div class="tabs">
|
||||
<button class="tab-item active" data-tab="monitor">📰 舆情驱动自动化</button>
|
||||
<button class="tab-item" data-tab="tracking">🧭 持仓跟踪智能体</button>
|
||||
</div>
|
||||
|
||||
<!-- ======================= 舆情驱动 ======================= -->
|
||||
<div class="tab-panel" id="panel-monitor">
|
||||
<div class="between mt16">
|
||||
<div class="card-title" style="margin-bottom:0"><span class="bar" style="background:var(--cyan)"></span>定期扫描最新新闻,重要信息邮件通知</div>
|
||||
<label class="switch"><input type="checkbox" id="monitorEnabled"><span></span></label>
|
||||
</div>
|
||||
<div class="mt8 settings-form">
|
||||
<div class="sf-row"><label>扫描间隔(分钟)</label><input class="input" id="monitorInterval" type="number" min="5" style="width:120px"></div>
|
||||
<div class="sf-row"><label>重要度阈值 (0-100)</label><input class="input" id="monitorImportance" type="number" min="0" max="100" style="width:120px"></div>
|
||||
<div class="sf-row"><label>情感权重</label><input class="input" id="monitorSentiment" type="number" step="0.05" style="width:120px"></div>
|
||||
<div class="sf-row" style="align-items:flex-start"><label>监控分类</label>
|
||||
<div class="chk-group" id="monitorCats">
|
||||
<label><input type="checkbox" value="公司"> 公司</label>
|
||||
<label><input type="checkbox" value="业绩"> 业绩</label>
|
||||
<label><input type="checkbox" value="机构观点"> 机构观点</label>
|
||||
<label><input type="checkbox" value="行业"> 行业</label>
|
||||
<label><input type="checkbox" value="市场"> 市场</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sf-row" style="align-items:flex-start"><label>关键词(逗号分隔)</label><textarea class="input" id="monitorKeywords" rows="2" style="width:100%"></textarea></div>
|
||||
</div>
|
||||
<div class="flex mt16 wrap">
|
||||
<button class="btn btn-primary" onclick="saveMonitor()">💾 保存监控设置</button>
|
||||
<button class="btn" onclick="scanNow()">⚡ 立即扫描</button>
|
||||
</div>
|
||||
<div class="mt16 mini-stats" id="monitorState"></div>
|
||||
<div class="mt16" style="border-top:1px solid var(--border);padding-top:6px">
|
||||
<div class="card-title mt16" style="font-size:14px"><span class="bar" style="background:var(--cyan)"></span>通知日志</div>
|
||||
<div style="overflow:auto;max-height:340px">
|
||||
<table>
|
||||
<thead><tr><th>时间</th><th>标题</th><th>分类</th><th>情感</th><th>重要度</th><th>状态</th></tr></thead>
|
||||
<tbody id="logTb"><tr><td colspan="6" class="empty">暂无记录</td></tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ======================= 持仓跟踪 ======================= -->
|
||||
<div class="tab-panel" id="panel-tracking" style="display:none">
|
||||
<div class="between mt16">
|
||||
<div class="card-title" style="margin-bottom:0"><span class="bar" style="background:#8b5cf6"></span>AI 智能体定期跟踪持仓,深度分析产业链上下游</div>
|
||||
<label class="switch"><input type="checkbox" id="trackingEnabled"><span></span></label>
|
||||
</div>
|
||||
<div class="mt8 settings-form">
|
||||
<div class="sf-row"><label>跟踪间隔(分钟)</label><input class="input" id="trackingInterval" type="number" min="15" style="width:120px"></div>
|
||||
<div class="sf-row"><label>重大判定阈值</label><input class="input" id="trackingImpact" type="number" min="0" max="100" style="width:120px"></div>
|
||||
<div class="sf-row"><label>重大变化邮件通知</label>
|
||||
<label class="switch"><input type="checkbox" id="trackingNotify"><span></span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex mt16 wrap">
|
||||
<button class="btn btn-primary" onclick="saveTracking()">💾 保存跟踪设置</button>
|
||||
<button class="btn" onclick="runTrackAll()">⚡ 立即跟踪全部持仓</button>
|
||||
<button class="btn" onclick="location.href='/tracking'">🧭 查看全部跟踪报告</button>
|
||||
</div>
|
||||
<div class="mt16 mini-stats" id="trackingState"></div>
|
||||
<div class="mt16" style="border-top:1px solid var(--border);padding-top:6px">
|
||||
<div class="card-title mt16" style="font-size:14px"><span class="bar" style="background:#8b5cf6"></span>最近跟踪报告</div>
|
||||
<div style="overflow:auto;max-height:340px">
|
||||
<table>
|
||||
<thead><tr><th>时间</th><th>股票</th><th>影响度</th><th>性质</th><th>摘要</th><th>操作</th></tr></thead>
|
||||
<tbody id="trackTb"><tr><td colspan="6" class="empty">暂无跟踪记录</td></tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block scripts %}
|
||||
<script src="{{ url_for('static', filename='js/automation.js') }}"></script>
|
||||
{% endblock %}
|
||||
+1
-1
@@ -30,7 +30,7 @@
|
||||
<a href="/" class="nav-item" data-nav="/">📊 仪表盘</a>
|
||||
<a href="/stocks" class="nav-item" data-nav="/stocks">🏢 股票池</a>
|
||||
<a href="/recommend" class="nav-item" data-nav="/recommend">🎯 荐股中心</a>
|
||||
<a href="/tracking" class="nav-item" data-nav="/tracking">🧭 持仓跟踪</a>
|
||||
<a href="/automation" class="nav-item" data-nav="/automation">⏰ 自动化</a>
|
||||
<a href="/strategies" class="nav-item" data-nav="/strategies">📈 量化策略</a>
|
||||
<a href="/news" class="nav-item" data-nav="/news">📰 财经新闻</a>
|
||||
<a href="/institutions" class="nav-item" data-nav="/institutions">🏦 机构动向</a>
|
||||
|
||||
+2
-60
@@ -43,69 +43,11 @@
|
||||
<button class="btn" onclick="testLlm()">🔌 测试连接</button>
|
||||
</div>
|
||||
<div class="mt16" style="border-top:1px solid var(--border);padding-top:12px;color:var(--muted);font-size:12px;line-height:1.8">
|
||||
用于 AI 深度研报生成。支持任意 OpenAI 兼容接口(DeepSeek / 火山方舟等)。修改后立即生效。
|
||||
用于 AI 深度研报生成。支持任意 OpenAI 兼容接口(DeepSeek / 火山方舟等)。修改后立即生效。<br>
|
||||
<span style="color:var(--gold)">💡 舆情监控 / 持仓跟踪等自动化参数已移至「⏰ 自动化」页面。</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 舆情监控 -->
|
||||
<div class="card mt16">
|
||||
<div class="between">
|
||||
<div class="card-title" style="margin-bottom:0"><span class="bar" style="background:var(--cyan)"></span>📰 舆情驱动自动化</div>
|
||||
<label class="switch"><input type="checkbox" id="monitorEnabled"><span></span></label>
|
||||
</div>
|
||||
<div class="mt8 settings-form">
|
||||
<div class="sf-row"><label>扫描间隔(分钟)</label><input class="input" id="monitorInterval" type="number" min="5" style="width:120px"></div>
|
||||
<div class="sf-row"><label>重要度阈值 (0-100)</label><input class="input" id="monitorImportance" type="number" min="0" max="100" style="width:120px"></div>
|
||||
<div class="sf-row"><label>情感权重</label><input class="input" id="monitorSentiment" type="number" step="0.05" style="width:120px"></div>
|
||||
<div class="sf-row" style="align-items:flex-start"><label>监控分类</label>
|
||||
<div class="chk-group" id="monitorCats">
|
||||
<label><input type="checkbox" value="公司"> 公司</label>
|
||||
<label><input type="checkbox" value="业绩"> 业绩</label>
|
||||
<label><input type="checkbox" value="机构观点"> 机构观点</label>
|
||||
<label><input type="checkbox" value="行业"> 行业</label>
|
||||
<label><input type="checkbox" value="市场"> 市场</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sf-row" style="align-items:flex-start"><label>关键词(逗号分隔)</label><textarea class="input" id="monitorKeywords" rows="2" style="width:100%"></textarea></div>
|
||||
</div>
|
||||
<div class="flex mt16 wrap">
|
||||
<button class="btn btn-primary" onclick="save('monitor')">💾 保存监控设置</button>
|
||||
<button class="btn" onclick="scanNow()">⚡ 立即扫描</button>
|
||||
</div>
|
||||
<div class="mt16 mini-stats" id="monitorState"></div>
|
||||
</div>
|
||||
|
||||
<!-- 持仓跟踪 -->
|
||||
<div class="card mt16">
|
||||
<div class="between">
|
||||
<div class="card-title" style="margin-bottom:0"><span class="bar" style="background:#8b5cf6"></span>🧭 持仓跟踪智能体</div>
|
||||
<label class="switch"><input type="checkbox" id="trackingEnabled"><span></span></label>
|
||||
</div>
|
||||
<div class="mt8 settings-form">
|
||||
<div class="sf-row"><label>跟踪间隔(分钟)</label><input class="input" id="trackingInterval" type="number" min="15" style="width:120px"></div>
|
||||
<div class="sf-row"><label>重大判定阈值</label><input class="input" id="trackingImpact" type="number" min="0" max="100" style="width:120px"></div>
|
||||
<div class="sf-row"><label>重大变化邮件通知</label>
|
||||
<label class="switch"><input type="checkbox" id="trackingNotify"><span></span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex mt16 wrap">
|
||||
<button class="btn btn-primary" onclick="save('tracking')">💾 保存跟踪设置</button>
|
||||
<button class="btn" onclick="location.href='/tracking'">🧭 打开持仓跟踪页</button>
|
||||
</div>
|
||||
<div class="mt16 mini-stats" id="trackingState"></div>
|
||||
</div>
|
||||
|
||||
<!-- 通知日志 -->
|
||||
<div class="card mt16">
|
||||
<div class="card-title"><span class="bar" style="background:var(--cyan)"></span>通知日志</div>
|
||||
<div style="overflow:auto;max-height:380px">
|
||||
<table>
|
||||
<thead><tr><th>时间</th><th>标题</th><th>分类</th><th>情感</th><th>重要度</th><th>状态</th></tr></thead>
|
||||
<tbody id="logTb"><tr><td colspan="6" class="empty">暂无记录</td></tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block scripts %}
|
||||
<script src="{{ url_for('static', filename='js/settings.js') }}"></script>
|
||||
|
||||
Reference in New Issue
Block a user