Repository navigation
ClawProxyHub v1.1.5
ClawProxyHub v1.1.5
可观测性版本。新增运行日志体系(系统级事件统一落库、级别可配、明细可导出),任务偏移从硬编码改为可配置,账号测试补齐信封请求与事件明细诊断,并修复默认实例编辑、i18n 键缺失等问题。
概览
- 运行日志:账号刷新/登录失败、插件日志、插件崩溃重启、任务扫描异常、日志清理统一落
run_logs,日志页新增「运行日志」标签,点击行展开明细抽屉并可导出 JSON - 级别可配:
error / warn / debug / info递增包含(默认error),管理端改动实时生效;debug级记录上游请求与响应明细 - 任务偏移可配:daily 触发抖动窗口由固定 30 分钟改为 0–45 分钟可配,
0= 关闭偏移 - 调用日志区分同步/流式:新增
stream列与类型展示 - 账号测试诊断:回传信封请求与事件明细,可一键导出 JSON;扫码登录二维码内联渲染
- 默认实例保护:系统生成的默认实例不再暴露名称/站点地址输入
明细
运行日志(internal/runlog + internal/admin)
- 新增
run_logs表(migration000010):level / module / action / message / detail / account_id,按created_at、(module, id)建索引 runlog.Logger按配置级别过滤后落库,写库失败静默(日志不应影响主流程);级别读取走闭包实时取设置,改动无需重启- 埋点:
account登录/刷新失败(带account_id)、plugin崩溃自动重启与重启失败、tasktick panic、janitor清理过期调用日志 - 插件侧经宿主
Log落库:LogEntry.Fields约定action(固定词表 chat/login/refresh/profile/models/http/task/store,未命中按other)+detail(排查明细) - 新增
GET /admin/run-logs(分页 + 级别/模块/关键字/时间区间筛选)与DELETE /admin/run-logs
SDK(sdk)
Host.LogFields(level, message, fields):支持结构化字段,原Log签名保持兼容- 新增
sdk/http.go出站助手HTTPPost/HTTPStream(SSE 逐块回调),debug级统一记录请求与响应:敏感头打码(api-key/authorization/cookie/x-api-key/set-cookie,保留前后各 4 字符) - 注意:请求体与响应体在
debug级为全量明文入库,该级别仅建议本机排查时开启
任务偏移(internal/task + internal/setting)
- 删除硬编码
dailyJitter = 30 * time.Minute,改读task.daily_jitter_minutes(默认 30,上限 45) jitter = 0时跳过抖动(避免rand.Int63n(0)panic),语义为关闭偏移
调用日志(internal/gateway + web)
request_logs新增stream列(migration000011),日志列表新增类型列展示同步/流式
账号测试诊断(internal/admin + web)
- 测试接口回传
request(清除凭据后 protojson 序列化的信封请求)与events(事件明细,上限 200 条防爆) - 前端折叠面板展示,一键导出 请求/事件/回答/日志 为 JSON
- 登录步骤
url为data:image/时内联渲染二维码,不再误调浏览器打开 - 客户端选择卡片改 grid 布局(每行三个、可滚动)
修复(web)
- 运行日志表格点击无响应:TDesign
row-click为单参数回调,原两参数签名解构失败 - 单实例插件的默认实例:弹窗内隐藏名称/站点地址、跳过校验并沿用原值;无附加设置字段时隐藏编辑入口
- 插件与实例设置弹窗统一「打开即预填 schema 默认值」(原先仅下拉类字段预填)
- 补回误删的
logs.tokenDetail中文键(LogCells仍在引用,中文界面会显示原始键名) - 任务页/日志页表格由固定像素高度改为 flex 高度链,随窗口自适应并保留表格内部滚动
代码清理
sdk/http.go移除重复实现:零调用的 map 版redactHeaders、空实现maskBody、itoa→fmtInt无效包装,以及手写的lower/indexOf/splitLines/hasPrefix/trimSuffix/trimSpace/bytesIndex/jsonQuote,统一改用strings/strconv/encoding/json(后者对 map 键自动升序,日志字段顺序稳定可对照)plugin.Manager.Get修复变量遮蔽:重启失败日志原先取到的是外层err(必为nil),真实错误被丢弃setting.RunLevel去掉重复读取;runlog.Logger字段更名并对非法级别配置回退处理
升级说明
- 无破坏性变更;新增 migration
000010(建run_logs表)与000011(request_logs加stream列),启动自动执行 - 运行日志默认
error级,仅记录失败事件,正常运行不产生写入压力;切到debug前请留意上节关于明文入库的说明 - 插件仓库无需改动;如需引用本版本核心,把
go.mod依赖升到github.com/ShadowSmallBaby/ClawProxyHub v1.1.5