Files
YunShu/docs/changelog.md
titor d2b9b2c4bb refactor: 项目结构重组,src/ 扁平化为根目录,提取 pkg/ 子包
- 模块名重命名 yunshu -> hub.gaomia.site/titor/YunShu
- Go 版本升级 1.21 -> 1.25
- src/ 目录删除,所有文件移至根目录
- 新增 pkg/mdprint/: Markdown AST 解析+ANSI 渲染
- 新增 pkg/style/: 终端颜色样式(8色 ANSI + 24位真彩色)
- 新增 pkg/termui/: 终端输入组件(交互式输入/密码/确认)
- 更新文档:AGENTS.md、architecture.md、changelog.md、taolun.md
- gitignore 通配符修复 yunshu.exe -> yunshu.exe*
2026-05-09 03:55:56 +08:00

4.9 KiB
Raw Blame History

云枢·Agent 版本变更日志

坐看云卷云舒,静听花开花落

[1.1.0] - 2026-05-09

新增

  • Markdown 渲染器重构:从"一行流"改为 AST 架构(pkg/mdprint/
    • 块级解析器Heading / Paragraph / CodeBlock / Blockquote / List / Table / ThematicBreak
    • 行内解析器Bold / Italic / Code / Link + 递归嵌套
    • ANSI 渲染器type switch 分发,标题按级别分色
  • 标题视觉系统1-3 级 符号 + 加粗4-5 级 符号 + 加粗6 级纯加粗
    • 所有标题前插空行1 级标题前后各插空行
  • 真彩色支持:style.FgHex("#RRGGBB") / style.BgHex("#RRGGBB"),兼容原有 8 色 ANSI
  • 莫奈《睡莲》配色方案H1 雾蓝灰 / H2 鼠尾草绿 / H3 薄荷青 / H4 淡紫粉 / H5 暖灰绿 / H6 浅灰
  • 排版间距优化:--- 横线前后空行、输入与响应之间空行、输出末尾空行

修复

  • 行内解析器未闭合分隔符(* / `)导致死循环
  • 代码 fence 检测不识别 ```go 等带语言标识的写法
  • Windows 终端输入模式导致 bufio.Scanner 无法获取行输入

变更

  • 项目结构:src/ → 根目录 + pkg/ 子包
  • pkg/style 新增真彩色 API向后兼容

技术栈

  • 语言Go 1.25
  • 依赖:仅 gopkg.in/yaml.v3
  • 默认 LLM豆包火山引擎doubao-seed-2-0-pro-260215
  • 数据源MSN 天气非公开 APIassets.msn.cn

[1.0.0] - 2026-05-08

发布说明

第一个稳定发布版本。云枢·Agent 作为可独立运行的 Agent 系统,支持通过 LLM + 工具注册表 + 外挂 Agent 定义实现自然语言驱动的天气查询。

功能

  • 三层分离架构Agent Skill行为↔ 普通 Skill知识↔ Tool确定性执行
  • 外挂 Agent 定义:.md 文件即 AgentYAML frontmatter + Markdown body
  • 4 个内置工具:http-getskillread-filegeocode
  • Session 会话管理:~/.config/yunshu/session.json 持久化对话历史
  • 交互模式 + 单次查询双模式运行
  • onboard 交互式初始化向导
  • 双路径搜索:项目目录优先,~/.config/yunshu/ 后备
  • 旧配置自动迁移:~/.config/weather-cli/~/.config/yunshu/
  • LLM 配置:支持配置文件 + 环境变量双重配置,兼容 OpenAI Chat Completion API

技术栈

  • 语言Go 1.21
  • 依赖:仅 gopkg.in/yaml.v3
  • 默认 LLM豆包火山引擎doubao-seed-2-0-pro-260215
  • 数据源MSN 天气非公开 APIassets.msn.cn

[1.0.0-rc.1] - 2026-05-07

重大变更

  • 项目更名weather-cia → 云枢·Agent(英文名 YunShu / yunshu
  • 配置目录迁移~/.config/weather-cli/~/.config/yunshu/(自动迁移)
  • 二进制名称改为 yunshu

[0.3.0] - 2026-05-07

新增

  • geocode 工具:通过 wttr.in 查询城市坐标,支持中文和英文城市名
  • skills/geocoding/SKILL.md:地理编码验证规则(同名城市检测、国家核对)
  • 架构分离agent skill 只放行为,普通 skill 只放知识tool 负责确定性执行

变更

  • agents/weather-agent.md 精简为纯行为定义(去掉所有 MSN API 内联细节,改为按需加载 skill
  • 城市定位方式:从静态 cities.json 查表 → 调用 geocode 工具实时查询
  • agents/weather-agent.md tools 新增 geocode
  • session 文件从项目目录移至 ~/.config/weather-cli/session.json

[0.2.0] - 2026-05-07

新增

  • onboard 子命令:交互式初始化向导,引导用户配置 LLM 连接信息
  • 全局配置文件 ~/.config/weather-cli/config.yaml,存储 LLM host/model/key
  • 双路径搜索机制:项目目录优先,~/.config/weather-cli/ 后备
  • 首次运行检测:未配置时提示用户运行 weather-cia onboard

变更

  • 项目重命名为 weather-cia
  • 配置加载改为:配置文件 → 环境变量(环境变量优先级更高)
  • Agent/skill 搜索路径扩展:项目目录 → 全局配置目录
  • onboard 自动复制默认 agents/skills/data 到全局配置目录

[0.1.0] - 2026-05-07

新增

  • 项目初始化,基于 Go 实现的轻量级 agent 框架
  • 核心架构:.md 文件定义 agent 行为,代码只负责加载和执行
  • 工具系统声明式注册http-get, skill, read-file
  • Session 会话管理session.json 记录对话历史,支持上下文追问
  • 天气情报官 agentweather-agent.md通过 MSN 天气 API 查询实时天气和预报
  • MSN 天气 API Skillmsn-weather-api/SKILL.mdAPI 知识按需加载
  • 内置 42 个中国城市经纬度数据库data/cities.json
  • 支持单次查询和交互模式两种运行方式
  • 默认集成豆包火山引擎LLM通过环境变量可切换

技术细节

  • 语言Go 1.21
  • 依赖:仅 gopkg.in/yaml.v3用于解析 frontmatter
  • API 兼容 OpenAI Chat Completion 格式
  • 环境变量:OPENAI_API_KEY(必填)、LLM_ENDPOINTLLM_MODEL