跳转到内容

事件日志

Switch to Zen Mode

当用户在 TUI 中操作任务时,Mutsumi 可选地将事件追加到 events.jsonl 文件(JSONL 格式,每行一个事件)。Agent 可以通过读取这个文件来感知用户在 TUI 侧的操作,实现双向通信。

config.toml 中配置:

event_log_path = "./events.jsonl"

或使用默认路径:

event_log_path = "~/.local/share/mutsumi/events.jsonl"
{"ts":"2026-03-21T10:00:00Z","event":"task_completed","task_id":"01JQ...","title":"修复缓存 Bug","source":"tui"}
{"ts":"2026-03-21T10:01:22Z","event":"task_created","task_id":"01JQ...","title":"写单元测试","source":"tui"}
{"ts":"2026-03-21T10:05:00Z","event":"task_deleted","task_id":"01JQ...","title":"过时的任务","source":"tui"}
{"ts":"2026-03-21T10:06:30Z","event":"task_updated","task_id":"01JQ...","changes":{"priority":"high→low"},"source":"tui"}
事件字段说明
task_createdtask_id, title创建了新任务
task_completedtask_id, title任务标记为完成
task_deletedtask_id, title任务被删除
task_updatedtask_id, changes (dict)任务字段被修改
schema_errorfile, messageJSON 校验失败

每个事件都包含以下公共字段:

字段类型说明
tsstringISO 8601 时间戳
eventstring事件类型
sourcestring事件来源(通常为 "tui"

Agent 可以通过以下方式消费事件流:

Terminal window
tail -f events.jsonl | jq .
检查 events.jsonl 获取用户最近在任务上的操作。
import json
with open("events.jsonl") as f:
for line in f:
event = json.loads(line)
if event["event"] == "task_completed":
print(f"用户完成了: {event['title']}")
  • 默认保留最近 1000 个事件
  • 超出部分自动截断
  • 可通过 events.max_linesconfig.toml 中配置
场景说明
Agent 感知Agent 读取事件日志了解用户操作,自动调整工作优先级
审计追踪记录所有任务变更历史
自动化触发脚本监听事件触发自动操作(如任务完成时发通知)
调试排查 Agent 与 TUI 之间的同步问题