返回顶部
s

session-distiller会话蒸馏器

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.5.1
安全检测
已通过
156
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

session-distiller

session-distiller

将OpenClaw会话记录批量处理为结构化的每日记忆文件(memory/YYYY-MM-DD.md)。确保不会丢失任何会话知识——即使是那些在实时记忆刷新阈值之前结束的简短对话。

平台: macOS。从 ~/.openclaw/agents/main/sessions/ 读取。需要 trash 命令行工具。

组件

脚本用途
scripts/distill.py批量提取已关闭会话 + 对已批准的群聊进行实时原地提取
scripts/context-gate.py
轮询上下文使用情况,在阈值时发出警告,在硬性门控时自动提取并发出警报 |

前置条件

  • - Python 3.8+
  • 在 http://localhost:4000 运行的 LiteLLM 代理(用于LLM提取调用)
  • trash 命令行工具(brew install trash)——安全地将文件移至macOS废纸篓
  • 运行的OpenClaw网关(用于context-gate.py状态轮询)

distill.py 使用方法

bash

批量:预览已关闭会话的试运行


python3 scripts/distill.py --dry-run

批量:处理所有符合条件的已关闭会话(默认:24小时以上)

python3 scripts/distill.py

批量:提取后保留源文件

python3 scripts/distill.py --no-trash

批量:处理特定会话文件

python3 scripts/distill.py --file

批量:更改最小时间阈值

python3 scripts/distill.py --min-age-hours 48

实时:提取所有已批准的群聊会话

python3 scripts/distill.py --live [--dry-run]

实时:按UUID提取特定会话

python3 scripts/distill.py --live-session [--dry-run]

会议记录:提取到每日记忆文件(推荐)

python3 scripts/distill.py --meeting-notes [--dry-run] [--limit N] [--trash]

会议记录:已弃用的别名(发出弃用警告)

python3 scripts/distill.py --granola [--dry-run] [--limit N] [--trash]

每日日志:将AM/PM文件导入每日记忆文件(推荐)

python3 scripts/distill.py --daily-log [--dry-run] [--limit N]

每日日志:已弃用的别名(发出弃用警告)

python3 scripts/distill.py --captains-log [--dry-run] [--limit N]

版本

python3 scripts/distill.py --version

context-gate.py 使用方法

bash

实时运行——轮询网关,发送Telegram警报


python3 scripts/context-gate.py

试运行——记录将要执行的操作,不发送警报

python3 scripts/context-gate.py --dry-run

版本

python3 scripts/context-gate.py --version

环境变量

变量默认值描述
CONTEXTWARNPCT40建议性警告阈值(%)
CONTEXTHARDPCT
60 | 硬性门控阈值——触发自动提取(%) | | BOTTOKEN | (空)_ | Telegram机器人令牌(警报必需) | | CHATID | (空)_ | 用于警报的Telegram聊天ID(警报必需) |

配置

实时白名单(LIVEALLOWLISTKEYS)

在 scripts/distill.py 中,LIVEALLOWLISTKEYS 字典控制哪些会话获得实时原地提取。键是来自 sessions.json 的会话键(在UUID轮换中保持稳定)。添加条目如下:

python
LIVEALLOWLISTKEYS = {
agent:main:telegram:group:-5166698025: Claw & Order,
}

关键路径

路径用途
~/.openclaw/agents/main/sessions/源会话JSONL文件
~/.openclaw/agents/main/sessions/sessions.json
会话键 → UUID索引 | | ~/.openclaw/workspace/memory/ | 输出每日记忆文件 | | prompts/distill.txt | LLM提取提示模板 | | offsets.json | 实时会话偏移跟踪器(运行时状态,自动创建) | | gate-state.json | 每个会话的上下文门控状态(运行时状态,自动创建) |

LiteLLM 端点

提取调用发送到 http://localhost:4000/v1/chat/completions,使用模型 claude-opus-4-6。如有需要,可在 distill_transcript() 函数中更改模型或端点。

调度

批量提取(distill.py)

通过OpenClaw cron每天北京时间03:00执行。作为子代理在隔离会话中运行。

已知问题: 03:00的cron有600秒超时。约44个会话×LLM调用,会超时(观察到5次连续错误)。缓解措施:使用 --min-age-hours 48 减少批处理大小,或拆分为多个cron运行。

上下文门控(context-gate.py)

通过shell crontab每5分钟执行一次,07:00–22:00:

/5 7-22 /Users//.openclaw/scripts/cron-context-gate.sh

参考

  • - ROADMAP.md — 未来构想、已知问题、第4阶段社区发布计划

变更日志

v0.5.1 — 2026-03-17

热修复:从仓库中移除运行时状态文件并添加.gitignore。

  • - 添加了覆盖offsets.json、gate-state.json、captains-log-ingested.json、granola-ingested.json的.gitignore
  • 从git跟踪中移除状态文件(git rm --cached)

v0.5.0 — 2026-03-17

可配置路径 + 标志别名 + 去标识化。

  • - 添加了可配置路径常量块(MEETINGNOTESDIR、DAILYLOGDIR、DAILYLOGPATTERN、MEMORY_DIR)——通过环境变量覆盖,无需编辑脚本
  • 添加了 --meeting-notes 标志作为 --granola 的推荐替代
  • 添加了 --daily-log 标志作为 --captains-log 的推荐替代
  • --granola 和 --captains-log 仍然有效,但现在会向stderr发出弃用警告
  • 从文档(SKILL.md、ROADMAP.md)中移除了部署特定的标识符;将 / 替换为您自己的值
  • version 提升至 0.5.0

v0.4.1 — 2026-03-15

行为变更:--captains-log 模式现在在成功导入后将源文件移动到 memory/captains-log/ingested/(默认清理,与 --granola 模式一致)。

  • - 添加了 --no-move 标志以保留源文件在原位
  • 添加了 --trash 标志以将文件移至废纸篓而非移动
  • 导入后 memory/ 保持干净——无冗余重复文件
  • 回填:首次运行时将已有的预导入源文件移至 ingested/

v0.4.0 — 2026-03-14

新功能:船长日志AM/PM导入(--captains-log 模式,关闭#7)。

  • - --captains-log 标志扫描 memory/ 中的 captains-log-YYYY-MM-DD-am.md 和 captains-log-YYYY-MM-DD-pm.md 文件
  • 无需LLM调用——日志已经是结构化摘要,按原样追加
  • 同一日期的AM在PM之前导入(保证时间顺序)
  • 追加 ## Captains Log — AM (Morning Watch) / ## Captains Log — PM (Dog Watch) 部分
  • captains-log-ingested.json 边车文件用于幂等重新运行
  • 源文件保留——不移动或丢弃(参考工件)
  • 支持 --limit N 用于积压处理
  • 完成每日LTM流水线:AM日志 → Granola会议 → PM日志 → 会话提取

v0.3.1 — 2026-03-14

新功能:Granola会议记录提取(--granola 模式,关闭#4)。

  • - --granola 标志扫描 memory/granola/ 并将未导入的会议记录提取到对应的 memory/YYYY-MM-DD.md 每日文件中
  • 专用提示

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 session-distiller-1776276662 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 session-distiller-1776276662 技能

通过命令行安装

skillhub install session-distiller-1776276662

下载

⬇ 下载 session-distiller v0.5.1(免费)

文件大小: 27.16 KB | 发布时间: 2026-4-17 16:04

v0.5.1 最新 2026-4-17 16:04
Hotfix: removed runtime state files from repo, added .gitignore

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部