Input‑Stream‑Logger,是一套面向个人知识沉淀的本地输入采集处理方案。依托 Windows 小狼毫( Rime ) Lua 钩子捕获输入法上屏文本,同时对接CapsWriter‑Offline本地语音识别,把打字、语音转写的全部输入内容保存本地日志文件;再通过配套 Python 脚本完成日志合并、 AI 话题划分、分类摘要,将碎片化输入素材加工成结构化个人知识库素材。
⚠️重要安全提示:该工具会记录输入法上屏全部文字,包含账号、密码、聊天等敏感信息;全部数据仅保存在本地磁盘,不会自动上传网络,使用者务必做好数据脱敏,谨慎部署。仅适合个人研究、自用,不要在公用电脑部署。
整体分为三大模块:
- Rime Lua 采集模块:捕获 Rime 输入法上屏文本;
- CapsWriter‑Offline 适配模块:捕获本地语音识别输出的文字;
- Python 后端处理套件:原始日志清洗、合并、 AI 话题划分、分类总结。
核心功能
1. Rime 输入法文本采集
利用 Rime 的 Lua 脚本钩子,监听输入法文本上屏事件,将每一段输出文本带上时间戳写入本地 TXT 日志,按日期分割日志文件。
- 提供
rime.lua采集脚本、朙月拼音简化字自定义配置; - 用户必须手动修改脚本内磁盘输出路径,指向本机真实存在目录;
- 只记录已经确认上屏的内容,不记录敲击的原始按键编码。
2. 本地语音识别内容采集
对接开源项目CapsWriter‑Offline(基于 Whisper 模型的离线语音转文字)。修改其输出处理器,语音识别结果直接输出模拟按键上屏,被 Rime Lua 脚本一并抓取进日志;语音原始音频文件也可以选择本地留存。
注意:本项目不分发 CapsWriter‑Offline 本体,需要用户自行去原仓库下载程序与 ASR 模型。配置需要关闭剪贴板粘贴模式,改用模拟按键输出,才能被 Rime 捕获。
3. Python 后端日志流水线处理( my_log 目录)
整套流水线分为多步,支持中间手动干预脱敏:
- merge_logs.py :片段合并 根据时间间隔阈值,把碎片化单行日志拼接成完整句子;过滤无意义标记字符,输出合并后文本。
- 手动脱敏(可选) 合并后的文本可以打开编辑,删除密码、身份证、隐私聊天等敏感内容。
- topic_router.py : AI 话题嗅探 调用大模型 API ,扫描全文,自动划分时间段、识别话题类型,输出 JSON 结构化话题清单。
- conditional_summarizer.py :条件式分类摘要 针对不同话题执行差异化处理策略:读书笔记极简留存;软件踩坑记录梳理「需求‑尝试‑结论」结构化笔记。
- cleanup_logs.py :日志清理工具,一键清理指定日期全部中间产物。
网络调用仅发生在话题嗅探与摘要步骤;原始采集、片段合并全部本地完成。 AI 处理支持断点续传,遇到 API 限流自动指数退避重试。
部署方法
1. Rime 小狼毫采集部署
- 安装 Windows 小狼毫 Weasel ,使用朙月拼音・简化字;
- 将
Rime_Config内rime.lua、luna_pinyin_simp.custom.yaml复制进 Rime 用户目录; - 修改
rime.lua中日志输出路径, Windows 路径使用双反斜杠\\; - 小狼毫执行重新部署;输入文字即可生成按日期命名的日志 txt 。
2. 语音识别模块部署
- 自行下载
CapsWriter‑Offline本体与 ASR 模型; - 修改客户端配置
config_client.py:paste = False,使用模拟按键输出; - 使用本仓库提供的
result_processor.py覆盖原文件,让语音上屏内容被 Rime 捕获; - 按住 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]
