跳转至

输入统计 Lua:查看个人输入效率与历史数据

输入统计不仅记录字数,还会统计上屏次数、输入速度、平均编码长度、词长分布等数据,并支持按日、周、月、年及自定义时间区间查询。

万象通过 input_statistics.lua 记录本地输入数据,并将统计结果直接显示在候选窗口中。需要查看时输入对应指令即可,不需要打开额外的统计页面。


一、统计面板

输入对应的统计指令后,例如 /tj 查看生涯统计,候选窗口会生成统计面板。

面板中的各行内容可以通过数字键分别选择上屏,也可以按空格或回车将整组统计结果上屏。

面板展示示例:

※ 生涯统计 · 效率仪表盘
───────────────
📊 综合数据
  均速:68    上屏:71426
  峰速:78    字数:164196
🏆 段位:💨·行云流水
───────────────
⚡ 核心效率
  平均编码:2.77 键/字
  词组连打:92.2 %
───────────────
📈 字词分布
  [1]  17% ▓░░░░░░░░░
  [2]  52% ▓▓▓▓▓░░░░░
  [3]  17% ▓░░░░░░░░░
  [4]   9% ░░░░░░░░░░
  [∞]  3% ░░░░░░░░░░
───────────────
◉ 方案:自然万象
◉ 平台:fcitx-rime 5.1.13

上述 Emoji、符号和分隔线属于统计候选本身的显示内容,用于区分不同数据区域。


二、默认统计指令

系统预设了以下统计指令,也可以在配置中自行修改:

  • /rtj —— 日统计,查看当天数据
  • /ztj —— 周统计,查看本周数据
  • /ytj —— 月统计,查看本月数据
  • /ntj —— 年统计,查看本年数据
  • /tj —— 生涯统计,查看全部历史数据
  • /btj —— 设备统计数据,查看本设备历史数据

历史查询模式 (/htj)

除固定的日、周、月、年统计外,还可以通过 /htj 查询指定日期或时间区间的数据。

  • 单日查询:输入 /htj20231015,查看 2023 年 10 月 15 日的统计数据。

  • 区间查询:输入 /htj20231015t20240102,以 t 连接起止日期,统计 2023 年 10 月 15 日至 2024 年 1 月 2 日之间的数据。

这种方式适合回看某一天、某一阶段或较长时间范围内的输入情况。


三、本地数据库与按日记录

input_statistics.lua 使用本地数据库保存统计数据,默认数据库路径为:

lua/stats

统计数据以为基础维度保存,包括键数、字数、上屏次数、词长分布等信息。

查询当天数据时,可以直接读取对应日期的记录;查询周、月、年或自定义时间区间时,则会读取指定范围内的日记录并进行汇总。

这种存储方式既可以保留长期累计数据,也可以支持按具体日期回溯,而不需要只维护一个不断累加的总计数值。

所有统计数据均保存在本地,不依赖在线服务。


四、自定义触发指令与称号

统计功能的触发指令、数据库路径以及面板中的称号,都可以通过 .custom.yaml 自定义。

相关配置可以放在 wanxiang.custom.yaml 的顶层节点,例如:

# 在 custom 文件中顶格添加或修改
input_stats:
  db_name: "lua/stats"  # 统计数据库路径
  triggers:
    local_total: "/btj" # 设备统计
    today: "/rtj"       # 日统计
    week: "/ztj"        # 周统计
    month: "/ytj"       # 月统计
    year: "/ntj"        # 年统计
    total: "/tj"        # 生涯统计
    history: "/htj"     # 历史查询

  # 自定义称号,按照累计字数达到对应阈值后切换
  # 格式:"字数阈值:称号名称"
  titles:
    - "0:初入道途·炼气期"
    - "10000:小有所成·筑基期"
    - "50000:凝真化虚·金丹期"
    - "100000:破茧成蝶·元婴期"
    - "500000:掌控法则·化神期"
    - "1000000:破碎虚空·渡劫期"

titles 按累计字数阈值匹配称号。达到新的阈值后,统计面板会显示对应称号。

称号配置说明:如果没有设置 titles,系统会使用默认称号,例如“略有小成”“行云流水”等;如果自行配置 titles,则使用自定义称号列表。


统计数据适合怎么看?

不同指标反映的内容并不相同:

  • 字数、上屏次数:用于观察整体输入量。
  • 均速、峰速:用于查看输入速度变化。
  • 平均编码:表示平均每个字需要输入多少按键,可以辅助观察输入效率。
  • 词组连打:用于观察多字词或连续组合在整体输入中的占比。
  • 字词分布:用于查看单字、二字词、三字词及更长组合的使用比例。
  • 历史查询:用于比较不同日期或阶段的输入情况。

统计结果更适合作为长期趋势参考,不需要单独追求某一个数值。

输入统计记录的是长期使用轨迹,可以用来观察输入量、输入效率和习惯变化。