Input‑Stream‑Logger,是一套面向个人知识沉淀的本地输入采集处理方案。依托 Windows 小狼毫( Rime ) Lua 钩子捕获输入法上屏文本,同时对接CapsWriter‑Offline本地语音识别,把打字、语音转写的全部输入内容保存本地日志文件;再通过配套 Python 脚本完成日志合并、 AI 话题划分、分类摘要,将碎片化输入素材加工成结构化个人知识库素材。

⚠️重要安全提示:该工具会记录输入法上屏全部文字,包含账号、密码、聊天等敏感信息;全部数据仅保存在本地磁盘,不会自动上传网络,使用者务必做好数据脱敏,谨慎部署。仅适合个人研究、自用,不要在公用电脑部署。

整体分为三大模块:

  1. Rime Lua 采集模块:捕获 Rime 输入法上屏文本;
  2. CapsWriter‑Offline 适配模块:捕获本地语音识别输出的文字;
  3. Python 后端处理套件:原始日志清洗、合并、 AI 话题划分、分类总结。

核心功能

1. Rime 输入法文本采集

利用 Rime 的 Lua 脚本钩子,监听输入法文本上屏事件,将每一段输出文本带上时间戳写入本地 TXT 日志,按日期分割日志文件。

  • 提供rime.lua采集脚本、朙月拼音简化字自定义配置;
  • 用户必须手动修改脚本内磁盘输出路径,指向本机真实存在目录;
  • 只记录已经确认上屏的内容,不记录敲击的原始按键编码。

2. 本地语音识别内容采集

对接开源项目CapsWriter‑Offline(基于 Whisper 模型的离线语音转文字)。修改其输出处理器,语音识别结果直接输出模拟按键上屏,被 Rime Lua 脚本一并抓取进日志;语音原始音频文件也可以选择本地留存。

注意:本项目不分发 CapsWriter‑Offline 本体,需要用户自行去原仓库下载程序与 ASR 模型。配置需要关闭剪贴板粘贴模式,改用模拟按键输出,才能被 Rime 捕获。

3. Python 后端日志流水线处理( my_log 目录)

整套流水线分为多步,支持中间手动干预脱敏:

  1. merge_logs.py :片段合并 根据时间间隔阈值,把碎片化单行日志拼接成完整句子;过滤无意义标记字符,输出合并后文本。
  2. 手动脱敏(可选) 合并后的文本可以打开编辑,删除密码、身份证、隐私聊天等敏感内容。
  3. topic_router.py : AI 话题嗅探 调用大模型 API ,扫描全文,自动划分时间段、识别话题类型,输出 JSON 结构化话题清单。
  4. conditional_summarizer.py :条件式分类摘要 针对不同话题执行差异化处理策略:读书笔记极简留存;软件踩坑记录梳理「需求‑尝试‑结论」结构化笔记。
  5. cleanup_logs.py :日志清理工具,一键清理指定日期全部中间产物。

网络调用仅发生在话题嗅探与摘要步骤;原始采集、片段合并全部本地完成。 AI 处理支持断点续传,遇到 API 限流自动指数退避重试。

部署方法

1. Rime 小狼毫采集部署

  1. 安装 Windows 小狼毫 Weasel ,使用朙月拼音・简化字;
  2. Rime_Configrime.lualuna_pinyin_simp.custom.yaml复制进 Rime 用户目录;
  3. 修改rime.lua中日志输出路径, Windows 路径使用双反斜杠\\
  4. 小狼毫执行重新部署;输入文字即可生成按日期命名的日志 txt 。

2. 语音识别模块部署

  1. 自行下载CapsWriter‑Offline本体与 ASR 模型;
  2. 修改客户端配置config_client.pypaste = False,使用模拟按键输出;
  3. 使用本仓库提供的result_processor.py覆盖原文件,让语音上屏内容被 Rime 捕获;
  4. 按住 CapsLock 说话,松开完成语音转写,内容同样写入日志。

3. Python 日志处理流水线

cd my_log
pip install -r requirements.txt
cp .env.example .env
# 在.env 填入你的大模型 API 密钥与接口地址
# 1. 片段合并(不填日期默认处理今日)
python merge_logs.py [2026‑02‑11]
# 2. (手动打开 merged_*.txt 做脱敏编辑)
# 3. AI 识别话题边界
python topic_router.py [2026‑02‑11]
# 4. 按话题条件生成总结文档
python conditional_summarizer.py [2026‑02‑11]