Context State Tracker 是一个面向自主编码会话的状态持久化与恢复工具,通过结构化产物在多次会话之间保存和加载进度。
用途: 该工具用于解决自主编码代理在会话中断后难以恢复上下文的问题。它将会话状态(已完成事项、阻塞项、下一步计划)以及功能列表持久化到项目目录中,使下一次会话能够快速读取并继续工作。
主要能力:
- 保存与加载进度:通过 StateTracker 类的 save_progress 和 load_progress 方法,记录 accomplishments、blockers 和 next_steps。
- 管理功能列表:通过 FeatureList 类创建功能条目,每个条目包含 id、description、passes 等字段,并支持 update_status 将功能标记为通过。
- 状态产物:生成 feature_list.json(不可变功能跟踪,passes 仅允许 false → true)、claude-progress.txt(人类可读的会话日志)以及利用 .git 目录保存详细历史。
- Git 集成:通过 git_state.py 脚本整合 Git 历史,提供细粒度回滚能力。
使用方式: 在 Python 环境中导入脚本模块。例如: from scripts.state_tracker import StateTracker tracker = StateTracker(project_dir) tracker.save_progress(accomplishments=[...], blockers=[...], next_steps=[...]) state = tracker.load_progress()
from scripts.feature_list import FeatureList features = FeatureList(project_dir) features.create([{"id": "auth-001", "description": "User login", "passes": False}]) features.update_status("auth-001", passes=True)
工作流: 会话开始时读取 feature_list.json、claude-progress.txt 和 Git 日志;会话中选取未完成功能进行实现并验证;会话结束时更新 feature_list.json、追加 claude-progress.txt 并提交 Git。
适用场景: 适用于需要跨多个自主编码会话持续跟踪任务状态的开发工作流,尤其适合与 autonomous-session-manager、coding-agent、progress-tracker 等组件集成使用。
限制与规则:
- 功能不可变:只能从 false 变为 true,不能回退。
- 禁止删除功能:删除功能被视为灾难性操作。
- 每次会话后需更新进度,以便快速恢复上下文。
- 详细历史依赖 Git 提交。
- 具体集成方式与依赖环境暂未提供。