v0.6.1
v0.6.1 — Bug Fixes & Prompt Enhancement
Release date: 2026-06-12
Bug 修复
Worker::run Idle 状态阻塞修复
- commit
7f67cf8 - 问题:Worker::run 主循环中,无条件 try_recv 排水循环会在 Agent 处于 Idle 状态时清空通道中的 Prompt 命令并注入消息历史,随后 Idle 分支的 recv().await 因通道为空而无限期阻塞,导致用户第一个 Prompt 被"吞掉"不触发 AI 思考。
- 修复:仅在非 Idle 状态时运行 try_recv 排水循环,Idle 状态下命令正常走 assembly_prompts 路径触发状态机流转。
Agent 切换时系统提示词覆盖修复
- commit
0735983 - 问题:MainAgent 与 CommanderAgent 切换时,replace_messages 直接 clear 所有消息并用源 Agent 消息覆盖,导致目标 Agent 的系统提示词被替换,Agent 失去角色定位和工具集。
- 修复:replace_messages 保留目标 Agent 自身的 System Prompt(第一条消息),仅替换后续的用户/助理/工具消息。
Windows 路径兼容性修复
- commits
c185edd、4c37c9f - 问题:MainAgent/CommanderAgent 的 save_session 和 SubAgentRunner 中的路径处理仅替换正斜杠
/,未处理 Windows 的反斜杠\和盘符冒号:,导致在 Windows 上创建嵌套目录或保存失败。 - 修复:统一使用
.replace(['/', '\\'], "-").replace(':', "")处理路径,确保跨平台兼容。
功能增强
新增 oy sub-sessions 子命令
- commit
3aac623 - 新增独立子命令
oy sub-sessions,用于列出和交互式加载子代理 session 文件。 - 扫描
~/.oy-ai-agent/sessions/*/sub_agents/*.json,按修改时间降序排列。 - 交互式选择器风格与
oy -r一致,支持选择后通过 TUI 加载查看。 - 不修改
list_all_sessions(),不影响oy -r原有行为。
CI 验收标准注入 + GitHelper 能力扩展
- commit
54f8826 - CommanderAgent:新增步骤 0「探索 CI 配置」,要求读取
.github/workflows/*.yml提取验收标准;创建 planner 时通过 context 传入 CI 标准。 - Planner:工作方式增加 CI 验收标准感知;计划模板新增「CI 验收标准」章节。
- GitHelper:从仅支持 commit 扩展为支持
gh issue create和gh pr create,成为完整的仓库协作助手。 - 后续优化(
72036b4):将 CI 验收标准描述从 Rust 特化(cargo fmt/clippy/build/test)泛化为语言无关描述,以.github/workflows/*.yml为最终标准,无 CI 时按「测试通过 → 检查通过 → 代码格式化」三层递进。
重构优化
消除代码重复 + 补充单元测试
- commits
0dd7cb8、d2d02d3 - 提取
replace_messages_preserve_system_prompt共享函数到domain/agent.rs,消除 CommanderAgent 和 MainAgent 间的重复实现。 - 将
drain_pending_enter_prompts重命名为drain_pending_commands,消除命名误导。 - 为两个 Agent 各补充 3 个 replace_messages 单元测试,覆盖保留自身 System Prompt、空自身消息、源无 System 三种场景。
- 应用 clippy 和 fmt 格式化优化:长链式调用换行、嵌套 if let 合并为 let-chains。
完整提交日志
3aac623 feat: 新增 `oy sub-sessions` 子命令独立查看子代理 session
72036b4 refactor: 泛化 CI 验收标准描述,消除 Rust 特化语言
54f8826 feat: 优化系统提示词 — CI 验收标准注入 + GitHelper 能力扩展
0dd7cb8 refactor: 消除 replace_messages 代码重复、重命名 drain_pending_commands、补充单元测试
d2d02d3 style: 应用 clippy 和 fmt 格式化优化
4c37c9f fix: 修复 sub_agent_runner.rs 中三处 Windows 路径兼容性问题
c185edd fix: 修复 save_session 中 Windows 路径兼容性问题
0735983 fix: 修复 Agent 切换时 replace_messages 覆盖系统提示词的问题
7f67cf8 fix: 修复 Worker::run 中 try_recv 排水循环在 Idle 状态下导致阻塞的问题
What's Changed
- docs: v0.6.1 版本日志 + 多项修复与功能增强 by @cherish-ltt in #9
Full Changelog: v0.6.0...v0.6.1