- 模块名重命名 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*
4.9 KiB
4.9 KiB
云枢·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文件即 Agent,YAML 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.mdtools 新增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 记录对话历史,支持上下文追问
- 天气情报官 agent(weather-agent.md):通过 MSN 天气 API 查询实时天气和预报
- MSN 天气 API Skill(msn-weather-api/SKILL.md):API 知识按需加载
- 内置 42 个中国城市经纬度数据库(data/cities.json)
- 支持单次查询和交互模式两种运行方式
- 默认集成豆包(火山引擎)LLM,通过环境变量可切换
技术细节
- 语言:Go 1.21
- 依赖:仅 gopkg.in/yaml.v3(用于解析 frontmatter)
- API 兼容 OpenAI Chat Completion 格式
- 环境变量:
OPENAI_API_KEY(必填)、LLM_ENDPOINT、LLM_MODEL