77 Commits

Author SHA1 Message Date
浅念 18919f3401 docs(plan): CallList ④ 微信语音 单元格可点 实现计划
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-08 16:15:50 +08:00
浅念 3a30a41ca1 docs(spec): ④ 收窄至微信语音(WA 未核实云客+列结构不同→后续,遵循浏览器优先)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-08 16:14:51 +08:00
浅念 f4f0855439 docs(spec): CallList 列内可点(④)设计(微信/WA语音单元格→聊天/详情,电话不动)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-08 16:12:07 +08:00
浅念 4cb6cf50c4 docs(plan): step5 plan 评审修复(删 getMessages import + Task4 显式替换说明)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-08 14:53:39 +08:00
浅念 c6dbda3bec docs(plan): ChatTimeline 会话列表 step5 实现计划(后端 /api/sessions + 双栏 + 选择器)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-08 14:47:49 +08:00
浅念 73fd9d0975 docs(spec): 修正 today_count 时区(钉死 UTC+8) + 日期选择器持久 ref 澄清
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-08 14:44:58 +08:00
浅念 9311607bda docs(spec): ChatTimeline 会话列表对齐云客(step 5)设计
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-08 14:37:11 +08:00
浅念 abe86489b9 docs(plan): stat modal Phase B 实现计划(列对齐 + 客户微信带窗跳聊天)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-08 13:41:53 +08:00
浅念 2a33f944ec docs(spec): 微信员工 stat modal Phase B 设计(列对齐云客 + 客户微信→带窗聊天)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-08 13:12:13 +08:00
浅念 f6c45e983a docs(plan): 微信员工 5 数字 modal Phase A 实现计划(全本地 message 聚合)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 18:20:42 +08:00
浅念 c73d845874 docs(spec): 5 数字 modal spec——§8 索引表述与无 Alembic 对齐
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 17:40:56 +08:00
浅念 faed2f586d docs(spec): 5 数字 modal spec 修订——room_id 私聊过滤 + 分页适配 + handler 换源 + 无需 Alembic
spec review 反馈:群消息误算(加 room_id 过滤)、YkStaffDetailModal fetcher 分页适配
(合成分页)、5 handler 已存在(换数据源非接线)、索引已存在(不加 Alembic)、NULL 语义、
日期选择器放 StaffList、路径前缀。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 17:39:37 +08:00
浅念 78eea7f08f docs(spec): 微信员工 5 数字 modal (Phase A) 设计——全本地消息聚合
数据源真机核实(wxStatsByTypes/wxChatInfo);从 message 表聚合 5 数字+客户明细;
复用 YkStaffDetailModal;口径近似(跟进等)。姓名drawer/主badge = Phase B。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 17:36:05 +08:00
浅念 90e614e2d7 docs(plan): 录音本地化 plan 修订——修复下载死循环 + 测试 session + WA v-if
plan review 反馈:while 循环加 tried 集合排除已试 call_id(持续失败行不死循环);
_make_engine 只返回 engine 需自建 sessionmaker;WA 录音按钮 v-if 用 ossFileName。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 16:06:56 +08:00
浅念 a2f6b023fa docs(plan): 录音批量本地化实现计划(6 task,TDD,复用 media 管道)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 15:59:46 +08:00
浅念 d3fd0a5425 docs(spec): 录音本地化 spec——drawer 播放也切本地 + media URL 约定 + sync 前提
用户 review:把详情 drawer 录音播放纳入本地化范围(一致性+全本地);
补 media URL 前缀对齐现有渲染、sync pass 须实跑的运维前提。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 15:55:12 +08:00
浅念 f8a6acd009 docs(spec): 录音本地化 spec 修订——media_type='audio' 新label + store/session 接缝澄清
spec review(Approved)3 条 advisory:media_type 约定、ObjectStore 来源、
session 而非 engine。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 15:22:08 +08:00
浅念 cd4ac5feb3 docs(spec): 录音批量本地化设计——复用现有 media 管道接线
phone_call.record_media_hash + download_call_recordings + sync_call_recordings
独立 pass + PhoneCallOut 字段 + CallList 本地优先/OSS 回退。范围仅通话录音;
语音消息/voice_clip/转写后续。路线图第 1 个 plan(4c 长语音只读已搁置)。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 15:13:34 +08:00
浅念 334adcb712 docs(spec): 4c 设计修订——补 user_real_name API 参数 + 员工姓名筛选语义/播放/scaper 文件定稿
spec review 反馈:API↔modal 员工姓名筛选对齐 + 打开语义澄清 +
channel 移出 body + scraper 文件/播放方式 pin。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 14:36:50 +08:00
浅念 fd33e82d62 docs(spec): Plan 4c 设计——长语音列表(voice_clip)本地化 + 只读展示
数据来源真机确认(POST /wechatweb/call/list 请求/响应);voice_clip 表 +
scraper/sync + /api/voice-clips + 只读 VoiceClipModal + CallList 接入。
匹配/转写/统计卡片等留 4d+。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 14:32:23 +08:00
浅念 a66c3be00a chore: final Minor polish — export filename/test断言, downloadBlob 类型/清理, plan docs
address review Minors: drop redundant filename replace, assert 暂无消息,
tighten downloadBlob return type + try/finally, fix plan group time-picker wording.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-06 18:06:17 +08:00
浅念 de08bd09c7 docs: Plan 3 — GroupList 对齐云客(采集 + TDD plan)
phase0 采集云客「沟通」板块群列表(微信 wechatdetail/2 + WA friendlist 群列表 tab),
写 Plan 3(分 channel tab 各自列 + viewChat),经 plan-reviewer 评审 Approved。
已知 gap:smoke.db 0 群(空表验证)+ WA 群抓取缺失(字段推断)。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-06 11:11:37 +08:00
浅念 c31d79f1e2 docs: Plan 2 — CustomerList 对齐云客(采集 + TDD plan)
phase0 采集云客「沟通」板块客户列表(wechat wechatdetail/1 + waBusiness/friendlist),
dump raw_json 字段覆盖,产出列+交互+字段映射;写 Plan 2(分 channel tab 各 7 列 +
查看聊天记录→ChatTimeline),经 plan-reviewer 评审 Approved。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-06 10:12:36 +08:00
浅念 9499110427 docs(plan): record wechat staff-list probe + adjust Task 8/9
WeChat interactions are navigation (not modal): 好友数/群数→customer/group list, 昵称→chat. Task 8 redone as navigation; Task 9 uses owner_account_id + row.channel.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 18:35:18 +08:00
浅念 1d815d84b9 docs: UI alignment spec + StaffList interaction plan
Spec: align all list/detail pages to 云客 (columns + interactions); covers interaction taxonomy, backend extensions (customer add_time/filters, /api/sessions), phase-0 capture. Plan 1: StaffList interaction closure + customer backend + YkStaffDetailModal.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 18:30:12 +08:00
浅念 7f19b12e74 docs: phase 0 reconnaissance findings
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-01 13:29:14 +08:00
浅念 cd8d36fd00 docs: initial design spec, data dictionary, implementation plan
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-01 10:53:28 +08:00