diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 86166b97..3af21b62 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@pace/desktop", - "version": "0.2.1", + "version": "0.3.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 96199085..ea1674f7 100644 --- a/apps/desktop/src/entities/release/changelog.ts +++ b/apps/desktop/src/entities/release/changelog.ts @@ -14,6 +14,30 @@ export type ChangelogRelease = { // Ship release notes with the app so the history is also available offline. export const changelogReleases: readonly ChangelogRelease[] = [ + { + version: "0.3.0", + date: "2026-10-10", + title: "Comment on pages in the browser", + summary: "Annotate pages in the embedded browser: click an element or drag over an area, write a comment, and send it to Pi with a cropped screenshot of exactly what you marked.", + url: "https://github.com/BubblePtr/pace/releases/tag/v0.3.0", + changes: [ + { + kind: "added", + title: "Browser comments", + description: "Turn on Annotate in the Browser panel (Cmd/Ctrl+Shift+A) and click an element to write a comment. Enter saves it and keeps annotating, Shift+Enter adds a line, and Cmd/Ctrl+Enter saves and sends. Each comment appears in the composer under Browser comments and is sent after your message with a cropped screenshot; removing its chip deletes it.", + }, + { + kind: "added", + title: "Drag to comment on an area", + description: "In annotation mode, drag over part of a page to comment on that area instead of a single element. The screenshot is cropped around the area, and Pi is told where it sits in the screenshot and in the page.", + }, + { + kind: "improved", + title: "Comments survive reloads", + description: "Comments belong to the Session, not the page. Reloading or returning to the same URL puts the markers back; if the element is gone, the comment is marked stale and can still be sent with its original screenshot. Comments are discarded when the window closes.", + }, + ], + }, { version: "0.2.1", date: "2026-10-07", diff --git a/bun.lock b/bun.lock index f8a177ed..3e8fdf7f 100644 --- a/bun.lock +++ b/bun.lock @@ -46,7 +46,7 @@ }, "apps/desktop": { "name": "@pace/desktop", - "version": "0.2.1", + "version": "0.3.0", "dependencies": { "@astryxdesign/cli": "^0.3.0", "@astryxdesign/core": "^0.3.0", diff --git a/docs/changelog.md b/docs/changelog.md index 4caf6ea7..232205cb 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.2.1,最新条目随 v0.2.1 发布。v0.2.1 的中文说明见 [发布说明](release/0.2.1.md),修复 0.2.0 发消息后窗口崩溃(React error #185)和模型选择器飞出层不关闭。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 面板改进。 +唯一数据源是 `apps/desktop/src/entities/release/changelog.ts` 的 `changelogReleases`。内容随应用打包,因此断网也能阅读;不会在打开设置时请求 GitHub。当前构建收录 v0.0.1 至 v0.3.0,最新条目随 v0.3.0 发布。v0.3.0 的中文说明见 [发布说明](release/0.3.0.md),新增内置浏览器的页面评论:点击元素或拖动框选区域写评论,以结构化附件连同局部截图发给 Pi,刷新或回到同一 URL 后评论保留。v0.2.1 的中文说明见 [发布说明](release/0.2.1.md),修复 0.2.0 发消息后窗口崩溃(React error #185)和模型选择器飞出层不关闭。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.3.0.md b/docs/release/0.3.0.md new file mode 100644 index 00000000..68291371 --- /dev/null +++ b/docs/release/0.3.0.md @@ -0,0 +1,28 @@ +# Pace 0.3.0 + +发布日期:2026-10-10 + +本版新增内置浏览器的页面评论,属于用户可感知的新功能,按 [版本号规则](macos.md#怎么选版本号) 提升 minor。没有数据或配置迁移,直接升级即可。 + +## 新功能 + +- 浏览器评论:在 Browser 面板打开 **Annotate**(`Cmd/Ctrl+Shift+A`),点击页面元素就能写评论。`Enter` 保存并继续标注,`Shift+Enter` 换行,`Cmd/Ctrl+Enter` 保存并立即发送。每条评论以芯片形式出现在 composer 的 **Browser comments** 分组里,发送时排在你的消息之后,并附上只截取被标注部分的截图;移除芯片即删除评论。点已保存的元素或编号徽章可以修改或删除。 +- 区域框选:标注模式下按住拖动,可以评论页面上的一块区域,而不只是单个元素。截图围绕该区域裁剪,发给 Pi 的文字会说明区域在截图里和页面里的位置。 + +## 改进 + +- 刷新后评论还在:评论归属 Session,不随页面丢失。刷新或回到同一 URL 时标记会回到原位;原元素找不到时评论标为 stale(芯片显示为黄色),仍可连同保存时的截图一起发送。关闭窗口或退出应用后评论清空,不落盘。 + +## 已知限制 + +- 每个 Session 最多保存 200 条浏览器评论;每条评论各带一张截图,评论多时会占用较多上下文。 +- 在聊天里输入 `/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.3.0-arm64.dmg`。 +- Linux:支持 x64。推荐下载 `Pace-0.3.0-x64.AppImage`,加上可执行权限后运行;Debian / Ubuntu 也可以安装 `Pace-0.3.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.2.1...v0.3.0) diff --git a/package.json b/package.json index e34bcb99..434c533e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "pace", "private": true, "license": "Apache-2.0", - "version": "0.2.1", + "version": "0.3.0", "type": "module", "workspaces": [ "apps/*",