From 9c6fd5d5ded3e68505ffc6f9ddb2c9a6d8ebace6 Mon Sep 17 00:00:00 2001 From: Pigbibi <20649888+Pigbibi@users.noreply.github.com> Date: Thu, 25 Jun 2026 06:17:07 +0800 Subject: [PATCH] Clarify plugin impact notification copy --- .../common/notification_localization.py | 24 +++++++++---------- .../common/strategy_plugins.py | 16 +++++++++---- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/quant_platform_kit/common/notification_localization.py b/src/quant_platform_kit/common/notification_localization.py index 30899e11..65ae76a6 100644 --- a/src/quant_platform_kit/common/notification_localization.py +++ b/src/quant_platform_kit/common/notification_localization.py @@ -32,12 +32,12 @@ "strategy_plugin_line": "🧩 插件:{plugin} | 启用:{enabled} | 状态:{route} | 提醒:{action}", "strategy_plugin_enabled_true": "是", "strategy_plugin_enabled_false": "否", - "strategy_plugin_consumption_auto": "🧩 插件消费:已按策略规则参与本轮仓位计算", - "strategy_plugin_consumption_auto_defend": "🧩 插件消费:已按策略规则参与本轮仓位计算;风险仓位按防守规则处理", - "strategy_plugin_consumption_auto_delever": "🧩 插件消费:已按策略规则参与本轮仓位计算;杠杆仓位按降档规则缩放", - "strategy_plugin_consumption_loaded_not_applied": "🧩 插件消费:已加载但未改写仓位;当前策略未启用该状态的自动消费", - "strategy_plugin_consumption_review_only": "🧩 插件消费:仅通知复核,未参与自动仓位计算", - "strategy_plugin_consumption_unavailable": "🧩 插件消费:未消费插件信号", + "strategy_plugin_consumption_auto": "🧩 插件本次影响:已按策略规则参与本轮仓位计算", + "strategy_plugin_consumption_auto_defend": "🧩 插件本次影响:已触发防守规则并参与本轮仓位计算", + "strategy_plugin_consumption_auto_delever": "🧩 插件本次影响:已触发降杠杆规则并参与本轮仓位计算", + "strategy_plugin_consumption_loaded_not_applied": "🧩 插件本次影响:已加载;该状态未启用自动仓位改写", + "strategy_plugin_consumption_review_only": "🧩 插件本次影响:仅通知复核;当前状态未触发自动仓位改写", + "strategy_plugin_consumption_unavailable": "🧩 插件本次影响:未加载可用插件信号", "strategy_plugin_error_line": "⚠️ 插件信号未加载:{reason};本轮使用策略内置规则", "strategy_plugin_error_reason_JSONDecodeError": "插件配置格式错误", "strategy_plugin_error_reason_FileNotFoundError": "插件信号文件不存在", @@ -130,12 +130,12 @@ "strategy_plugin_line": "🧩 Plugin: {plugin} | enabled: {enabled} | status: {route} | notice: {action}", "strategy_plugin_enabled_true": "yes", "strategy_plugin_enabled_false": "no", - "strategy_plugin_consumption_auto": "🧩 Plugin consumption: included in this cycle's position calculation under strategy rules", - "strategy_plugin_consumption_auto_defend": "🧩 Plugin consumption: included in this cycle's position calculation; risk exposure follows defensive rules", - "strategy_plugin_consumption_auto_delever": "🧩 Plugin consumption: included in this cycle's position calculation; leveraged exposure follows de-risking rules", - "strategy_plugin_consumption_loaded_not_applied": "🧩 Plugin consumption: loaded but did not rewrite positions; this strategy does not enable automatic consumption for this state", - "strategy_plugin_consumption_review_only": "🧩 Plugin consumption: review-only notice, not used for automatic position calculation", - "strategy_plugin_consumption_unavailable": "🧩 Plugin consumption: no plugin signal consumed", + "strategy_plugin_consumption_auto": "🧩 Plugin impact this run: included in this cycle's position calculation under strategy rules", + "strategy_plugin_consumption_auto_defend": "🧩 Plugin impact this run: triggered defensive rules and joined this cycle's position calculation", + "strategy_plugin_consumption_auto_delever": "🧩 Plugin impact this run: triggered de-levering rules and joined this cycle's position calculation", + "strategy_plugin_consumption_loaded_not_applied": "🧩 Plugin impact this run: loaded; this state did not enable automatic position rewrites", + "strategy_plugin_consumption_review_only": "🧩 Plugin impact this run: review-only notice; current state did not trigger automatic position rewrites", + "strategy_plugin_consumption_unavailable": "🧩 Plugin impact this run: no usable plugin signal loaded", "strategy_plugin_error_line": "⚠️ Plugin signal failed to load: {reason}; this run falls back to built-in strategy rules", "strategy_plugin_error_reason_JSONDecodeError": "invalid plugin mount JSON", "strategy_plugin_error_reason_FileNotFoundError": "plugin signal file not found", diff --git a/src/quant_platform_kit/common/strategy_plugins.py b/src/quant_platform_kit/common/strategy_plugins.py index 93802546..6c0568b6 100644 --- a/src/quant_platform_kit/common/strategy_plugins.py +++ b/src/quant_platform_kit/common/strategy_plugins.py @@ -980,20 +980,26 @@ def _strategy_plugin_consumption_notification_line( key = "strategy_plugin_consumption_auto_delever" else: key = "strategy_plugin_consumption_auto" - return _translate(translator, key, fallback="Plugin consumption: included in this cycle's position calculation") + return _translate( + translator, + key, + fallback="Plugin impact this run: included in this cycle's position calculation", + ) if _strategy_plugin_is_notification_only(signal): return _translate( translator, "strategy_plugin_consumption_review_only", - fallback="Plugin consumption: review-only notice, not used for automatic position calculation", + fallback=( + "Plugin impact this run: review-only notice; current state did not trigger automatic " + "position rewrites" + ), ) if action in STRATEGY_PLUGIN_AUTOMATED_POSITION_ACTIONS: return _translate( translator, "strategy_plugin_consumption_loaded_not_applied", fallback=( - "Plugin consumption: loaded but did not rewrite positions; this strategy does not enable " - "automatic consumption for this state" + "Plugin impact this run: loaded; this state did not enable automatic position rewrites" ), ) return None @@ -1098,7 +1104,7 @@ def build_strategy_plugin_error_notification_lines( _translate( translator, "strategy_plugin_consumption_unavailable", - fallback="Plugin consumption: no plugin signal consumed", + fallback="Plugin impact this run: no usable plugin signal loaded", ), )