feat(gateway): 配置只读事实面 + 后台思考行「档位/穿透」(契约 v0.68)
- 新增 GET /api/v1/admin/config-facts:记忆整理 7 键 + 安静时段 2 键的**进程生效值** + 声明默认值(反射读 default 标签,不读 .env) - 面板:记忆整理卡 + 安静时段卡(Miuix 只读),文案按新语义「只服务主动搭话,不静默回复」 - 后台思考行加 urgency(**只能是下限**,存档不可分 high/critical)+ quietHoursBypassed(与既有 bypassed 是两件事) - 红线实测:往响应里塞 JWT ⇒ TestAdminConfigFacts_NeverLeaksSecretValues 打红(连断言消息都把整个响应打出来了) - 前端:configFacts 24 checks / ConfigFactsCards 29 / BackthinkUrgencyTags 19 全过 - 契约 v0.68(纯增量:B12 新端点 + B8 两字段 + §4.10 形状与语义 + §7.4-17 下限限定)
This commit is contained in:
1 parent
a057a0f61f
commit
34cef95e17
25 files changed
+1741
-14
No files matched your search
@@ -124,6 +124,12 @@ type AdminUserRecord struct {
|
||||
// design/10 §3 #12)回答「走了哪条路、为什么打扰/为什么不打扰」——
|
||||
// 它们直接来自后端已存的 PushResult,因此面板不必靠猜来解释
|
||||
// 一次静默。
|
||||
//
|
||||
// Urgency / QuietHoursBypassed(v0.68)回答「这一轮有多紧急、是不是
|
||||
// 穿透了安静时段」。二者都**只在存档可证时**出现,缺席 ≠ 常规档位:
|
||||
// 推导依据见 admin_backthink_urgency.go(那一轮的 `At` 落在安静时段窗口内
|
||||
// 时,判定级联已把档位锁死到可证的范围;窗口之外的轮次存档里没有档位,
|
||||
// 因此不下发,而不是编一个 routine)。
|
||||
type AdminBackthinkItem struct {
|
||||
ID string `json:"id"`
|
||||
Trigger string `json:"trigger"`
|
||||
@@ -137,6 +143,14 @@ type AdminBackthinkItem struct {
|
||||
// Bypassed 表示这是事件驱动的推送、绕过了限频闸("该发就发")。
|
||||
Bypassed bool `json:"bypassed"`
|
||||
At int64 `json:"at"`
|
||||
// Urgency 是这一轮紧急度的**存档可证下限**(urgency 档位词汇:
|
||||
// routine | warning | critical)。`warning` 读作「≥ high 档(可能更高)」;
|
||||
// 无法证明时省略该键(面板显示「未知」)。
|
||||
Urgency string `json:"urgency,omitempty"`
|
||||
// QuietHoursBypassed 为 true 时表示这一轮**穿透了安静时段**(轮次时间落在
|
||||
// 安静时段窗口内且该轮判定要推送)。只在为 true 时出现:安静时段之外的轮次
|
||||
// 与「没穿透」不必在线上区分,缺席即「没有这件事」。
|
||||
QuietHoursBypassed bool `json:"quietHoursBypassed,omitempty"`
|
||||
}
|
||||
|
||||
// AdminRagDoc 是管理 RAG 列表中一个知识库文档(项目索引
|
||||
|
||||
Reference in new issue
Block a user