From d89580240b764cfe65e489f0bde389ceac29687d Mon Sep 17 00:00:00 2001 From: zlt Date: Fri, 11 Sep 2026 12:58:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=80=E6=9C=AF=E9=9D=A2=E6=8E=A5=E5=85=A5?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8C=85=E4=B8=80(=E9=A1=B5=E9=9D=A2)?= =?UTF-8?q?=EF=BC=9A=E9=A1=B6=E6=A0=8F=E6=96=B0=E9=B2=9C=E5=BA=A6=E8=8A=AF?= =?UTF-8?q?=E7=89=87=E3=80=81=E6=8C=81=E4=BB=93=E7=A0=94=E7=A9=B6=E9=9D=A2?= =?UTF-8?q?=E5=88=97=E3=80=81=E5=8D=95=E7=A5=A8=E6=8A=BD=E5=B1=89=E6=8A=80?= =?UTF-8?q?=E6=9C=AF=E9=9D=A2=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 顶栏加技术面新鲜度芯片(调 /api/tech/status,绿=映射新鲜/黄=读不到或过期/灰=没开) - 我的持仓加「研究面」列显示技术面立场,点击进单票抽屉 - 单票抽屉顶部加「研究面·技术面」节(调 /api/research),展示立场/相位/理由/三指标读数 - /api/positions 每行挂 tech 立场;设置页自动列出 11 个 PMS_TECH_* 参数(无需另做设置卡) - 两道页面守卫 ALL OK;本地起服务冒烟确认不白屏、顶栏芯片与研究面列渲染正确 候选技术芯片、管理视图修显示错误并入工作包二一起铺。未真机判收。 Co-Authored-By: Claude Opus 4.8 --- DEVLOG.md | 2 +- app/web/main.py | 6 ++++ app/web/static/index.html | 72 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 78 insertions(+), 2 deletions(-) diff --git a/DEVLOG.md b/DEVLOG.md index 89c6c05..9829502 100644 --- a/DEVLOG.md +++ b/DEVLOG.md @@ -1341,7 +1341,7 @@ PMS_JUDGE_ONLINE_EFFORT=low / PMS_JUDGE_ONLINE_MAX_TOKENS=16384 / PMS_JUDGE_REPA 未判收。开发机临时 venv 跑全量单测见 ALL SUITES PASS(含新增 batch27 二十七例)。接口字段已只读探活 188 坐实。待 155 部署后按方案第七节判收:make test、pull_and_map 行数五千上下、映射只数等于持仓加候选、status、第一个交易日 08:4x 映射写入时刻与读数日。 **还欠着什么** -1. 页面七处建议并入工作包二,与三源合议的提议卡芯片、基本面质地芯片一次铺齐,避免先做技术面芯片再返工重排提议卡。 +1. 页面已补技术面这一路的核心三项:顶栏新鲜度芯片、我的持仓「研究面」列、单票抽屉「研究面·技术面」节;设置页自动列出十一个 PMS_TECH_* 参数(无需另做设置卡)。持仓接口每行挂 tech 立场。开发机起本地服务冒烟确认不白屏、芯片与列渲染正确。剩下与三源合议耦合的两项——候选栏技术芯片、管理视图持仓总览修显示错误——并入工作包二,与提议卡三芯片、基本面质地芯片一次铺齐,避免返工。 2. 工作包二(三源合议与仓位矩阵)、工作包三(离场纪律)、工作包四(选股打分,另一仓库单独审批)、工作包五(README 调度总表补 13 位等文档)未做。 3. BIONIC_PMS_INTERFACE.md 需补技术面只读接口一节(本次接口探活的字段事实源)。 diff --git a/app/web/main.py b/app/web/main.py index a55780e..eea2741 100644 --- a/app/web/main.py +++ b/app/web/main.py @@ -381,6 +381,12 @@ def api_positions(): logic_state_service.decorate_positions(v["positions"]) except Exception as e: # noqa: BLE001 logger.warning("[持仓] 入场论点与逻辑状态两栏取不到: %s", e) + # 技术面立场 (2026-09-11): 每行挂 tech(看多/看空/中性/无读数),只是显示,取不到不塌。 + try: + from app.services import tech_service + tech_service.attach(v["positions"]) + except Exception as e: # noqa: BLE001 + logger.warning("[持仓] 技术面立场挂不上: %s", e) return {"ok": True, **v, "stock_params": sp} return ok(_view) diff --git a/app/web/static/index.html b/app/web/static/index.html index da5002f..8b9f0a7 100644 --- a/app/web/static/index.html +++ b/app/web/static/index.html @@ -432,6 +432,7 @@ body.dock-r:not(.r-fold) .side-r .strip{display:none;} 执行 {{ ov.exec_halt ? '已暂停':'正常' }} 自主 {{ tx('autonomy', ov.autonomy) }}? 选股计划 {{ planStatus.ok===false ? '读不到' : (planStatus.date || '-') }} + 技术面 {{ techChipText }}? + + +