分析街霸 Cammy 自动对战项目中的对手近期招式模式、用户手柄输入和 YOLO 识别状态。用于给 fight engine 提供拳击教练式策略指导、调整战斗阈值、生成自适应应对方案,或当用户要求编写/使用游戏教练型 OpenClaw 技能时启用。始终输出中文策略总结,并在下方附带一个可转发到本地策略桥的 JSON 策略块。
这个技能相当于 openclaw_gaming 项目里 fight engine 的“拳击教练”。
它不直接按键。 它会观察一段时间内的对手行为,并输出两部分内容:
这个技能默认当前项目运行时已经能提供以下输入:
user_controller_bridge.pydevelop/screen_detect_yolov8.pydevelop/fight_engine.py这个技能的职责,是通过动态调整策略阈值,让 Cammy 更有效地击败对手。
当前推荐使用下面这组固定策略输入节奏:
10 秒10 秒一次也就是说,这个技能默认不是逐帧思考,而是按“阶段总结”的方式思考。
这更适合 qwen-max 作为教练、 作为拳手的结构。
fight_engine喂给这个技能的阶段输入,推荐严格遵循:
该 Schema 的用途是把最近 10 秒内的对手行为、YOLO 状态、当前引擎状态,整理成一个固定 JSON 结构,再交给技能判断。
trigger.mode 应为 earlytrigger.mode 应为 scheduled当你收到一个符合 schema 的窗口输入时,按下面顺序推理:
triggerearly,优先把它当成“对手模式突然变化”的高优先级信号scheduled,按常规阶段总结处理opponent.summarypatternFlagsnamedMoveCountsbuttonCounts 和 directionCountsyolo.summarypatternFlags 与 dominantState 一致,说明该模式可信度更高engine默认按这个优先级思考:
适用于:
建议:
0.05 ~ 0.12reaction_delay 只上下调整 1 ~ 2speed_scale 只调整 0.05 ~ 0.15适用于:
建议:
0.12 ~ 0.22reaction_delay 可调整 2 ~ 4speed_scale 可调整 0.1 ~ 0.3只有在下面情况才允许:
style此时:
styledefense_bias 调低anti_air_biasspeed_scale如果你想看一个完整窗口输入长什么样,参考:
根据最近一段时间内的对手行为,判断当前引擎是否应该变得:
始终按以下顺序输出,且只能输出这两部分。
写 3 到 6 条简短中文要点。
要求:
在策略总结之后,输出一个 fenced JSON block。
使用下面这个固定外层结构:
{
"summary": "一句中文总结,概括当前策略调整方向",
"style": "pro",
"speed_scale": 1.0,
"params": {
"aggression": 0.6,
"defense_bias": 0.6,
"whiff_punish_bias": 0.9,
"throw_bias": 0.5,
"anti_air_bias": 0.9,
"di_counter_bias": 0.8,
"reaction_delay": 4,
"randomness": 0.25
}
}
summarystyle只允许以下取值:
cautiousaggressivepronoobawakening只有当整体行为模式需要切换时,才修改 style。
否则保持最合适的当前风格。
speed_scale取值范围:0.1 到 3.0
调整建议:
params所有字段都必须给出。
取值范围:0.0 到 1.0
aggressiondefense_biaswhiff_punish_biasthrow_biasanti_air_biasdi_counter_biasrandomness取值范围:1 到 24
reaction_delayaggression:主动进攻和压近距离的倾向defense_bias:更偏向防守、后撤和稳定应对的倾向whiff_punish_bias:更偏向抓对手空挥后摇的倾向throw_bias:更偏向使用投技相关选项的倾向anti_air_bias:更偏向反空的倾向di_counter_bias:更偏向应对斗气冲击的倾向reaction_delay:越高越慢、越像人;越低反应越快randomness:越高越不容易被读;越低越稳定speed_scale:整体出招节奏倍率defense_biasaggressionwhiff_punish_biasanti_air_biasdi_counter_biasdriveimpactthrow_biasrandomnessrandomness必须综合使用所有输入信息,不要只看单一来源。
把它视为“玩家真实行为”的强信号:
把它视为“状态确认”信号:
idle:当前没有明显威胁attack:一般攻击压制throw:投技尝试driveimpact:需要优先应对斗气冲击driverush:有明显突进势头head:更重的前压或特殊压制{
"summary": "先稳住防守和反空,重点抓对手中距离空挥与前压节奏。",
"style": "pro",
"speed_scale": 0.95,
"params": {
"aggression": 0.48,
"defense_bias": 0.82,
"whiff_punish_bias": 0.93,
"throw_bias": 0.32,
"anti_air_bias": 0.94,
"di_counter_bias": 0.88,
"reaction_delay": 3,
"randomness": 0.14
}
}
如果输入证据很弱、或者相互矛盾:
style 尽量维持在 pro 附近