From 11f87fd9afd0261a4a4b321059a674801c50b48a Mon Sep 17 00:00:00 2001 From: KimiSwitch Dev Date: Sun, 20 Sep 2026 09:58:01 +0800 Subject: [PATCH] =?UTF-8?q?chore(docs):=20release=20notes=20=E5=BD=92?= =?UTF-8?q?=E6=A1=A3=20docs/release-notes/=20+=20=E6=A0=B9=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E6=B1=87=E6=80=BB=20CHANGELOG.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 20 份 release-notes-v*.md 移入 docs/release-notes/(git mv 保留历史) - 新增 CHANGELOG.md:v0.7.1~v0.7.20 倒序浓缩汇总(日期取各文件原始添加提交) - publish-gitea.sh 与 release.yml 改为 docs/release-notes/.md 优先、根目录回退 --- .github/workflows/release.yml | 3 +- CHANGELOG.md | 140 ++++++++++++++++++ .../release-notes/release-notes-v0.7.1.md | 0 .../release-notes/release-notes-v0.7.10.md | 0 .../release-notes/release-notes-v0.7.11.md | 0 .../release-notes/release-notes-v0.7.12.md | 0 .../release-notes/release-notes-v0.7.13.md | 0 .../release-notes/release-notes-v0.7.14.md | 0 .../release-notes/release-notes-v0.7.15.md | 0 .../release-notes/release-notes-v0.7.16.md | 0 .../release-notes/release-notes-v0.7.17.md | 0 .../release-notes/release-notes-v0.7.18.md | 0 .../release-notes/release-notes-v0.7.19.md | 0 .../release-notes/release-notes-v0.7.2.md | 0 .../release-notes/release-notes-v0.7.20.md | 0 .../release-notes/release-notes-v0.7.3.md | 0 .../release-notes/release-notes-v0.7.4.md | 0 .../release-notes/release-notes-v0.7.5.md | 0 .../release-notes/release-notes-v0.7.6.md | 0 .../release-notes/release-notes-v0.7.7.md | 0 .../release-notes/release-notes-v0.7.8.md | 0 .../release-notes/release-notes-v0.7.9.md | 0 scripts/publish-gitea.sh | 6 +- 23 files changed, 146 insertions(+), 3 deletions(-) create mode 100644 CHANGELOG.md rename release-notes-v0.7.1.md => docs/release-notes/release-notes-v0.7.1.md (100%) rename release-notes-v0.7.10.md => docs/release-notes/release-notes-v0.7.10.md (100%) rename release-notes-v0.7.11.md => docs/release-notes/release-notes-v0.7.11.md (100%) rename release-notes-v0.7.12.md => docs/release-notes/release-notes-v0.7.12.md (100%) rename release-notes-v0.7.13.md => docs/release-notes/release-notes-v0.7.13.md (100%) rename release-notes-v0.7.14.md => docs/release-notes/release-notes-v0.7.14.md (100%) rename release-notes-v0.7.15.md => docs/release-notes/release-notes-v0.7.15.md (100%) rename release-notes-v0.7.16.md => docs/release-notes/release-notes-v0.7.16.md (100%) rename release-notes-v0.7.17.md => docs/release-notes/release-notes-v0.7.17.md (100%) rename release-notes-v0.7.18.md => docs/release-notes/release-notes-v0.7.18.md (100%) rename release-notes-v0.7.19.md => docs/release-notes/release-notes-v0.7.19.md (100%) rename release-notes-v0.7.2.md => docs/release-notes/release-notes-v0.7.2.md (100%) rename release-notes-v0.7.20.md => docs/release-notes/release-notes-v0.7.20.md (100%) rename release-notes-v0.7.3.md => docs/release-notes/release-notes-v0.7.3.md (100%) rename release-notes-v0.7.4.md => docs/release-notes/release-notes-v0.7.4.md (100%) rename release-notes-v0.7.5.md => docs/release-notes/release-notes-v0.7.5.md (100%) rename release-notes-v0.7.6.md => docs/release-notes/release-notes-v0.7.6.md (100%) rename release-notes-v0.7.7.md => docs/release-notes/release-notes-v0.7.7.md (100%) rename release-notes-v0.7.8.md => docs/release-notes/release-notes-v0.7.8.md (100%) rename release-notes-v0.7.9.md => docs/release-notes/release-notes-v0.7.9.md (100%) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index db5193e..35071e6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,7 +73,8 @@ jobs: id: notes shell: bash run: | - FILE="release-notes-${{ github.ref_name }}.md" + FILE="docs/release-notes/${{ github.ref_name }}.md" + [ -f "$FILE" ] || FILE="release-notes-${{ github.ref_name }}.md" { echo 'body< `[experimental]` 显式配置 > 总开关环境变量 > 默认值,总开关不再锁定全部开关 +- **修复 WebUI 打开竞态**:并发调用串行化 + 后到点击自动聚焦已有窗口,失败路径不再误杀正在使用的 server,前端增加「打开中...」防重入态 +- models-dev 快照更新至 7495 模型 / 212 供应商 + +## v0.7.11 (2026-08-29) + +- **适配 kimi-code 0.39.1**:`[thinking]` 保留开关改写 `keep = "off"`(修复布尔值导致整个节被 v2 校验丢弃);`loop_control` 默认只写新键 `max_attempts_per_step` 并清理旧键;思考强度移除 `max` 档(上游迁移为 `high`) +- **会话归档与上游 v2 对齐**:不再搬动文件,改为在 `state.json` 写入 `archived` / `archivedAt` 元数据,CLI 侧与 Kimi Switch 侧归档状态互通;旧 `.kcd-archive/` 物理归档仍可识别恢复 +- **修复子代理模型池无法添加第二个条目**:默认模型自动物化进池,不再被校验拦截 +- models.dev 快照刷新至 7482 个模型 / 207 个供应商 + +## v0.7.10 (2026-08-29) + +- **修复保存配置时误删 CLI 新增的顶层配置节**:以导入时顶层键为基线,CLI 后加的 `[task]` / `[swarm]` / `[cron]` / `[tools]` / `[identity]` / `[token_counting]` 等节原样保留,界面中显式删除的节仍会移除 +- **修复未知供应商类型被改写**:`config.toml` 中新增的供应商 `type` 往返读写后原样保留(此前会被改成 `kimi`),下拉框标注「未知类型」,SQLite 快照恢复路径同步修复 +- 新增 3 个配置往返回归测试,Rust 测试 106 项全绿,前端 tsc / vitest 通过 + +## v0.7.9 (2026-08-27) + +- 模型库刷新至 **7343 个模型 / 203 个供应商**,内置快照与官网静态资源同步更新 +- **新增 GLM-5.3 / GLM-5.3-Flash 全线接入**:智谱官方、OpenRouter、Cloudflare Workers AI、DeepInfra、HuggingFace、火山引擎等约 20 条渠道,GLM-5.3-Flash 定价 $0.075/$0.25(每百万 token) +- 新增 Qwen3.8 系列、豆包 Seed 2.x 全系、DeepSeek-V4 GA、MiniMax-M2.7/M3 等共 74 个模型条目;价格更新 58 处、能力信息修正 56 处 + +## v0.7.8 (2026-08-25) + +- **修复模型用量上下显示不同步**:上方用量摘要刷新后下方进度条仍停留旧数据(如 24% vs 8%),用量查询状态提升至卡片层统一持有,两处同帧更新 +- **实验功能开关同步 kimi-code 上游 7 项旗标**:新增 Tower 模式、子代理 Fork 上下文、WaitFor 工具、自动会话标题;移除已废弃的 ACP v2 开关(手写配置仍完整保留) +- 自动刷新间隔改为每卡片恰好一份定时器,行为不变 + +## v0.7.7 (2026-08-22) + +- **双区域 OAuth 支持(适配 kimi-code 0.38.0)**:适配 mainland-cn `auth.kimi.com` / global `auth.kimi.ai`(#2862),按 provider 的 oauth ref 推导凭据文件与刷新端点,global 账号(`credentials/kimi-code-env-.json`)可正常查询用量 +- **内置登录区域选择**:应用内 Kimi 登录对话框新增「中国大陆 / 国际版 (kimi.ai)」,登录成功后按官方 CLI 行为 provision `[providers."managed:kimi-code"]`(global 写 `oauthHost`,cn 不写) +- **修复**:手动添加模型后别名自动跟随为 `/`;managed(OAuth)供应商自填 `api_key` 保存时不再被清空 +- models.dev 快照刷新至 **7246 模型 / 193 供应商**,新增 DeepSeek V4 Flash Vision Exp、Ox Alpha Free(opencode-go,免费) + +## v0.7.6 (2026-08-18) + +- **新增 OpenCode Go 套餐用量查询**:卡片用量页脚显示 **5 小时滚动 / 7 天 / 30 天** 三窗口的已用百分比与重置时间(数据源 `GET https://opencode.ai/zen/go/v1/usage`) +- 已配置 OpenCode Go API Key 的老用户无需手动设置,程序按 `base_url` 自动识别并启用;已适配 opencode.ai 的 Cloudflare 拦截(携带浏览器 User-Agent) +- 插件目录被运行中进程占用时的错误提示给出明确指引 + +## v0.7.5 (2026-08-15) + +- **子代理模型池适配 kimi-code 0.36.0 新引擎**:适配 `[secondary_model]` 的 `default_model` + `[secondary_model.models]` 表 + `force`;写入时 `model` 与 `default_model` 双写同值,v1 legacy 与 v2 引擎均可识别 +- **高级设置页新增模型池管理**:升级旧配置、增删池条目、编辑路由描述(渲染进主代理 Agent/AgentSwarm 工具描述);支持 force 强制默认模型(带二次确认);保存前 6 类错误前置拦截 +- 新增 32 个单元测试覆盖池读写与校验逻辑(vitest) +- **热力图详情改为按需加载**:双击方块调用后端 `get_day_detail` 聚合,不再受 7d / 30d 范围限制 +- models.dev 快照刷新至 2026-08-15(6583 模型 / 185 供应商),新增 GLM-5.3 等 + +## v0.7.4 (2026-08-09) + +- **热力图方块双击弹窗**:查看当日模型用量分布,每种模型独立展示 Token 用量 / 请求次数 / 费用 / 缓存命中率(此前仅有 token 数) +- 后端 `[dashboard] by_model` 从纯 token 数升级为结构化对象(含 requests / cost / cacheHitRate),弹窗与柱状图双击均展示全量指标 +- 范围外日期(不在当前 7d / 30d / all 内)不可双击;Escape / 遮罩 / 关闭按钮均可关闭弹窗 + +## v0.7.3 (2026-08-07) + +- **Kimi Code WebUI 应用内嵌窗口**:新版 Web 界面以独立顶层窗口打开(1100×750、可缩放、居中),不再跳转外部浏览器 +- **单例 + 服务器自动管理**:窗口最多一个,重复点击自动聚焦;复用已运行的 `kimi web` 服务,自启动的服务器在窗口关闭或应用退出时自动清理 +- 「在应用内打开」与「在浏览器打开」两个入口并存(后者复用本地服务器,直接打开 `http://127.0.0.1:58627`) + +## v0.7.2 (2026-08-07) + +- 「子代理设置」升级为「**高级设置**」:聚合子代理模型指定、实验功能开关与 WebUI 快捷入口 +- **新增 Kimi Code WebUI 快捷打开**:高级设置页可将新版 Web 界面以独立窗口在应用内打开,也可在系统浏览器打开(需 kimi-code 0.33+,kimi 命令在 PATH 中) +- **子代理模型指定**:为子代理选择次主力模型后默认绑定该模型,不再继承主模型;实验开关改为滑动开关并修复开启态不可见问题 +- 兼容 kimi-code 0.33+(v2 引擎):`loop_control` 改用新键名 `max_attempts_per_step`(旧配置自动迁移,保留旧键兼容 legacy 引擎);Release 附带 `install-macos.sh` 一键安装脚本 + +## v0.7.1 (2026-08-06) + +- **新增「子代理模型(次主力模型)」设置**:选择后子代理默认绑定该模型,不再继承主模型,仅保存模型引用即可继承上下文长度与思考模式 +- **仪表盘用量统计**:识别子代理请求(`__secondary__`)归为「子代理模型(估算)」独立展示,并缓存次主力模型定价,删除配置后历史记录仍稳定估算 +- 自定义网关模型(未收录 models.dev)按官方同名模型跨 provider 匹配价格,不再落入兜底估算 diff --git a/release-notes-v0.7.1.md b/docs/release-notes/release-notes-v0.7.1.md similarity index 100% rename from release-notes-v0.7.1.md rename to docs/release-notes/release-notes-v0.7.1.md diff --git a/release-notes-v0.7.10.md b/docs/release-notes/release-notes-v0.7.10.md similarity index 100% rename from release-notes-v0.7.10.md rename to docs/release-notes/release-notes-v0.7.10.md diff --git a/release-notes-v0.7.11.md b/docs/release-notes/release-notes-v0.7.11.md similarity index 100% rename from release-notes-v0.7.11.md rename to docs/release-notes/release-notes-v0.7.11.md diff --git a/release-notes-v0.7.12.md b/docs/release-notes/release-notes-v0.7.12.md similarity index 100% rename from release-notes-v0.7.12.md rename to docs/release-notes/release-notes-v0.7.12.md diff --git a/release-notes-v0.7.13.md b/docs/release-notes/release-notes-v0.7.13.md similarity index 100% rename from release-notes-v0.7.13.md rename to docs/release-notes/release-notes-v0.7.13.md diff --git a/release-notes-v0.7.14.md b/docs/release-notes/release-notes-v0.7.14.md similarity index 100% rename from release-notes-v0.7.14.md rename to docs/release-notes/release-notes-v0.7.14.md diff --git a/release-notes-v0.7.15.md b/docs/release-notes/release-notes-v0.7.15.md similarity index 100% rename from release-notes-v0.7.15.md rename to docs/release-notes/release-notes-v0.7.15.md diff --git a/release-notes-v0.7.16.md b/docs/release-notes/release-notes-v0.7.16.md similarity index 100% rename from release-notes-v0.7.16.md rename to docs/release-notes/release-notes-v0.7.16.md diff --git a/release-notes-v0.7.17.md b/docs/release-notes/release-notes-v0.7.17.md similarity index 100% rename from release-notes-v0.7.17.md rename to docs/release-notes/release-notes-v0.7.17.md diff --git a/release-notes-v0.7.18.md b/docs/release-notes/release-notes-v0.7.18.md similarity index 100% rename from release-notes-v0.7.18.md rename to docs/release-notes/release-notes-v0.7.18.md diff --git a/release-notes-v0.7.19.md b/docs/release-notes/release-notes-v0.7.19.md similarity index 100% rename from release-notes-v0.7.19.md rename to docs/release-notes/release-notes-v0.7.19.md diff --git a/release-notes-v0.7.2.md b/docs/release-notes/release-notes-v0.7.2.md similarity index 100% rename from release-notes-v0.7.2.md rename to docs/release-notes/release-notes-v0.7.2.md diff --git a/release-notes-v0.7.20.md b/docs/release-notes/release-notes-v0.7.20.md similarity index 100% rename from release-notes-v0.7.20.md rename to docs/release-notes/release-notes-v0.7.20.md diff --git a/release-notes-v0.7.3.md b/docs/release-notes/release-notes-v0.7.3.md similarity index 100% rename from release-notes-v0.7.3.md rename to docs/release-notes/release-notes-v0.7.3.md diff --git a/release-notes-v0.7.4.md b/docs/release-notes/release-notes-v0.7.4.md similarity index 100% rename from release-notes-v0.7.4.md rename to docs/release-notes/release-notes-v0.7.4.md diff --git a/release-notes-v0.7.5.md b/docs/release-notes/release-notes-v0.7.5.md similarity index 100% rename from release-notes-v0.7.5.md rename to docs/release-notes/release-notes-v0.7.5.md diff --git a/release-notes-v0.7.6.md b/docs/release-notes/release-notes-v0.7.6.md similarity index 100% rename from release-notes-v0.7.6.md rename to docs/release-notes/release-notes-v0.7.6.md diff --git a/release-notes-v0.7.7.md b/docs/release-notes/release-notes-v0.7.7.md similarity index 100% rename from release-notes-v0.7.7.md rename to docs/release-notes/release-notes-v0.7.7.md diff --git a/release-notes-v0.7.8.md b/docs/release-notes/release-notes-v0.7.8.md similarity index 100% rename from release-notes-v0.7.8.md rename to docs/release-notes/release-notes-v0.7.8.md diff --git a/release-notes-v0.7.9.md b/docs/release-notes/release-notes-v0.7.9.md similarity index 100% rename from release-notes-v0.7.9.md rename to docs/release-notes/release-notes-v0.7.9.md diff --git a/scripts/publish-gitea.sh b/scripts/publish-gitea.sh index be91371..77107c4 100644 --- a/scripts/publish-gitea.sh +++ b/scripts/publish-gitea.sh @@ -3,7 +3,8 @@ # (git.codingplan.site/admin/KimiCodeSwitch). # # Usage: publish-gitea.sh [asset...] -# tag : e.g. v0.7.15; notes read from release-notes-.md +# tag : e.g. v0.7.15; notes read from docs/release-notes/.md +# (legacy root release-notes-.md as fallback) # assets : files to attach (MSI, install-macos.sh, ...) # # Auth: reuses the stored git credential for git.codingplan.site @@ -15,7 +16,8 @@ REPO="admin/KimiCodeSwitch" TAG="${1:?usage: publish-gitea.sh [asset...]}" shift -NOTES_FILE="release-notes-${TAG}.md" +NOTES_FILE="docs/release-notes/${TAG}.md" +[ -f "$NOTES_FILE" ] || NOTES_FILE="release-notes-${TAG}.md" json_escape() { python - "$1" <<'PYEOF' import json, sys