Fam Zheng
|
3e478228dd
|
notes: done 状态也能 ↻ 重跑;有 transcript 自动跳过 ASR 只重跑 LLM
deploy notes / build-and-deploy (push) Successful in 1m40s
- 前端 retry 按钮去掉 status==failed 限制,总显示(中间态 disabled)
- backend process_recording 启动时看 transcript 有没有,有就直接 cleaning 起步,
省 30 分钟录音那个 2-3 分钟的 ASR 切片串行
|
2026-05-18 01:44:11 +01:00 |
|
Fam Zheng
|
e072109e91
|
notes: 加「✨ 清理润色」block + 转写原文默认折叠
deploy notes / build-and-deploy (push) Successful in 1m47s
- backend: schema 加 cleaned 列;process_recording 流程
ASR → cleaning (LLM 分段+去口语+润色+**加粗高亮**) → summarizing → done
- cleanup LLM 失败不阻塞,继续 summary
- 前端三 block 顺序:纪要 → 清理润色 → 原文(details 折叠)
- 新 status 'cleaning' 也加进 statusLabel / progressText
|
2026-05-18 01:22:33 +01:00 |
|
Fam Zheng
|
bcc8c3f484
|
notes: 启动时 resume 卡在 transcribing/summarizing/pending 的录音
deploy notes / build-and-deploy (push) Successful in 3m9s
pod 重启时 spawn 的 worker 进程内存丢,db 状态停留 → 死循环看不到进度。
启动加一段:扫 status IN (pending,transcribing,summarizing),重置成 pending,
逐个 spawn process_recording 重跑(ASR + LLM idempotent)。
|
2026-05-18 00:30:37 +01:00 |
|
Fam Zheng
|
34fa47f95f
|
notes: 加重命名 — title 旁边 ✏️ 按钮 prompt 改名 (PATCH /api/recordings/:id)
deploy notes / build-and-deploy (push) Successful in 1m53s
|
2026-05-17 23:28:57 +01:00 |
|
Fam Zheng
|
e7912f3547
|
notes(asr): LLM 顺手出会议标题,覆盖默认时间戳 title
deploy notes / build-and-deploy (push) Successful in 1m50s
prompt 加要求:第一行 `TITLE: <主题>` + `---` + 正文;backend parse
头两行,覆盖 recordings.title;summary 字段不含 title 行。
失败 fallback 不动 title。前端 sidebar/主视图自带 5s 轮询自动刷新。
|
2026-05-17 23:01:28 +01:00 |
|
Fam Zheng
|
688ccdc76f
|
notes(asr): 切片串行 ASR 绕单文件大小限制
deploy notes / build-and-deploy (push) Successful in 3m40s
ASR server 直接 500 拒绝大文件 (15MB / ~15min 4.7s 即返回 500),不是
处理超时。改成:sidecar 装 ffmpeg → /transcribe endpoint 把音频切 60s
段 → 串行调外部 ASR → 拼接 transcript。notes 主容器 call_asr 改成 POST
到 sidecar /transcribe(timeout 1h 给长录音留余地)。
- feishu sidecar Dockerfile + ffmpeg + requests
- server.py 加 TranscribeReq;fallback -c copy 失败时 re-encode AAC
- main.rs 删除 asr_url/asr_token 字段(now sidecar concern)
- k8s manifest: ASR_URL/ASR_TOKEN 从主容器移到 feishu sidecar env
|
2026-05-17 22:38:05 +01:00 |
|
Fam Zheng
|
68671784f6
|
notes: 加一键转飞书文档 (sidecar markdown-to-feishu)
deploy notes / build-and-deploy (push) Failing after 2m2s
- backend: POST /api/recordings/:id/feishu → 拼 markdown (总结在最上 + 附件链接到转录/录音 + 转写全文) → 写 /data/feishu-tmp/<id>/ → HTTP POST 到 feishu sidecar
- 复用:已有 feishu_doc_id 时 --update 同一个 doc,前端按钮文案变「↻ 重新生成」
- schema 加 feishu_doc_id + feishu_url 两列(ALTER TABLE 兼容旧 db)
- LLM prompt 改:行动项用 markdown checkbox `- [ ] 谁·做什么·何时`
- sidecar apps/notes/feishu: node:20 + python3 + python3-markdown + @larksuite/cli + COPY 自己的 markdown-to-feishu script + FastAPI /convert
- k8s: deployment 加 feishu container 共享 PVC;lark-cli-creds Secret 挂 /root/.lark-cli/config.json
- CI: 主 image --no-cache(cube 规矩),sidecar 保留 layer cache(chromium-free,但 apt/npm 也大)
- 前端: content 头部加「📤 一键转飞书文档」按钮;已转过显示飞书链接 + 按钮变重生成
|
2026-05-17 22:16:13 +01:00 |
|
Fam Zheng
|
eb7cd81395
|
notes: 回滚讲话人猜测 prompt,保持简单纪要格式
deploy notes / build-and-deploy (push) Successful in 1m58s
|
2026-05-17 22:08:08 +01:00 |
|
Fam Zheng
|
93039457a7
|
notes: title 全空时用「录音 YYYY-MM-DD HH:MM」;LLM 加猜讲话人 prompt
deploy notes / build-and-deploy (push) Successful in 1m43s
|
2026-05-17 22:03:20 +01:00 |
|
Fam Zheng
|
61abd3f560
|
notes: 新建 notes.famzheng.me — 录音 → ASR → LLM 会议纪要
deploy articulate / build-and-deploy (push) Successful in 1m21s
deploy cube / build-and-deploy (push) Successful in 1m44s
deploy karaoke / build-and-deploy (push) Successful in 1m13s
deploy music / build-and-deploy (push) Successful in 2m23s
deploy notes / build-and-deploy (push) Successful in 2m16s
deploy simpleasm / build-and-deploy (push) Successful in 1m44s
deploy werewolf / build-and-deploy (push) Successful in 1m7s
- 后端 axum + sqlite (recordings 表):上传 multipart 流式落 PVC;spawn worker pending → transcribing (调 mochi 那边 ASR endpoint, fireredasr2 token, Whisper-style multipart) → summarizing (调 gemma-4-31b-it OpenAI 兼容接口) → done
- 鉴权 middleware:Authorization: token <PASSPHRASE>;audio 流播放 ?token= query 兜底;passphrase 走 k8s Secret 不写死
- 前端 Vue3:首次访问弹 passphrase modal;sidebar 录音列表(带状态 chip)+ content 选中显示音频 + 转写 + markdown 纪要;5s polling 进度
- k8s manifest: ns cube-notes / PVC 30Gi / Ingress notes.famzheng.me / bodylimit 600M;Secret notes-creds = {passphrase, asr_token, llm_token}
- portal apps.ts 加 notes entry
|
2026-05-17 21:43:44 +01:00 |
|