diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 7f02d848..619fa8c6 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@pace/desktop", - "version": "0.1.0", + "version": "0.2.0", "private": true, "license": "Apache-2.0", "description": "The GUI for the Pi coding agent.", diff --git a/apps/desktop/src/entities/release/changelog.ts b/apps/desktop/src/entities/release/changelog.ts index 254eb7a7..77e46eab 100644 --- a/apps/desktop/src/entities/release/changelog.ts +++ b/apps/desktop/src/entities/release/changelog.ts @@ -14,6 +14,40 @@ export type ChangelogRelease = { // Ship release notes with the app so the history is also available offline. export const changelogReleases: readonly ChangelogRelease[] = [ + { + version: "0.2.0", + date: "2026-10-07", + title: "Pi 1.0 and reliable sign-in refresh", + summary: "This release ships Pi 1.0.4 with a leaner codemode and image generation, and fixes signed-in providers failing once their token expired. Pi renamed the Azure provider from azure-openai-responses to azure; if you use Azure, rename it in auth.json, models.json and settings.json, or enter your Azure credentials again in Settings → Providers.", + url: "https://github.com/BubblePtr/pace/releases/tag/v0.2.0", + changes: [ + { + kind: "added", + title: "Bundled Pi 1.0.4", + description: "Codemode uses about 40% fewer prompt tokens and its errors tell the model how to recover. Scripts can generate images with models.generateImages(), each image is also saved to a file, and tools.read() returns image files as images.", + }, + { + kind: "added", + title: "Azure Foundry chat models", + description: "The Azure provider, now named azure, also serves Foundry Chat Completions deployments, starting with azure/deepseek-v4-pro. The AZURE_OPENAI_* environment variables are unchanged.", + }, + { + kind: "improved", + title: "MCP sign-in per server", + description: "MCP OAuth credentials are stored per server name and URL, so two servers with the same URL can use different accounts. Existing sign-ins move to the first server that uses them, and Settings → MCP shows the new state.", + }, + { + kind: "improved", + title: "One codemode exposure", + description: "The codemode exposure now finds a server's tools with searchTools(), so the separate codemode-deferred option is gone. Servers already set to codemode-deferred keep working as codemode.", + }, + { + kind: "fixed", + title: "Sign-ins survive token expiry", + description: "Once an OAuth token expired, providers such as Radius, ChatGPT, GitHub Copilot and Kimi failed with Provider authentication failed because the installed app could not load Pi's refresh code. Tokens now refresh on their own.", + }, + ], + }, { version: "0.1.0", date: "2026-10-01", diff --git a/bun.lock b/bun.lock index 7c39e39d..ef84d7c5 100644 --- a/bun.lock +++ b/bun.lock @@ -46,7 +46,7 @@ }, "apps/desktop": { "name": "@pace/desktop", - "version": "0.1.0", + "version": "0.2.0", "dependencies": { "@astryxdesign/cli": "^0.3.0", "@astryxdesign/core": "^0.3.0", diff --git a/docs/changelog.md b/docs/changelog.md index 3325056b..128ac315 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -4,7 +4,7 @@ Settings Dialog 的 Changelog 分类展示正式发布的用户可感知变化 ## 内容来源 -唯一数据源是 `apps/desktop/src/entities/release/changelog.ts` 的 `changelogReleases`。内容随应用打包,因此断网也能阅读;不会在打开设置时请求 GitHub。当前构建收录 v0.0.1 至 v0.1.0,最新条目随 v0.1.0 发布。v0.1.0 的中文说明见 [发布说明](release/0.1.0.md),涵盖 MCP 设置、内置 Pi 0.99.1 与 codemode/tool_search/MCP、嵌套工具调用、Linux x64 安装包、每次编辑的行数、聊天文件链接,以及 squircle 圆角和动态图标调整;也是首个按语义化版本选号的版本。v0.0.16 的中文说明见 [发布说明](release/0.0.16.md),涵盖技能与提示模板标签、工作区文件引用、worktree 基础分支选择、诊断信息复制,以及菜单排版、项目错误、provider 检查和会话恢复修复。v0.0.15 的中文说明见 [发布说明](release/0.0.15.md),涵盖内置 Pi 0.87.1、按账号过滤可用模型、provider 连接检查、设置页刷新模型目录、按 provider 全选及模型选择器与设置页对齐。v0.0.14 的中文说明见 [发布说明](release/0.0.14.md),涵盖内置 Pi 0.86.0、会话内上下文变更通知、About 页 Pi 版本、首页 Pi 品牌色、Draft→Live 单一 composer 及 Finder 启动下的包管理修复。v0.0.13 的中文说明见 [发布说明](release/0.0.13.md),涵盖设置页列出全部 Pi provider、Radius 登录及 provider 卡片品牌标与过滤。v0.0.12 的中文说明见 [发布说明](release/0.0.12.md),涵盖排队消息拖拽重排与 steer、会话自动命名、Browser 空白启动及中断 run 结清修复。v0.0.11 的中文说明见 [发布说明](release/0.0.11.md),涵盖 Usage 成本驾驶舱、内置 Pi 0.85.1 及会话创建时的模型选择修复。v0.0.10 的中文说明见 [发布说明](release/0.0.10.md),涵盖 Trajectory 子会话深链、子代理停止控制及 Dock 提示位置修复。v0.0.9 的中文说明见 [发布说明](release/0.0.9.md),涵盖历史会话即时回放、根会话进程隔离及后台扩展免系统 Node。v0.0.8 的中文说明见 [发布说明](release/0.0.8.md),涵盖工具图标恢复静态、失败工具单行摘要及输入框层级修复。v0.0.7 的中文说明见 [发布说明](release/0.0.7.md),涵盖 Shell 动画图标、双栏 Header 对齐、Live Chat 抢占修复及系统 Node 支持后台扩展。v0.0.6 的中文说明见 [发布说明](release/0.0.6.md),涵盖会话列表按最近提交排序、列表头部简化及投影状态和标题宽度修复。v0.0.5 涵盖聊天文件链接、工作区自动刷新、会话恢复提示及界面和日志修复。v0.0.4 根据 [正式发布记录](https://github.com/BubblePtr/pace/releases/tag/v0.0.4) 和 [v0.0.3 至 v0.0.4 的实际改动](https://github.com/BubblePtr/pace/compare/v0.0.3...v0.0.4) 整理,UTC 发布日期为 2026-09-10,涵盖 Packages 市场、资源管理及 Changes/Files 面板改进。 +唯一数据源是 `apps/desktop/src/entities/release/changelog.ts` 的 `changelogReleases`。内容随应用打包,因此断网也能阅读;不会在打开设置时请求 GitHub。当前构建收录 v0.0.1 至 v0.2.0,最新条目随 v0.2.0 发布。v0.2.0 的中文说明见 [发布说明](release/0.2.0.md),涵盖内置 Pi 1.0.4(更省 token 的 codemode 与图片生成)、Azure provider 改名为 `azure` 及 Foundry 聊天模型、MCP 按服务器分别登录、codemode 暴露方式合并,以及安装版 OAuth token 过期后无法刷新的修复。v0.1.0 的中文说明见 [发布说明](release/0.1.0.md),涵盖 MCP 设置、内置 Pi 0.99.1 与 codemode/tool_search/MCP、嵌套工具调用、Linux x64 安装包、每次编辑的行数、聊天文件链接,以及 squircle 圆角和动态图标调整;也是首个按语义化版本选号的版本。v0.0.16 的中文说明见 [发布说明](release/0.0.16.md),涵盖技能与提示模板标签、工作区文件引用、worktree 基础分支选择、诊断信息复制,以及菜单排版、项目错误、provider 检查和会话恢复修复。v0.0.15 的中文说明见 [发布说明](release/0.0.15.md),涵盖内置 Pi 0.87.1、按账号过滤可用模型、provider 连接检查、设置页刷新模型目录、按 provider 全选及模型选择器与设置页对齐。v0.0.14 的中文说明见 [发布说明](release/0.0.14.md),涵盖内置 Pi 0.86.0、会话内上下文变更通知、About 页 Pi 版本、首页 Pi 品牌色、Draft→Live 单一 composer 及 Finder 启动下的包管理修复。v0.0.13 的中文说明见 [发布说明](release/0.0.13.md),涵盖设置页列出全部 Pi provider、Radius 登录及 provider 卡片品牌标与过滤。v0.0.12 的中文说明见 [发布说明](release/0.0.12.md),涵盖排队消息拖拽重排与 steer、会话自动命名、Browser 空白启动及中断 run 结清修复。v0.0.11 的中文说明见 [发布说明](release/0.0.11.md),涵盖 Usage 成本驾驶舱、内置 Pi 0.85.1 及会话创建时的模型选择修复。v0.0.10 的中文说明见 [发布说明](release/0.0.10.md),涵盖 Trajectory 子会话深链、子代理停止控制及 Dock 提示位置修复。v0.0.9 的中文说明见 [发布说明](release/0.0.9.md),涵盖历史会话即时回放、根会话进程隔离及后台扩展免系统 Node。v0.0.8 的中文说明见 [发布说明](release/0.0.8.md),涵盖工具图标恢复静态、失败工具单行摘要及输入框层级修复。v0.0.7 的中文说明见 [发布说明](release/0.0.7.md),涵盖 Shell 动画图标、双栏 Header 对齐、Live Chat 抢占修复及系统 Node 支持后台扩展。v0.0.6 的中文说明见 [发布说明](release/0.0.6.md),涵盖会话列表按最近提交排序、列表头部简化及投影状态和标题宽度修复。v0.0.5 涵盖聊天文件链接、工作区自动刷新、会话恢复提示及界面和日志修复。v0.0.4 根据 [正式发布记录](https://github.com/BubblePtr/pace/releases/tag/v0.0.4) 和 [v0.0.3 至 v0.0.4 的实际改动](https://github.com/BubblePtr/pace/compare/v0.0.3...v0.0.4) 整理,UTC 发布日期为 2026-09-10,涵盖 Packages 市场、资源管理及 Changes/Files 面板改进。 页面文案沿用应用现有的英文界面。仅展示已发布功能,不把主干上的未发布变更或开发计划计入历史版本。每个版本附原始 GitHub Release 链接;桌面端通过已有 `browser_open_external` 通道打开系统浏览器,失败时在链接下提示重试。 diff --git a/docs/release/0.2.0.md b/docs/release/0.2.0.md new file mode 100644 index 00000000..2cd60944 --- /dev/null +++ b/docs/release/0.2.0.md @@ -0,0 +1,36 @@ +# Pace 0.2.0 + +发布日期:2026-10-07 + +这个版本内置 Pi 1.0.4,并修复了已登录的 provider 在 token 过期后无法继续使用的问题。按 [版本号规则](macos.md#怎么选版本号),内置 Pi 升级带来新能力、Azure provider 改名属于配置变更,因此提升 minor。 + +## 升级须知 + +- **Azure 用户需要改名**:Pi 1.0.3 把 Azure provider 从 `azure-openai-responses` 改名为 `azure`。请把 `~/.pi/agent/auth.json`、`models.json` 和 `settings.json`(`defaultProvider`、`enabledModels`、`modelThinkingLevels`)里的旧名改成 `azure`,或在 Settings → Providers 重新填写 Azure 凭据。用旧 provider 的会话恢复时会换到其他模型,提示缓存不会复用。`AZURE_OPENAI_*` 环境变量不变。 + +## 新功能 + +- 内置 Pi 1.0.4(原为 0.99.1):codemode 的提示 token 减少约 40%,出错时会告诉模型怎么恢复。脚本可以用 `models.generateImages()` 生成图片,每张图片同时写入临时文件;`tools.read()` 读取图片文件时返回图片。 +- Azure Foundry 聊天模型:`azure` provider 也支持 Foundry Chat Completions 部署,首个是 `azure/deepseek-v4-pro`。 + +## 改进 + +- MCP 按服务器分别登录:MCP 的 OAuth 凭据改为按服务器名和 URL 存储,同一个 URL 的两个服务器可以用不同账号。已有的登录会自动迁到第一个使用它的服务器,Settings → MCP 显示的登录状态也随之更新。 +- codemode 暴露方式合并:`codemode` 现在通过 `searchTools()` 查找服务器的工具,单独的 `codemode-deferred` 选项已移除;已设为 `codemode-deferred` 的服务器按 `codemode` 继续工作。 + +## 修复 + +- OAuth token 过期后无法刷新:安装版在 Radius、ChatGPT、GitHub Copilot、Kimi 等 OAuth 登录的 token 过期后,会报 “Provider authentication failed”,实际原因是打包产物里缺少 Pi 的刷新模块(`Cannot find module …/radius.js`)。现在打包时只保留一份 Pi SDK,token 过期后会自动刷新,构建也会检查这一点,防止再次回归。 + +## 已知限制 + +- 在聊天里输入 `/mcp login` 仍无法登录,请改用 Settings → MCP 的 **Sign in**。 +- 会话启动时的 MCP 连接问题暂不会在会话内提示,需到 Settings → MCP 查看([#416](https://github.com/BubblePtr/pace/issues/416))。 + +## 安装与升级 + +- macOS:支持 Apple Silicon Mac,要求 macOS 12 或更高版本。首次安装请下载 `Pace-0.2.0-arm64.dmg`。 +- Linux:支持 x64。推荐下载 `Pace-0.2.0-x64.AppImage`,加上可执行权限后运行;Debian / Ubuntu 也可以安装 `Pace-0.2.0-x64.deb`。详见 [Linux 打包与发布](linux.md)。 +- 已安装用户(macOS 与 Linux AppImage)可在 Settings → About & Updates 点击 **Check for updates**;下载完成后点击 **Restart to update**。 + +[完整变更](https://github.com/BubblePtr/pace/compare/v0.1.0...v0.2.0) diff --git a/package.json b/package.json index dfaed161..f9acf3be 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "pace", "private": true, "license": "Apache-2.0", - "version": "0.1.0", + "version": "0.2.0", "type": "module", "workspaces": [ "apps/*",