Files
YunShu/docs/changelog.md

107 lines
4.9 KiB
Markdown
Raw Normal View History

2026-05-08 10:12:31 +08:00
# 云枢·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 天气非公开 API`assets.msn.cn`
2026-05-08 10:59:07 +08:00
## [1.0.0] - 2026-05-08
### 发布说明
第一个稳定发布版本。云枢·Agent 作为可独立运行的 Agent 系统,支持通过 LLM + 工具注册表 + 外挂 Agent 定义实现自然语言驱动的天气查询。
### 功能
- 三层分离架构Agent Skill行为↔ 普通 Skill知识↔ Tool确定性执行
- 外挂 Agent 定义:`.md` 文件即 AgentYAML frontmatter + Markdown body
- 4 个内置工具:`http-get``skill``read-file``geocode`
- 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 天气非公开 API`assets.msn.cn`
## [1.0.0-rc.1] - 2026-05-07
2026-05-08 10:12:31 +08:00
### 重大变更
- **项目更名**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_ENDPOINT``LLM_MODEL`