来源:notes/projects/feishu_base_sync/04_飞书日记采集源导入流程.md

飞书日记采集源导入流程

目标

将飞书多维表格 A24Kbdt1ua3dnBssONgcHLgOnCe日记 表作为外部采集源,定时导入本地 logs/daily_log.md,再复用个人助理现有的下游同步流程。

数据流方向固定为:

飞书日记表 -> import_feishu_daily_log.py -> logs/daily_log.md
                                               -> sync_all_outputs.sh

源 Base 与个人助理配置中的目标 Base 不同。源 Base 不会被写入。

字段规则

  • 日期:解析日期和时间;只有日期时使用 00:00
  • 文本2:作为正文;为空时跳过,不回退到 文本
  • 多行正文:压缩为空格后写成一条 Markdown 列表项,保证现有日记解析器兼容。
  • 机器标记:在条目末尾写入隐藏的 feishu-source:<record_id> 标记。

幂等与修改

状态文件为 config/feishu_daily_log_source_sync.json。脚本每次扫描源表全部记录:

  • 新记录追加到对应日期下。
  • 已有源记录按 record_id 更新。
  • 首次导入通过日期、时间和正文指纹关联已有相同条目。
  • 源表删除记录不会删除本地 Markdown。
  • 单条坏记录跳过并输出警告;关键字段缺失则整批失败。

Markdown 使用临时文件完成原子替换,并通过锁文件避免五分钟任务重叠执行。

手动运行

cd /home/admin/code/cc-connect-work-space/codex_personal_assistant
python3 scripts/import_feishu_daily_log.py --dry-run
python3 scripts/import_feishu_daily_log.py

默认运行在导入成功后执行 scripts/sync_all_outputs.sh。如只想导入本地:

python3 scripts/import_feishu_daily_log.py --no-downstream

定时任务

安装并启用当前用户的 systemd timer:

scripts/install_feishu_daily_log_timer.sh

查看任务:

systemctl --user status codex-personal-assistant-feishu-source.timer
journalctl --user -u codex-personal-assistant-feishu-source.service

当前 timer 频率为每 5 分钟一次,运行身份使用当前用户的 lark-cli 授权。