- 四端=ws×client / ws×server(原有,补语义注释)+ **http×client**(新增 http_client.go: 调 OneBot HTTP API、请求-响应、retcode 判成败、token 只走 Authorization 头)+ **http×server**(新增 http_server.go:监听 listen_addr 收上报、fail-closed 鉴权、10MiB 体上限) - 配置面:适配器新增 transport / api_base_url / report_path(json tag 沿用既有口径); env 兜底 CHANNEL_QQ_OBV11_{TRANSPORT,API_BASE_URL,REPORT_PATH};**默认值=现状**(ws+server) - 出站分流:session.go 发送路径按 transport 走 WS 写帧或 HTTP POST(不改它则 HTTP 端无法出站) - 端口豁免边界:http+server 沿用 AGENTS §9 已登记的同一豁免(design/13 §0 原文即含 HTTP server), 且 listen_addr 为空时报错、**绝不开端口**(与 ws 侧同名校验成对) - 关键取舍(已上报):OneBot 的 HTTP 是「动作 + 上报」两半,mode 决定**哪一半必需**、 另一半给齐字段就一并启用 ⇒ 单个适配器即可「收上报 + 回消息」,四端仍各自可独立选择与测试 - 复核:build/vet 绿 + qq_obv11/cmd 包测试绿 + `-race` 干净;10 条新用例(HTTP 两端全部用本地 httptest 假 OneBot,未连真实 QQ);变异 3 条(伪造 retcode 成功 / 去掉上报鉴权门 / 默认值翻 http)已还原 - 未接:get_group_list(后续)、无 token 时放行(与既有 ws_server 一致,如需 fail-closed 请裁决)
agent-98 面板批次: - 会话管理面板改接 history.ListSessions(主web+次级) + 新建次级会话按钮 - 记忆面板手动添加入口 POST /admin/memories(owner) - 知识库真正实现 IndexDocument(分块+落projectindex) + POST /admin/rag 导入端点 - 三面板空态诚实表述(去除'后端M10+提供') - RAG嵌入降级到keyword/line(无直属embedder,不伪造语义,符合红线) agent-99 design/16 §4.6: - model.Message.SenderName + 迁移0006 sender_name 列 - 第三方身份边界: session.ResolveActor判定(非LLM猜) + [第三方·昵称]前缀(不改源content) - 群聊/陌生人落独立sess-xxx(persistIsolated),不写主会话,不广播 - 黑/白名单(allowGroups/denyGroups/allowUsers/denyUsers)最前拦截,不进LLM - 多账号 CHANNELS_JSON 配置 + 每平台多实例 - 管理只读 GET /admin/channels/{platform}/messages(该平台非主人消息流) 实机验证(JWT): 会话管理返回主会话web / 记忆添加成功 / RAG导入documents非空+Cyrene命中; 后端build/vet/test全绿 + 前端build绿