-
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