Repository navigation
本次更新
口径变更版本:自动评分协议重做(改分幅度交还给对话中的模型),触发改为模型之前的关键词识别。
修复
- 修复「每次改分都顶到闸门上限」:v4.x 的目标值是"证据档位的加权平均(绝对值)"——一条「杰出」证据就让目标=95,
于是目标 − 现值永远大于闸门,每次都被削到上限(实测:未评维度一条证据直接 95;已评维度 3 条即到 95)。
现在改为:模型拿到该人完整现值,直接给出该维新值,插件不再做"档位 → 目标值"的翻译; - 修复「每次都另起一次失去上下文的模型调用」:
auto_review_engine=tool此前拦不住兜底调用;
现在inline(新默认)彻底只在对话内判定,不再有"回复之后再叫一次模型"的路径; - 修复「模型把上一次改分记成上上一次」:默认通知模式下工具只回
{"ok":true}、插件提示又不进模型上下文、
兜底路径的改动对模型完全不可见。现在:工具返回值永远带现值 → 新值(±Δ,含被闸门削过的实际值),
并在每轮注入最近改分回顾(带 #序号/时间/来源); - 退役「弱证据权重 / 同档死区 / 未评维度直接落到档位代表值 / 账本加权算分」:这几处正是虚高与"顶格"的来源。
变更(自动评分协议)
- 关键词识别前置:在模型之前扫用户本条消息——命中库内人员姓名/别名才注入「本次可能需要改分」块
(含该人六维现值+档位、现有理由、已禁止自动改的维度、改分口径、最近改分回顾);未命中则不注入、不评审; - 命中后保持 3 轮:多轮叙述里用「他/她」指代时仍能继续改分;
- 意图词分支(
auto_review_trigger=names+intent):命中「改分/评分/分数…」时追加完整名单,
并说明"用户明确要求的改动请用set_radar_scores权威写入"; - 工具参数改为
new_value:submit_radar_evidence(person, dim, new_value, behavior, quote, actor, reason)
——在现值上小幅修订(一般 ±1~5 分,最多 15 分),不再是target_band; - 幅度纪律写入三处单一真源(
rubric.calibration_block()):工具描述、注入块、兜底提示词口径一致; - 两道安全网保留并降级:单次最多 1 档(15 分)、7 天窗口 ±20 分——正常小幅修订不会触发,因此改分提示里
不再频繁出现"受单次跨档限制/受窗口累计限制"; - 指纹去重窗口 30 → 90 天:同一条依据不再反复改分;
- 未评维度首次给值不受闸门限制(与 WebUI 首次评分一致);
- 配置语义:
auto_review_engine默认inline(仅对话内);要保留「模型未调用工具时的兜底评审」请显式选
inline+hook(会多一次模型调用)。旧值auto/tool一律按inline处理——否则升级后仍会走那条
「回复之后再叫一次模型」的旧路径。auto_review_trigger改为names(默认)/names+intent/always;
退役auto_review_weak_counts。
变更(WebUI / 命令)
- 详情页「证据账本」改为「依据记录」:显示
现值 → 新值(±Δ)、档位、理由与依据原文,
未采纳(禁止自动改)的记录带「未采纳」标记; - 「移除并重算」改为「移除记录」:v5.0.0 起分数由模型在对话中给出,账本只是审计层,
删记录不改分数(要回退某次改分请用更新记录里的「撤销」); - 更新记录来源芯片区分「对话内 / 兜底评审 / 系统 / WebUI」;
/radar 评审 <名字>增加"最近一次改分来源",并输出"模型提议值 → 闸门后实际落盘值"。
新增
- 仓库内回归测试(纯 stdlib,无需安装 AstrBot):
tests/test_review_pipeline.py(解析/守卫/两道闸/端到端改分/关键词门控/引擎语义/冻结/观察模式)、
tests/test_schema_and_tools.py(设置规格一致性/AI 工具可加载性/撤销回滚)。
说明
- 数据结构不变(
scores.json无需迁移;旧账本条目仍可正常展示); - 确定性取舍:分值不再"同批事实必然同分",改分幅度由模型判断 + 守卫/闸门约束——
换来的是"模型知道现值、只做小幅修订";要完全固定某一维仍用「🔒 禁止自动改」。
安装:AstrBot 插件市场更新,或下载源码覆盖后重启。数据结构不变(scores.json 无需迁移);建议保持默认 auto_review_engine=inline(旧值 auto/tool 一律按 inline 处理,需要兜底请显式选 inline+hook)。
自检:python3 tests/test_review_pipeline.py 与 python3 tests/test_schema_and_tools.py(纯 stdlib,无需安装 AstrBot)。