用途
Autonomous Session Manager 用于管理自主编码操作中的会话生命周期,涵盖会话的创建、恢复、类型检测与自动续接。它适合需要连续多轮执行编码任务的自动化流程,帮助在会话之间衔接工作、保存进度并判断下一步应初始化还是继续。
主要能力
- 会话检测(Session Detection):自动判断当前属于 INIT(初始化)还是 CONTINUE(继续)会话。
- 状态恢复(State Restoration):在会话开始时读取进度文件。
- 自动继续(Auto-Continue):支持配置会话之间的延迟时间。
- 优雅关闭(Graceful Shutdown):在终止前保存状态。
- 迭代计数(Iteration Tracking):统计会话次数以配合上限控制。
使用方式
检测会话类型:从 scripts.session_detector 导入 detect_session_type 与 SessionType,调用 detect_session_type(project_dir);若返回 SessionType.INIT 则为首次运行需初始化,否则为继续并恢复先前工作。
创建新会话:从 scripts.session_manager 导入 SessionManager,使用 async with SessionManager(project_dir, model="claude-sonnet-4-5-20250929") as session 创建会话,并调用 await session.run(prompt) 执行。
会话后自动继续:从 scripts.auto_continue 导入 auto_continue,调用 await auto_continue(delay_seconds=3) 在 3 秒延迟后自动启动下一次会话。
会话工作流
- 检测会话类型:检查是否存在 feature_list.json;若缺失则为 INIT 会话,若存在则为 CONTINUE 会话。
- 创建会话:初始化 SDK 客户端、配置工具与权限、设置工作目录。
- 运行会话:执行提示词(初始化器或编码)、处理工具调用、捕获结果。
- 结束会话:保存状态、检查完成状态、触发自动继续或关闭。
配置
会话配置项包括:model(默认 "claude-sonnet-4-5-20250929")、max_turns(默认 1000)、continue_delay(默认 3 秒)、max_iterations(默认 None,表示不限制)。
集成点
- context-state-tracker:提供状态持久化。
- security-sandbox:提供命令校验。
- autonomous-loop:使用会话管理器实现持续运行。
参考与脚本
- references/SESSION-LIFECYCLE.md:详细生命周期文档。
- references/CONFIGURATION.md:配置选项。
- scripts/session_manager.py:核心 SessionManager 类。
- scripts/session_detector.py:会话类型检测。
- scripts/auto_continue.py:自动继续逻辑。
适用场景与限制
适用于需要跨会话持续进行的自主编码任务,尤其是需要区分首次初始化与后续继续、并在会话结束后自动衔接的场景。资料未提供关于收费、价格、支持平台、具体效果或性能指标的信息,暂未提供。