v0.3.0
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技能文件 Agenttrait 新增set_skills默认方法,向后兼容/claude-skills命令实时开关 Claude 技能目录的读取- 会话启动时打印已加载技能列表:
[Available Skills] grill-with-docs, karpathy-guidelines, ... - 新增 14 个单元测试覆盖 frontmatter 解析、目录发现、提示片段生成
Markdown 表格渲染
- 集成
pulldown-cmark的ENABLE_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
- Feat v0.3.0 by @cherish-ltt in #3
Full Changelog: v0.2.1...v0.3.0