Commit Graph

  • ec82e895c3 chore(ci): 删除 ci.yml workflow develop sun 2026-10-04 16:26:32 +08:00
  • 1328705f65 docs(changelog): 补 v0.2.4 正式版本段 main v0.2.4 sun 2026-10-04 15:21:53 +08:00
  • 96a525446b docs(changelog): 补 v0.2.4 正式版本段 sun 2026-10-04 15:21:53 +08:00
  • 94b3557c7e docs: v0.2.4 阶段三 文档、示例配置与发布说明 sun 2026-10-04 01:17:43 +08:00
  • f7c7e6ee3a docs: v0.3.0 阶段三 文档、示例配置与发布说明 sun 2026-10-04 01:17:43 +08:00
  • 5113941f44 feat(router): v0.2.4 阶段二 管理入口迁移与前端同步 sun 2026-10-04 01:17:26 +08:00
  • 7b8f557f54 feat(router): v0.3.0 阶段二 管理入口迁移与前端同步 sun 2026-10-04 01:17:26 +08:00
  • 1e2e37ae97 feat(auth)!: v0.2.4 阶段一 鉴权收紧 + 健康/指标端点收口 sun 2026-10-04 01:15:33 +08:00
  • c18cf63518 feat(auth)!: v0.3.0 阶段一 鉴权收紧 + 健康/指标端点收口 sun 2026-10-04 01:15:33 +08:00
  • 49f57e4d28 docs: 新增上游适配器开发指南 sun 2026-10-03 23:41:22 +08:00
  • ad342ec8f1 ci: 新增 build/vet/test 质量门 sun 2026-10-03 16:13:47 +08:00
  • 24f8accf71 chore: 测试源码不入库,订正过期的 UI handoff 文档与 CHANGELOG sun 2026-10-03 16:13:47 +08:00
  • 6ac2473099 fix(volcano): PostStream 对未初始化 client 返回错误而不是 panic sun 2026-10-03 16:13:47 +08:00
  • 1e2be0cd5b fix(telemetry): 指标写入对空接收者安全,修 nil 解引用 panic sun 2026-10-03 16:13:47 +08:00
  • 21e1fd1fbb ci(docker): 修 workflow 非法表达式, secrets 改经 job env 透传 v0.2.3 sun 2026-09-28 23:30:57 +08:00
  • ecc1d94fbc Merge branch 'develop' sun 2026-09-28 22:29:43 +08:00
  • 9c10a0e49f ci(docker): 合并为单一 GHCR+DockerHub 双推送 workflow,加 GHA 缓存 sun 2026-09-28 21:24:52 +08:00
  • 9245c1339a refactor(admin): 把单文件 admin.html (1075 行) 拆成多页 SPA,URL 路由切换 sun 2026-09-21 23:20:59 +08:00
  • e738fc8e23 fix(setup): settings + voices 改为事务原子提交,失败整体回滚不再半残 sun 2026-09-21 21:31:46 +08:00
  • 01bc5ea5bf fix(admin): VoiceInsert 错误按客户端/服务端分流,400/500 不再混淆 sun 2026-09-21 17:22:45 +08:00
  • 6ed25e8e4b fix(ratelimit): 强制清理按最旧活跃时间排序,避免随机删活跃用户 sun 2026-09-21 11:14:48 +08:00
  • 19d83f7a3b fix(setting): runtime config 全局变量加 sync.RWMutex 保护,避免半写状态 sun 2026-09-21 10:50:03 +08:00
  • d6aafa41ff fix(tts): OpenaiTTSHandler 响应 Write 错误不再吞,记日志排查客户端断开 sun 2026-09-12 15:53:07 +08:00
  • ef2fea4c25 fix(security): 启动 / 路由 / 上游 log 对 resource_id 一并打码,补 telemetry.MaskResourceID sun 2026-09-12 14:34:06 +08:00
  • a2d72efb34 fix(cors): 预检 Allow-Methods 补 PUT/PATCH/DELETE,修 admin 改设置/删音色跨域失败 sun 2026-09-12 14:03:56 +08:00
  • 9353790899 refactor: 删 trimAll + 修 isSensitive,统一用 stdlib sun 2026-09-05 11:59:06 +08:00
  • 59c0027122 fix(cors): SettingsCORSRequest.Origins 改 *string,支持显式清空 sun 2026-09-05 11:42:48 +08:00
  • c265cb8836 fix(store): VoiceUpdate 同步 settings.default_speaker (防潜在 stale ref) sun 2026-09-05 11:38:40 +08:00
  • 8f56b742cb Merge branch 'main' into develop sun 2026-09-05 00:15:49 +08:00
  • 2ea33d7572 Merge branch 'develop' v0.2.2 sun 2026-09-05 00:07:19 +08:00
  • 90faf083fd docs(m4): 重写 README,聚焦 WebUI 安装 + 老用户迁移 + 资源 ID 章节 sun 2026-08-30 23:32:10 +08:00
  • 621f9f847e docs(m4): 收敛文档/dock/changelog,env 减到 4 个引导变量 sun 2026-08-30 23:23:53 +08:00
  • 9e38566952 fix(startup): normal 模式配置损坏 → fail-fast, 加 health error 字段 + metric sun 2026-08-30 22:43:07 +08:00
  • a655f8ae0e fix(tts): voice.enabled=0 真生效,返回 403 voice_disabled sun 2026-08-30 19:16:04 +08:00
  • 3f18f85925 fix(ui): setup 默认 resource_id 改 seed-icl-2.0 sun 2026-08-30 15:57:00 +08:00
  • 155017a27b fix(ui): admin 默认 resource_id 改 seed-icl-2.0 sun 2026-08-30 15:57:00 +08:00
  • ad4727c507 fix(tts): voice 命中 log 跟合成 log 一致打码 sun 2026-08-30 15:56:59 +08:00
  • 65247b095a ux(setup): voice.resource_id 留空时自动用 settings.default_resource_id sun 2026-08-30 14:07:03 +08:00
  • 8a4187720c fix(tts): settings.default_resource_id 不再被 voice 行覆盖 sun 2026-08-30 13:09:40 +08:00
  • 92cf8fab8a fix(ui): dashboard 加 loadSettings, CORS banner 终于不假阳性了 sun 2026-08-30 13:04:26 +08:00
  • aa3f09752e tools: 加 cmd/dumpdb ops 工具 sun 2026-08-30 11:45:08 +08:00
  • f5563e6f31 fix(tts): default_speaker 查 voice 表,改后立即生效 sun 2026-08-30 01:53:30 +08:00
  • d22abecf12 fix(ui): store.Voice 加 JSON tag,修「音色是空的」+ UI 整体换皮 sun 2026-08-30 00:51:23 +08:00
  • 7660db14d8 fix(cors): CORS 全 DB 化,install 模式完全跳过,WebUI 可配 sun 2026-08-30 00:08:14 +08:00
  • 1bed8d8ed0 fix(cors): 同源请求跳过 CORS 校验,避免浏览器自家人拦自家人 sun 2026-08-30 00:00:21 +08:00
  • a4ea53bfa0 fix(auth): OpenAI 端 key 也走 DB,setup 是单一配置入口 sun 2026-08-29 23:18:51 +08:00
  • 9db038dd05 feat(settings): M3 全局设置 + voice 动态路由 + env 收敛 sun 2026-08-29 22:40:53 +08:00
  • 70865a3cf4 feat(admin): M2 WebUI 管理后台(鉴权+仪表盘+音色 CRUD) sun 2026-08-29 21:53:19 +08:00
  • 51bd7ae37a fix(privacy): speaker ID 不再裸奔(3 处) sun 2026-08-29 21:42:57 +08:00
  • dbaee35400 fix(install): M1 后续 · 2 个 install 模式入口 bug sun 2026-08-29 21:16:08 +08:00
  • 7984c1880a feat(installer): M1 安装流程 + /setup 引导页 sun 2026-08-29 20:44:33 +08:00
  • 865fdd81e8 feat(store): M0 SQLite 存储层 + modernc.org/sqlite sun 2026-08-29 20:29:28 +08:00
  • dc3248d11c chore: 转移前备份 — cleanup + project book sun 2026-08-29 18:40:36 +08:00
  • 8be40ae6dc chore: embed health.html 到 binary,单文件分发 sun 2026-08-27 11:44:44 +08:00
  • 0d3517eb5c fix: 安全加固(VUL-001~009)+ 构建版本注入 + 死代码清理' (#2) from develop into main v0.2.1 sun 2026-08-27 11:01:47 +08:00
  • cdc9a7c94b ci: 添加 GitHub Actions Docker 发布 workflow sun 2026-08-27 10:43:19 +08:00
  • c00c46e7a1 chore: 注入构建时版本信息到 /health 端点 现状:controller/tts.go:232 硬编码 Version: "2.0.0 (v3 API)", 不会随代码变化而更新,/health 无法反映实际跑的代码。 修复:四文件改动,实现构建时 ldflags 注入。 1. 新建 version/version.go,声明两个包级变量: Version (默认 "dev") Commit (默认 "dev") 2. dto/health.go:HealthResponse 加 Commit 字段(JSON 输出多一字段) 3. controller/tts.go:HealthResponse 用 version.Version / version.Commit 替代硬编码字面量 4. Dockerfile:加 ARG VERSION=dev ARG COMMIT=dev, go build 时通过 -ldflags 注入到 version 包的两个变量 效果: - 本地 go build (不传 ldflags) → version=dev commit=dev - 开发 build (git describe) → version=v0.2.0-5-g4abcd5 commit=g4abcd5 - release build (打 tag 后) → version=v0.2.1 commit=<对应 hash> 测试环境(develop 分支,无 tag)显示距离上次 release 几个 commit + 具体 hash;生产环境(main + tag)显示干净 semver。 sun 2026-08-27 10:18:34 +08:00
  • 3b3aa3b708 chore: 清理 DEBT-2 死代码(7 文件,约 30 行) sun 2026-08-27 00:57:49 +08:00
  • 695b3ecf25 docs: README 修正 speed 与 sample_rate 描述 (VUL-008 / VUL-009) VUL-008 (信息): speed 超范围静默截断无提示 修复:「API 使用说明」speed 描述从"0.25 ~ 4.0"改为 "客户端接受范围 0.25 ~ 4.0;火山实际生效范围 0.5 ~ 2.0 (speech_rate [-50, 100]),超出范围会被静默截断,客户端无感反馈"。 选 TODO 方案 1(诚实修正文档),不改代码。 sun 2026-08-26 16:16:56 +08:00
  • 7343d5aa5c VUL-006 (低): 监控端点 (/metrics /health /dashboard) 无鉴权 判定:不引入新鉴权机制(会破坏 Prometheus 抓取),文档引导。 修复:「观测 / Metrics」section 末尾新增「公网部署:监控端点 无鉴权」段,含三端点风险表 + nginx 反代 basic auth 配置示例。 sun 2026-08-26 16:06:17 +08:00
  • 171503d775 fix: VUL-002 修复 transport 错误埋点缺失 VUL-002 (低): transport 层错误不进入 UpstreamErrors 指标 原代码用 if errCode != 0 判断是否记录错误,但合成链路中 多种错误场景的 errCode 本身是 0(火山 v3 业务码非 0 时才 会传入),导致这些场景在 /metrics 上完全不可见: - transport_error: client.PostStream 失败(DNS / 连接 / TLS) - request_error : buildRequest 序列化失败 - wrap_error : WAV 头拼装失败 - stream_error (code=0): 读流错误 修复:把判断改为 if status != "ok",status 是上游调用全链 路的权威错误指示器,任何非 ok 状态都计为错误。 codeLabel(0) → "transport" 已有定义,修复后该分类真正生效, 火山接口不可达等网络故障首次在监控上可见。 向后兼容:已统计的 http_XXX 错误(status="http_xxx" != "ok") 行为不变,新增 transport / request / wrap / stream 错误进入指标。 sun 2026-08-26 15:35:24 +08:00
  • 91b0c8acee fix: VUL-005 修复日志注入(RequestURI 与上游错误体转义) sun 2026-08-26 11:52:28 +08:00
  • a238e5c2a4 chore: 忽略本地 TODO.md,避免误提交 TODO.md 是本地待办清单,通过任务看板追踪更合适,不入 git 仓库。 sun 2026-08-26 00:37:15 +08:00
  • 272565f736 fix: VUL-003 完整修复,启发式/精确双模式 XFF 解析 sun 2026-08-26 00:36:22 +08:00
  • ed3d7c6b61 本次代码审查(全 12 个包,约 2400 行)的交付物: - 9 项漏洞(高 1 / 中 2 / 低 4 / 信息 2) - 已核查无风险项 8 条 - 工程债务记录(零测试、死代码、云盘占用) - 安全加固建议(Docker 密钥传递、TLS、依赖固定) sun 2026-08-25 23:10:34 +08:00
  • 72d0d6a3a9 VUL-001 (中): aac/flac 响应 Content-Type 与真实数据不一致 controller.tts.go:contentTypeFor 对 aac/flac 返回 audio/aac/flac, 但 adapter/volcano/synthesis.go 在上游降级时仅修改 opts.Format, finalFormat 仍保留 clientFormat,导致响应头与字节流不符。 修复:finalFormat 改为反映真实输出格式(非 wav 时取 opts.Format), 客户端按 AAC/FLAC 解码 MP3 流的失败场景消除。 sun 2026-08-25 23:09:47 +08:00
  • d1e7f9a4dd chore: 删除 ratelimit_middleware.go.tmp 临时文件 sun 2026-08-23 13:15:15 +08:00
  • 78c72004bf chore: 删除 ratelimit_middleware.go.tmp 临时文件 sun 2026-08-23 13:15:15 +08:00
  • 4a8c563b32 Merge branch 'develop' into main v0.2.0 sun 2026-08-23 09:54:47 +08:00
  • 370a21760c fix: 限流和并发中间件跳过非 /v1/ 路由,避免监控路径污染计数 sun 2026-08-16 18:50:33 +08:00
  • f971de6821 chore: 删除无用的预检测试脚本 _preflight.js sun 2026-08-16 18:43:56 +08:00
  • 0f7102a41d fix: 补上 dashboard 缺失的 formatBytes 函数定义 sun 2026-08-16 18:41:33 +08:00
  • ec2b78533d test: add preflight check test script for cors sun 2026-08-16 18:35:34 +08:00
  • 36e0d87cec ui: 替换 unpkg 为 bootcdn 国内 CDN sun 2026-08-16 18:32:58 +08:00
  • c4e278d544 ui: 重写监控面板,解析Prometheus指标分组展示,移除原始文本iframe sun 2026-08-16 18:13:04 +08:00
  • 5519697f87 fix: merge case sentence and empty to handle audio frames with empty event field sun 2026-08-16 18:03:21 +08:00
  • 78bb7d87ab refactor: remove fallback audio collection in case empty after namespace fix sun 2026-08-16 17:56:49 +08:00
  • d516dddf1d fix: namespace 修正为 UnidirectionalTTS 匹配 HTTP 单向端点 sun 2026-08-16 17:54:43 +08:00
  • 677f606935 fix: 修复上游省略event字段导致音频帧被丢弃的bug sun 2026-08-16 17:50:02 +08:00
  • 55244e9a45 fix: 修复 response.go switch 语句大括号结构错误 sun 2026-08-16 17:32:00 +08:00
  • 483db85259 fix: 兼容上游 sentence 字段为对象/字符串两种形态,加 debug 打印无 event 元数据行 sun 2026-08-16 17:27:20 +08:00
  • b4b8ec33ed docs: 重写README,补充BYTEDANCE_TTS_DEBUG调试日志独立小节 sun 2026-08-16 14:41:07 +08:00
  • cdd143f7e2 docs: 移除复刻1.0相关内容,仅保留2.0 sun 2026-08-15 19:17:42 +08:00
  • c84f99a13f docs: 更新README补充TTS可选参数、调试日志、音频格式说明 sun 2026-08-15 19:12:40 +08:00
  • 155fab6b4b feat: add debug log control and optimize error response and cors log sun 2026-08-15 19:03:37 +08:00
  • 1455e4bf80 fix: 修复 synthesis.go 类型不匹配编译错误 ([]byte→string) sun 2026-08-15 17:55:13 +08:00
  • f75a8461d1 chore: 移除文件开头多余的UTF-8 BOM头 sun 2026-08-15 15:02:00 +08:00
  • 81fcc9fff4 chore: 清理多余的BOM头并整理依赖与telemetry代码 sun 2026-08-15 14:38:14 +08:00
  • 5b970f49e1 feat: 实现完整可观测性架构与火山v3适配器重构 sun 2026-08-15 13:30:35 +08:00
  • 07a7dd450c refactor(tts): 简化火山TTS实现,移除可配置格式采样率等参数 sun 2026-07-01 18:27:07 +08:00
  • 638dcc7721 fix: 更新字节语音合成默认模型为音色复刻路由适配版本 sun 2026-07-01 15:02:43 +08:00
  • 7e2d050d51 feat(volcano): add upstream TTS request diagnostic log sun 2026-07-01 14:31:40 +08:00
  • f39c72acbe refactor(setting): 优化配置启动日志与错误提示 sun 2026-07-01 00:13:15 +08:00
  • 7e1102902d refactor(volcano adapter): 重构火山 TTS 适配器请求体结构与错误处理 sun 2026-06-30 23:34:45 +08:00
  • 746da76fa4 chore: 新增os包导入以支持系统信号处理 sun 2026-06-30 22:39:26 +08:00
  • 3dc9632c1b refactor(setting): 集中管理环境配置并新增启动日志汇总 sun 2026-06-30 20:55:56 +08:00
  • 0aad65ed78 chore(docker): add compose file version declaration sun 2026-06-27 23:49:09 +08:00
  • 21b86bfcfe feat: 新增音频格式与采样率配置,完善OpenAI兼容格式映射 sun 2026-06-27 23:28:35 +08:00
  • 82cc68e7ee chore(setting): add check for ALLOWED_ORIGINS environment variable sun 2026-06-27 14:42:55 +08:00
  • 361a9d6401 fix(middleware): 修复日志输出乱码问题 sun 2026-06-27 14:31:10 +08:00