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

107 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 云枢·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`
## [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
### 重大变更
- **项目更名**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`