No description
  • Emacs Lisp 96.1%
  • Makefile 3.9%
Find a file
Kinneyzhang d8059d67e7 feat: 每日口语复盘界面(读 speaking-drill 的录音、转写与点评)
纯文本层级:粗体、灰一档、分隔线,不设主题也不铺底板,颜色全部读当前
Emacs 主题已有的 face(default / shadow / hl-line / link / success…)。

左栏 14 天,右侧题卡、三个指标与趋势、转写、点评;n/p 切换日期,t 切中英,
RET 播放(临时下载播完即删),r 异步调模型生成点评,g 回今天,R 重读盘。

数据只读 local/skills/speaking-drill 下的 meta.json、transcript.md 与 card.md,
不复制成第二权威。打开走 etaf-app-open,窗口变化会重算视口高度。

5 条 ERT 用例:日期倒序、点评分节、连续天数、模型切换、打开与关闭;
fixture 全在临时目录,不读真实记录。
2026-10-21 22:59:44 +08:00
lisp feat: 每日口语复盘界面(读 speaking-drill 的录音、转写与点评) 2026-10-21 22:59:44 +08:00
tests feat: 每日口语复盘界面(读 speaking-drill 的录音、转写与点评) 2026-10-21 22:59:44 +08:00
.gitignore feat: 每日口语复盘界面(读 speaking-drill 的录音、转写与点评) 2026-10-21 22:59:44 +08:00
etaf-speech-log.el feat: 每日口语复盘界面(读 speaking-drill 的录音、转写与点评) 2026-10-21 22:59:44 +08:00
Makefile feat: 每日口语复盘界面(读 speaking-drill 的录音、转写与点评) 2026-10-21 22:59:44 +08:00
README.md feat: 每日口语复盘界面(读 speaking-drill 的录音、转写与点评) 2026-10-21 22:59:44 +08:00

etaf-speech-log

每日口语的复盘界面:把 speaking-drill 技能每天存下的录音、转写、指标和点评, 在 Emacs 里排成一面能随时回看的墙。

  • 左栏:最近 14 天,› 标出当前这一天
  • 右侧:当天的题卡、三个指标(语速 / 填充词 / 长停顿)、转写、点评
  • 只用的是当前 Emacs 主题的颜色与字重,不设主题、不画底板

按键

键 动作
n / p 下一天 / 上一天
RET 播放当天的音频(临时下载,播完删除)
t 中 / 英切换
r 让模型读一遍转写,生成点评
g 回到今天
R 重新读盘
q 关闭

数据

界面只读 speaking-drill 技能写入的记录:

~/.pi/agent/local/skills/speaking-drill/
  days/<日期>/{meta.json,transcript.md,card.md}
  work/<日期>/            还没上传的那一天

用 etaf-speech-log-data-dir 可以指到别处。

安装

(add-to-list 'load-path "~/emacs-taf/etaf-speech-log")
(add-to-list 'load-path "~/emacs-taf/etaf")
(add-to-list 'load-path "~/emacs-taf/etaf-ui")
(add-to-list 'load-path "~/emacs-taf/ebox")
(add-to-list 'load-path "~/emacs-taf/ecss")
(require 'etaf-speech-log)

M-x etaf-speech-log-open。

没有记录时显示空态,提示先在终端跑 pi-skill speaking-drill daily。

开发

make check     # 编译 + 5 条 ERT 用例

用例在临时目录里造 fixture,不碰真实记录。