Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 02 Jun 13:18
· 139 commits to main since this release
a8cc4b8

v0.3.0 更新日志

feat — 新功能

技能管理系统

  • 新增 SkillSummary 领域模型,封装技能元数据(folder_name / name / description / path)
  • 自动从 ~/.oy-ai-agent/skills/~/.claude/skills/ 目录发现技能(SKILL.md + YAML frontmatter)
  • 技能列表注入 Agent system prompt,LLM 可据此主动在需要时 Read 技能文件
  • Agent trait 新增 set_skills 默认方法,向后兼容
  • /claude-skills 命令实时开关 Claude 技能目录的读取
  • 会话启动时打印已加载技能列表:[Available Skills] grill-with-docs, karpathy-guidelines, ...
  • 新增 14 个单元测试覆盖 frontmatter 解析、目录发现、提示片段生成

Markdown 表格渲染

  • 集成 pulldown-cmarkENABLE_TABLES 选项解析表格
  • 纯文本表格渲染:使用 box-drawing 字符(┌─┬┐)绘制边框
  • 支持 Left / Right / Center 三对齐
  • 启用 strikethrough(删除线)解析扩展

ToolCall 参数显示

  • ToolCall 状态消息增加 arguments 字段
  • Read/Edit/Write 工具显示 file_path 参数,Bash 显示 command 参数
  • 面板实时展示:ToolCall Read: /path/to/file (0.2s)

输入框自动换行

  • 实现 wrap_input_text 算法,手动将输入文本按行宽切割
  • 采用 word-wrap 策略:连续空白暂存,遇到非空白字符超宽时自动换行
  • 使用 UnicodeWidthChar::width 正确处理 CJK 宽字符
  • 算法与 visual_cursor_pos 一致,彻底修复光标位置错位问题
  • 移除 ratatui 的 Wrap,避免双重换行导致的偏移

fix — 修复

  • 修剪聊天消息内容末尾的空白字符(trim_end),消除视觉闪烁
  • Markdown 渲染后行尾空白/空行修剪(trim_trailing_lines
  • 所有配置 API(theme / thinking / context / base-url / api-key / model-name)写入时带上 read_claude_skills: None,防止旧配置被意外覆盖

chore — 工程维护

  • 各模块版本已更新至 v0.3.0
  • oy-agent 新增 dev-dependency: tempfile = "3"
  • oy-tui 新增 dependency: serde_json = "1"
  • Cargo.lock 自动更新,新增 tempfile / fastrand 依赖

What's Changed

Full Changelog: v0.2.1...v0.3.0