Skip to content

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Jun 17:30
· 113 commits to main since this release
acf11f8

v0.5.0 更新日志

feat — 新功能

CLI 命令扩展

  • oy update — 新增 update 子命令,通过 npm 更新 CLI 工具

    • 先尝试 npm install -g @ghyper9023/oy(超时 300s)
    • 失败后自动 fallback 到 --registry https://registry.npmjs.org/(超时 300s)
    • 前者更新成功则不触发后者
  • oy -c — 继续最近会话

    • 扫描 ~/.oy-ai-agent/sessions/ 下所有 session,按修改时间取最新
    • 找到则加载历史消息进入 TUI,可继续在原 session 中聊天
    • 没找到则启动空白 TUI(等同 oy
    • 加载后滚动条自动定位到最新消息
  • oy -r — 交互式 Session 选择器

    • 列出所有 session,按最后修改时间降序排列
    • 每行显示:[编号] uuid前缀... | 项目目录 | 首条用户消息摘要
    • 用户输入编号选择要恢复的 session
    • 用户消息摘要自动折叠换行为单行文本
  • oy -s <path> / oy --session <path> — 加载指定路径的 session 文件

    • 直接传入任意 JSON 文件路径,尝试作为 session 加载
    • 文件不存在或格式非法时打印错误并退出
    • 可用于加载非标准位置的 session 文件或手动备份的对话记录

会话持久化改进

  • Worker 初始化支持指定 uuid 和预加载历史消息(Worker::with_session()
  • Orchestrator 新增 start_with_session() 入口,复用原 session uuid
  • 加载 session 后继续聊天,消息续写到同一 session 文件(不生成新文件)
  • 新增 list_all_sessions() / find_latest_session() / get_session_preview() / load_session_messages() 查询函数
  • Session 预览文本自动扁平化为单行(换行 → 空格,连续空白合并)

refactor — 架构重构

分层调整

  • oy-code-cli 新增 session 选择交互逻辑(纯 CLI,不依赖 ratatui)
  • oy-tui::run_tui() 签名改为接受 Option<PathBuf>,支持 session 路径注入
  • App::new() 增加 session 加载分支,自动从 JSON 恢复 TUI 消息显示
  • persistence.rs 新增独立查询层,与 save_session / load_session 保持向后兼容

chore — 工程维护

  • 版本更新至 v0.5.0
  • oy-code-cli 新增 dependency: uuid
  • Cargo.lock 自动更新

What's Changed

Full Changelog: v0.4.0...v0.5.0