feat(channels): 流控可配 —— 陌生人私聊额度走账号配置 directMsgPerMin(裁决 13)
- 后端:账号顶层 directMsgPerMin(缺失/0 = 保护性默认 6 条/分;正值 = 该值;负值 = 关闭并留带 source 的 WARN)
- 日志如实报出**实际生效**额度(adapter.(*FlowGate).DirectPerMin()),告警文案不再写死 6
- 面板:渠道配置表单加字段(含帮助文案)+ 回显/写回链路(LIMIT_KEYS 四键)+ 账号卡片摘要
- 文案纠错:AdapterConfigSummary 的 msgPerMin 由「私聊每分钟上限」改为「非主人消息每分钟总上限」(原描述是误导),并列补 directMsgPerMin 行
- 变异实测:缺键丢默认 / 负值当 1 条每分 / 前端吞负值 —— 三个都精确打红并还原
- ⚠️ 已知缺口(下一片补,gateway 面):GET/PUT /admin/channels 尚未下发/解码该键 ⇒ 面板暂时回显空、保存会把 -1 重置为 0
This commit is contained in:
1 parent
ba17820040
commit
a057a0f61f
18 files changed
+339
-70
No files matched your search
@@ -183,6 +183,10 @@ type Bridge struct {
|
||||
// noticeLog 是系统通知传入前审查(design/12 §6 策略一补充)的子功能日志器,
|
||||
// 与 voiceLog 同款:`source=services/channelbridge/notice` 便于跨模块定位。
|
||||
noticeLog *slog.Logger
|
||||
// flowLog 是流控解析(design/12 §6 策略三,含账号级 directMsgPerMin)的子功能
|
||||
// 日志器:`source=services/channelbridge/flowgate`,使「主人显式关掉某项流控」
|
||||
// 在日志里可追溯(见 flowgate.go 的 directLimit)。
|
||||
flowLog *slog.Logger
|
||||
|
||||
// 参与度引擎状态(design/18):按会话的内存状态机,
|
||||
// 加上约束它的角色提醒词 / 参与度参数,以及概率触发
|
||||
@@ -281,6 +285,7 @@ func New(opts Options) (*Bridge, error) {
|
||||
quietEndHour: qEnd,
|
||||
now: now,
|
||||
noticeLog: logger.WithSource(log, "services/channelbridge/notice"),
|
||||
flowLog: logger.WithSource(log, flowgateLogSource),
|
||||
triggerWords: opts.TriggerWords,
|
||||
personaPrompt: opts.PersonaPrompt,
|
||||
engage: opts.Engage,
|
||||
|
||||
Reference in new issue
Block a user