diff --git a/put/web/src/App.vue b/put/web/src/App.vue
index 3b701224..829d1eea 100644
--- a/put/web/src/App.vue
+++ b/put/web/src/App.vue
@@ -317,6 +317,7 @@ const OV_LABELS = {
timed_debuff_id: 'debuff',
debuff_value: 'dval',
debuff_chance: 'dchance',
+ shield_duration: '盾时',
summon_count: '数',
thorns_dmg: 'thorns',
thorns_rate: 'thorns',
diff --git a/put/web/src/components/OverrideEditor.vue b/put/web/src/components/OverrideEditor.vue
index a74f884f..e1c22869 100644
--- a/put/web/src/components/OverrideEditor.vue
+++ b/put/web/src/components/OverrideEditor.vue
@@ -97,6 +97,17 @@
:title="debuffHint.title"
:description="debuffHint.desc"
/>
+
+
isEnemyHost.value && rows.value.some((r
// 是否配置了 proc_skill(施法后概率触发主动技能):控制触发语义提示显隐
const hasProcSkill = computed(() => rows.value.some((r) => r.key === 'proc_skill'))
+// 是否配置了 shield_duration:控制护盾时长取值语义提示显隐(0=永久易踩坑)
+const shieldDurationHint = computed(() => rows.value.some((r) => r.key === 'shield_duration'))
+
// 易伤 buff id(与游戏侧 BuffSet.VULNERABLE_BUFF_ID 对应),取值语义特殊需单独提示
const VULNERABLE_ID = 7002
diff --git a/put/web/src/constants.js b/put/web/src/constants.js
index f712053c..6d22c2ad 100644
--- a/put/web/src/constants.js
+++ b/put/web/src/constants.js
@@ -161,6 +161,8 @@ export const OVERRIDE_KEYS = [
{ key: 'para', label: 'para 麻痹概率' },
{ key: 'bck', label: 'bck 击退' },
{ key: 'bck_chance', label: 'bck_chance 击退概率' },
+ // 护盾型覆写:仅 kind=Shield 技能生效(底座 6301 默认 7 秒)
+ { key: 'shield_duration', label: 'shield_duration 护盾持续秒(0=永久)' },
// buff 型覆写:值为 BuffList 配置 id,前端用 meta.BuffList 渲染下拉(支持 allow-create 手输兜底)
// buff 语义为增益,缺省挂施法者自身;debuff 语义为对敌减益,缺省挂被命中者(目标不可覆写)
{ key: 'timed_buff_id', label: 'timed_buff_id 计时buff', type: 'buff' },