Commit Graph
3 Commits
Author SHA1 Message Date
sun c4269086fa docs: 按实际代码基线重写 v0.3.0 实施步骤书
初版方案基于四个与代码不符的前提,直接执行会返工:一是要求重命名 AdminSessionMiddleware,但该中间件在本仓库根本不存在(实际只有 Bearer 体制的 RequireAdmin),导致低风险重构实为新建 Cookie 会话层的破坏性变更;二是引用 promhttp.Handler 与 AdminSPAPageHandler/AdminLoginPageHandler,这些 API 项目里都没有(指标走自研 telemetry.Meter.Handler);三是漏点只列 /metrics 与 /health,实测还漏了聚合度最高的 /dashboard 以及 normal 模式仍可达的 /api/setup/status;四是把旧 API 路径迁移写成 301 重定向,而 301 会把 POST 降级为 GET 且被浏览器永久缓存。

重写要点:删去会话与 CSRF 阶段(Bearer 认证免疫 CSRF,CORS 已对非白名单 Origin 返回 403),改为先修 RequireAdmin 空凭证静默放行的前置缺口并新增可选 admin_key 实现管理/业务凭证隔离;/health 拆为匿名 /healthz 与鉴权 /health(必须同批上线以免探针空窗);/metrics 支持 METRICS_ALLOW_CIDR 内网白名单且非白名单返回 404;旧 API 路径改用别名而非重定向,实现零破坏兼容。同时保留初版正确的部分:分阶段与每阶段可回归原则、InstallGuard 不动、Docker 网段警告、v0.4.0 规划与发布流程。附录 A 逐条列出与初版的差异,附录 B 说明不做 Cookie 会话的理由。

另外清理初版的格式问题:补齐 Markdown 标题层级与代码围栏,移除全文的不间断空格(会导致命令粘贴失败)。
2026-10-04 00:38:07 +08:00
sun 49f57e4d28 docs: 新增上游适配器开发指南
CI / build-and-test (push) Canceled after 0s
面向 多渠道多上游适配器 愿景的落地文档,分两部分:第一部分逐行核对现有火山适配器的真实契约(包的职责划分、主干对适配器的 7 项硬性依赖、MetricsRecorder 埋点约定、格式降级规则、以及 6 条实测踩过的上游协议坑);第二部分给出 Provider 抽象的目标设计与分阶段实施计划(阶段 0 抽接口零行为变更 -> 阶段 1 provider 入库 -> 阶段 2 配置命名空间化 -> 阶段 3 metrics 加 provider 维度 -> 阶段 4 管理界面 -> 阶段 5 第二个真实适配器)。

同时如实记录三处现状缺陷,避免按文档实施时踩坑:voice.resource_id 是火山专属概念却成了全表 NOT NULL 通用列;store/migrate.go 的迁移框架定义了 Migration/migrations 但切片为空、migrate() 从不读取它(实际只做 CREATE TABLE IF NOT EXISTS,对已存在的表不做任何变更),且 schema_version 的 INSERT 未传值、实际写入版本号是 0;setting/config.go 整体耦合 volcano.Options,主干因此无法插入第二个上游。
2026-10-03 23:41:22 +08:00
sun 24f8accf71 chore: 测试源码不入库,订正过期的 UI handoff 文档与 CHANGELOG
.gitignore 恢复整体屏蔽 *_test.go:测试只保留在本地磁盘供开发者执行,不作为交付物外流。因此仓库内不提供自动化测试。

docs/UI_HANDOFF.md 标注为历史文档:它是改造两个单文件 .html、admin <= 35KB 的外包任务书,而 admin 后台此后已重构成多页 SPA(admin-shell.js / admin.css + 登录/音色/设置三页),原约束与验收标准全部失效。补上当前真实文件结构与新的验收清单。
2026-10-03 16:13:47 +08:00