Engineering Notes

孟斌的小站

技术博客与学习记录

共 663 篇文章 标签与分类索引已启用

一次请求该走哪个渠道:我的选路与重试是怎么长出来的

摘要

选路这件事比我想的难。优先级相同的渠道怎么分流量、重试该换谁、换的时候会不会误伤别的渠道、授权要不要再验一次、一个渠道坏到什么程度该被摘掉——这篇按我实际动手的顺序讲,中间有两次返工,还有一个后来 review 时自己揪出来的、后果比较严重的 bug。

继续阅读

Micro-One-API v0.30.0 发布:分组 v2 生产启用收口 —— 部署接线、可观测性、迁移预检与操作解释

v0.30.0 是 v0.29.0 之后的 MINOR 启用与稳定性收口版本。v0.29.0 交付的分组重设计 v2(阶段 A–F)全部能力默认关闭、未经真实链路验收;本版按 v0.30 阶段路线图完成 P0 / P1 / P2 三个优先级共 7 项任务:接通部署开关并完成 MySQL / SQLite 真实服务验收,补齐路由 / outbox 可观测性与告警,收口管理台汇总性能与降级语义,为迁移 runner 增加旧元数据表预检,并补齐分组日常操作与账务解释链路。

继续阅读

一个 2400 行的 http.go,是怎么被我拆成 9 个服务的

摘要

这个项目还没上线。我在开发过程中把结构翻了一遍,而且方向还相反:第一次是把一个 2391 行的 internal/relay/server/http.go 拆开,第二次是把拆出去的九个服务收进 Kratos 大仓结构、抽出共享层,并写脚本卡住服务之间互相 import。这篇讲哪些线是我真的按需要切的,哪些只是抄了微服务的目录形状。

继续阅读

Micro-One-API v0.28.0 发布:模型健康被动监测与 Websocket 多轮计费修复

v0.28.0 是 micro-one-api 项目在模型可观测性方向的一个重要版本。本版新增按来源与上游模型粒度的被动模型健康监测与管理台看板,修复了多轮 /v1/responses Websocket 连接按累计 usage 重复计费的问题,并把 404 模型不可用判定收窄到 API 形状响应体,避免误配 base_url 把整渠道模型标红。

继续阅读

Micro-One-API v0.27.0 发布:Lite 一键部署收口与可审计账务工具

v0.27.0 是 micro-one-api 项目面向个人部署者与运维审计场景的一个收口版本。本版修复了 SQLite Lite 从空环境到首个聊天请求之间的结算死锁与方言 schema 缺口,补齐了可重复验证的部署 Quickstart,新增只读的历史账务审计工具,并把 K3 canonical charge 灰度的验收 SQL 口径与安全依赖基线彻底固化。

继续阅读

一个网关翻译三种协议:micro-one-api 的 Chat ↔ Responses ↔ Messages 转换实践

摘要

micro-one-api 是一个 LLM API 网关,对外同时暴露 OpenAI ChatCompletions(/v1/chat/completions)、OpenAI Responses(/v1/responses)和 Anthropic Messages(/v1/messages)三个端点,对内要对接二十多家协议各异的上游渠道。客户端协议和上游协议任意组合,协议转换就成了网关的核心能力。

继续阅读