diff --git a/FEATURES.md b/FEATURES.md index 7baa2508..84f58355 100644 --- a/FEATURES.md +++ b/FEATURES.md @@ -8,8 +8,11 @@ otherwise. ## Status -- [x] Available -- [ ] In development or planned, as described by the item +- [x] Completed +- [ ] To implement + +Status describes implementation, not publication or test coverage. Validation +records are listed separately and do not introduce another feature status. ## Feature Matrix @@ -21,7 +24,7 @@ otherwise. packages target compatible x64 and arm64 environments, including UOS, Kylin, Hygon, Zhaoxin, Kunpeng, and Phytium systems. This is not vendor certification. LoongArch has a separate experimental loong64 preview outside standard - releases and automatic updates; no preview is planned for 0.13.2. See the + releases and automatic updates; no preview is planned for 0.13.5. See the [preview boundaries](./docs/development/loongarch-preview-build.md). - [x] **Configurable global shortcut**: Enable, disable, or record an Electron accelerator under Platform Features / General. The default remains @@ -40,8 +43,8 @@ otherwise. running conversations and conversations needing attention across projects, including older conversations with live work. Anchored project-to-conversation menus provide keyboard navigation and exact conversation opening without a - full activity dialog. The summary remains visible when idle, and project - selection continues to show activity counts. + full activity dialog. The summary hides when idle, long conversation submenus + scroll independently, and project selection continues to show activity counts. - [x] **Compact conversation controls**: Composer options share a compact settings panel while Runtime, mode, sending, and queue controls remain available. Conversation search has an inline clear action that restores the @@ -51,6 +54,12 @@ otherwise. files into the chat composer with `Ctrl+V` to add attachments, using the same parsing progress and limits as the attachment button. Text and screenshot paste remain available. See [attachment rules](./docs/features/document-processing/prd.md#321-聊天附件入口). +- [x] **Text recognition in image-based PPTX files**: With local OCR configured + and an OCR-enabled parsing workflow, embedded PNG, JPEG, and WebP images are + recognized alongside native text, retaining slide locations. OCR releases + model memory after 60 seconds without active or queued work and reloads on + demand; fast text/index modes still skip OCR. See the + [parsing behavior and real-file evidence](./docs/features/document-processing/chat-attachments-technical-design.md). - [x] **Per-file workspace diffs**: Changed files expose separate staged and unstaged diffs, including deleted, renamed, and untracked files. Refresh reloads the selected diff, browsed directory, and expanded directories; more than 50 changes @@ -79,7 +88,8 @@ otherwise. citation metadata. Full-conversation copy uses the same validated Preload/Main clipboard path. - [x] **Assistant workbar, multiple terminals, and resizable layouts**: The - right workbar uses a persistent “+” capability catalog and application tabs. + toggle sits beside the theme switch. The right workbar uses a persistent “+” + capability catalog and application tabs. Task Center and Workspace are permanent singleton tabs; browser tabs are independent instances. Task Center can show the current project, global tasks, or all projects, and retains the selected scope with the layout. @@ -121,7 +131,7 @@ otherwise. The first upgrade automatically converts existing history and reclaims disk space, with visible progress and quit/retry support. Chats, execution details, results, and remote event deduplication are preserved; older clients cannot - reopen the upgraded database. The 0.13.2 candidate's schema-35 repair also handles + reopen the upgraded database. The schema-35 repair released in 0.13.2 also handles repeated tool blocks written after upgrading to 0.13.1, without deleting events. Terminal tasks release their write caches; duplicate remote replay does not rebuild a released cache. See @@ -137,6 +147,22 @@ otherwise. take priority. Missing editing support does not block text-based generation: the affected reply shows a quiet footer explaining that reference images were not used. See [image generation](./docs/features/image-generation/README.md). +- [x] **Image tools in the current conversation**: + Enable conversation access for an image model to let tool-capable chat models + generate images and edit uploads or earlier artifacts in Execute, without a + separate conversation or manually switching to an image model. Direct text + models, local OpenCode, Continue, DeepSeek Harness, and managed remote OpenCode + use the shared service; Runtime assignment is derived from model settings. + Requests may incur provider charges and editing requires provider support. + See the [implementation and validation records](./docs/features/conversation-media-generation/progress.md). +- [x] **Cross-project Runtime process reuse**: Compatible local OpenCode and + DeepSeek Harness configurations share heavyweight processes; managed OpenCode + sessions share a process on the same Host. Project adapters and session + workspaces, models, tools, questions, and cancellation stay independently + routed. Remote pending questions and task status recover after reconnect or + Desktop restart without resending accepted prompts. Requires Desktop `0.13.5` + and Agent `0.13.0` together for the new remote behavior. See the + [design and measured validation](./docs/features/assistant-workbar/runtime-process-reuse-technical-design.md). - [x] **Direct model programming agent**: Local direct text models can run the platform Shell in Execute mode and delegate one level of programming Subagent work while inheriting the parent request's mode, model, workspace, @@ -157,7 +183,7 @@ otherwise. credential without starting a throwaway server; the explicit settings test, native inventory still performs full startup and health checks, then shares that execution Runtime with the first real request instead of cold-starting - another server. Execution Runtimes remain reusable per project, while local + another server. Execution Runtime adapters remain reusable per project, while local OpenCode configuration dependencies and content-addressed Skill snapshots are shared globally across projects. Session data, tool output, and request-scoped MCP state remain isolated. GoodBuddy-managed local OpenCode keeps @@ -231,7 +257,7 @@ otherwise. failure, Agent `SIGKILL`/restart, and recovery from a reopened Desktop SQLite database. Successful tool START/END events appear exactly once, with no Prompt, provider, or tool replay observed. The current Agent source lock is - `0.11.25`, while the current Desktop release candidate is `0.13.2`; formal + `0.13.0`, while the current Desktop release candidate is `0.13.5`; formal publication status follows the separate Agent and Desktop release channels. Previous macOS validation covered native package installation, detached lifecycle, Attach, real Ask/Execute, and cancellation of tools in @@ -267,7 +293,7 @@ otherwise. demand and run a fixed `attach-or-bootstrap`; registered health, capabilities, and prompt startup do not scan the full payload. See the [design](./docs/features/remote-host/environment-provisioning-technical-design.md). -- [ ] **Real-Host acceptance for SSH Host environment provisioning**: The +- **SSH Host environment provisioning validation records**: The current source passed isolated Linux x64 package installation, Ask/Execute, native subagent external writes, reconnection, and stop/bootstrap. The complete Host-card acquisition matrix across GitHub, Beijing mirror, @@ -462,7 +488,7 @@ otherwise. installation validation on Windows x64. Managed Python archive validation follows the target filesystem: Linux preserves valid case-distinct paths, while every target still rejects exact duplicates and unsafe entries. -- [ ] **Local tool-execution environment release acceptance**: All six +- **Local tool-execution environment validation records**: All six platform/architecture OSS mirror objects have passed public byte, size, and SHA-256 verification. Managed Python remains an on-demand download and does not add license files to the Desktop package. Each standard package job uses @@ -512,7 +538,7 @@ otherwise. index, or modify remote content. Bounded cited snippets are retained locally with their conversations. See the [external knowledge-base PRD](./docs/features/knowledge-base/external-knowledge-prd.md). -- [ ] **External knowledge-base acceptance**: All three providers have passed +- **External knowledge-base validation records**: All three providers have passed real service, local HTTP MCP, and production-IPC short-answer checks; Dify additionally passed the complete App composer-to-answer-and-citation path. FastGPT/RAGFlow desktop-specific parameters, complex multi-library answers, @@ -676,6 +702,9 @@ otherwise. (default) or the mirror. Manual checks, startup checks, and the download page use the same choice and read only fixed trusted release indexes; GoodBuddy does not automatically download or install updates. +- [x] **Window recovery controls**: Rendering errors show a localized Reload + action and renderer crashes offer a native recovery confirmation. Reload may + lose unsaved input. See [window recovery](./docs/development/window-recovery.md). - [x] **In-app feedback**: About and Updates can submit problems, suggestions, or experience feedback with an optional email and one screenshot. Diagnostics are not uploaded by default; users can explicitly attach a @@ -690,18 +719,26 @@ otherwise. ### Open source, builds, and releases -- Current source candidates are Desktop `0.13.2` and Agent `0.11.25`, with +- Current source candidates are Desktop `0.13.5` and Agent `0.13.0`, with OpenCode pinned to `1.18.29`. Publication status follows the independent Desktop and Agent release channels. -- Agent `0.11.25` is a maintenance release without standalone remote feature - changes, and its packages require Desktop `0.13.2`. The desktop storage repair - also works with Agent `0.11.24`; updating Agent is not a substitute for updating Desktop. -- Candidate acceptance remains separate from version preparation. Current-source +- Agent `0.13.0` adds remote image-tool integration and shared Runtime processes + with conversation recovery fixes. Its packages require Desktop `0.13.5`; + update Desktop first, then the Host environment. Node remains `24.19.0`. +- Validation records remain separate from implementation status. Current-source storage validation covers real local and Linux x64 Host tool workloads, concurrent projects/conversations, cancellation, and lossless database migration. - Windows tool summaries and DeepSeek path handling have real full-App evidence; - the release candidate still requires main CI and native release packaging. See the - [validation evidence](./docs/features/assistant-workbar/progress.md). + Runtime process reuse has real Windows full-App and Linux x64 Host evidence; + PPTX OCR and idle-memory release have real Windows file evidence. Image tools + have real provider generation/editing and Host transport evidence. Full + UI-driven natural-language invocation and local/remote switching are not + covered by those records. The candidate still requires main CI and + native release packaging. See the [Runtime evidence](./docs/features/assistant-workbar/progress.md) + and [image-tool evidence](./docs/features/conversation-media-generation/progress.md). +- Candidate checks on 2026-09-15 passed: bilingual release notes, `npm test` + (4,293 passed, 67 skipped), `npm run typecheck`, and `npm run lint`. + This metadata/documentation preparation made no new real model calls and did + not rerun Host scenarios or build local production packages. - [x] **0BSD open-source license**: Original code can be freely used, copied, modified, distributed, and commercialized. Third-party components and resources retain their own licenses. @@ -732,7 +769,7 @@ otherwise. artifact API with scoped, expiring, rate-limited, and revocable tokens. - [ ] **GoodBuddy Team Hub** (planned): An optional service for organizations, RBAC, project sharing, remote Agents, policy distribution, and tenant audit. -- [ ] **SSH Host and remote execution-space release acceptance**: Host CRUD, +- **SSH Host and remote execution-space validation records**: Host CRUD, Host Key, encrypted credentials, Project UI, Workspace, OpenCode ACP v5, Agent-owned Prompt/gateway/transcript, read-only Ask, full-account Execute, cancellation, exact detached-Agent reconnection, and release-only diff --git a/FEATURES.zh-CN.md b/FEATURES.zh-CN.md index 29c08f5d..1dd1d009 100644 --- a/FEATURES.zh-CN.md +++ b/FEATURES.zh-CN.md @@ -6,25 +6,28 @@ ## 状态说明 -- [x] 已提供 -- [ ] 开发中或规划中,具体以条目标注为准 +- [x] 已完成 +- [ ] 待实现 + +状态表示功能实现情况,不等同于版本已发布或全部测试已执行。验证记录单独列出,不作为第三种功能状态。 ## 功能总表 ### 桌面基础、工作空间与上下文 - [x] **跨平台桌面应用**:支持 Windows、macOS、Linux,以及 `x64`、`arm64` 发布目标。 -- [x] **信创软硬件覆盖**:正式 Linux 安装包覆盖国产 `x64` 与 `arm64` 架构,可用于统信 UOS、银河麒麟及海光、兆芯、鲲鹏、飞腾等兼容环境。龙芯 LoongArch 另行提供 `loong64` 实验预览版,不属于正式发布矩阵,也未纳入自动更新;`0.13.2` 不构建该预览。这里的覆盖范围不等同于厂商或整机兼容认证,具体状态与限制见[龙芯预览版构建说明](./docs/development/loongarch-preview-build.md)。 +- [x] **信创软硬件覆盖**:正式 Linux 安装包覆盖国产 `x64` 与 `arm64` 架构,可用于统信 UOS、银河麒麟及海光、兆芯、鲲鹏、飞腾等兼容环境。龙芯 LoongArch 另行提供 `loong64` 实验预览版,不属于正式发布矩阵,也未纳入自动更新;`0.13.5` 不构建该预览。这里的覆盖范围不等同于厂商或整机兼容认证,具体状态与限制见[龙芯预览版构建说明](./docs/development/loongarch-preview-build.md)。 - [x] **可配置全局快捷唤起**:在“平台功能 / 通用设置”中启停或录制 Electron accelerator;默认保留 `CommandOrControl+Shift+Space`,冲突或保存失败时继续使用上一组已注册快捷键,并显示可处理的状态。 - [x] **Projects、独立对话与会话分支**:按项目隔离上下文,管理会话、附件和 Git 工作区变更;本地会话可在稳定状态下复制当前聊天内容到独立分支,分支持续显示来源徽标且不复制 Task、队列或成果归属;项目选择器区分本地、托管 SSH 与远程消息通道项目,托管 SSH 项目按 Host 分组并在 Host 标题显示真实 Agent 连接状态,项目行只保留远端路径。 -- [x] **跨项目会话活动**:统一入口汇总各项目正在运行和需要处理的对话,保留仍有活动的较早会话。锚定的“项目 → 会话”菜单支持键盘导航和精确打开对话,不再使用整块活动弹窗;空闲时摘要入口仍显示,项目选择器继续显示活动数量。 +- [x] **跨项目会话活动**:统一入口汇总各项目正在运行和需要处理的对话,保留仍有活动的较早会话。锚定的“项目 → 会话”菜单支持键盘导航和精确打开对话,不再使用整块活动弹窗;空闲时隐藏摘要,长会话子菜单独立滚动,项目选择器继续显示活动数量。 - [x] **紧凑会话控件**:输入选项集中在紧凑设置面板,Runtime、工作模式、发送和队列操作保持可用;会话搜索提供内嵌清除按钮,清除后恢复当前范围列表并把焦点返回输入框。 - [x] **文件、截图、窗口、剪贴板上下文**:用户明确选择后才加入模型上下文。聊天输入框支持 `Ctrl+V` 粘贴一个或多个本地支持文件并自动添加为附件,沿用附件按钮的解析进度与限制;普通文本和截图仍可直接粘贴。详见[聊天附件规则](./docs/features/document-processing/prd.md#321-聊天附件入口)。 +- [x] **图片型 PPTX 文字识别**:配置本地 OCR 并选择启用 OCR 的解析方式后,可识别内嵌 PNG、JPEG 和 WebP 图片,保留原生文字与幻灯片定位。OCR 在没有活动或排队任务时空闲 60 秒自动释放模型内存,下次按需重载;快速文本/索引模式仍跳过 OCR。详见[解析行为与真实文件验证](./docs/features/document-processing/chat-attachments-technical-design.md)。 - [x] **工作区单文件差异**:变更文件可分别查看已暂存和未暂存差异,覆盖删除、重命名和未跟踪文件;刷新会重读当前差异、当前浏览目录和已展开目录,超过 50 项变更可继续加载。 - [x] **工作区文件与 Git 管理**:支持文件和目录的新建、重命名、移动、删除、属性查看,以及本地/远程分支搜索与切换、新建分支、显式 Fetch、提交历史和单文件提交差异。工具按文件/Git 视图分组,分支搜索使用统一紧凑表单,子目录保留文字导航而根目录不再显示孤立图标。提交历史贴底,首次展开占 Git 内容区一半,支持调整比例、独立滚动和统一刷新;切换项目自动检测 Git,不沿用其他项目状态。移动限于工作区内,删除须确认,分支冲突不自动 stash 或丢弃改动;托管 SSH 操作需要 Agent `0.11.23`。 - [x] **富文本回答**:支持 GitHub Flavored Markdown、LaTeX 数学公式、受控 Mermaid 图表和会话内 HTML 静态预览。Agent 完成回复后,完整 HTML 与 HTML 代码块可在原位置预览,并通过图标按钮查看源码或打开全屏预览;该能力默认开启,可在“平台功能 / 通用设置”关闭,预览不执行脚本、联网、表单提交或窗口操作。 - [x] **AI 回复与完整会话复制**:已完成的 AI 回复可从消息底部复制不含推理、工具日志和引用元数据的 Markdown 原文;完整会话复制复用同一条经过 Preload/Main 校验的剪贴板路径。 -- [x] **助手工作栏、多终端与可调布局**:右侧工作栏使用持久“+”能力目录和应用 Tab;任务中心与工作区为不可关闭的单实例,浏览器可打开多个独立实例。任务中心可切换当前项目、全局任务和全部项目,范围随布局保存。用户可为当前本机或托管 SSH 项目打开多个独立终端,获得有界输出、调整尺寸、结束与显式重连。关闭终端 Tab 会结束 Shell,应用重启只恢复已结束的 Tab 描述,不自动重启 Shell。主侧栏和魔法笔记列表支持鼠标与键盘调宽,魔法笔记列表可隐藏并记住布局,窄宽度下自动堆叠。 +- [x] **助手工作栏、多终端与可调布局**:工作栏开关位于明暗主题按钮旁;右侧工作栏使用持久“+”能力目录和应用 Tab,任务中心与工作区为不可关闭的单实例,浏览器可打开多个独立实例。任务中心可切换当前项目、全局任务和全部项目,范围随布局保存。用户可为当前本机或托管 SSH 项目打开多个独立终端,获得有界输出、调整尺寸、结束与显式重连。关闭终端 Tab 会结束 Shell,应用重启只恢复已结束的 Tab 描述,不自动重启 Shell。主侧栏和魔法笔记列表支持鼠标与键盘调宽,魔法笔记列表可隐藏并记住布局,窄宽度下自动堆叠。 - [ ] **项目 Agent Space**(规划中):在 Project 中统一角色、知识、Skills/MCP、模型、审批策略、预算和超时,并支持模板复用。 - [ ] **应用导航与系统工具快捷入口**(仅设计):规划固定系统入口、内置应用显隐和打开现有工作栏的底部工具按钮;尚未实现新界面。详见[设计文档](./docs/features/application-tool-navigation/README.md)。 - [ ] **通用助手工作栏与执行空间后续能力**(规划中):在现有工作栏和多终端基础上继续加入监督、统一 Runtime、受管进程、静态安全 HTML 预览、可固定目标的工作区/浏览器/成果实例、底部停靠与独立窗口。Task Center 保持 Task 的单例索引,附件与知识库继续由会话输入区管理,未来的记忆与历史执行上下文归入关联 Task。详见 [Feature PRD](./docs/features/assistant-workbar/prd.md)。 @@ -32,16 +35,18 @@ ### Agent Runtime 与模型连接 -- [x] **子任务历史去重与空间回收**:本机与托管 SSH 子任务事件只存变化,不再反复保存完整进度。首次升级自动转换旧记录并回收空间,显示进度且支持退出重试;保留聊天、执行详情、结果和远程事件去重。0.13.2 候选的 schema 35 补修还会整理升级到 0.13.1 后重复写入的工具块,不删除事件;终态及时释放写入缓存,远程重复重放不重建已释放的缓存。旧客户端不能打开升级后的数据库,具体规则见[执行记录存储与升级回收](./docs/features/assistant-workbar/execution-history-storage.md)。 +- [x] **子任务历史去重与空间回收**:本机与托管 SSH 子任务事件只存变化,不再反复保存完整进度。首次升级自动转换旧记录并回收空间,显示进度且支持退出重试;保留聊天、执行详情、结果和远程事件去重。已随 0.13.2 发布的 schema 35 补修还会整理升级到 0.13.1 后重复写入的工具块,不删除事件;终态及时释放写入缓存,远程重复重放不重建已释放的缓存。旧客户端不能打开升级后的数据库,具体规则见[执行记录存储与升级回收](./docs/features/assistant-workbar/execution-history-storage.md)。 - [x] **直连模型 Runtime**:支持问答、知识总结、受控工具执行、图像生成,以及通过支持 OpenAI 兼容图片编辑接口的服务商进行参考图编辑。连续请求自动复用最近一次成功生成的图片和文字历史,已保存会话重开后仍可继续修改,本轮显式附图优先;上游明确不支持编辑时继续按文字生成,仅在回复底部提示未使用参考图。编辑使用 multipart 上传图片,结果仍只接受经过校验的内联图片,不下载服务商返回的图片 URL。详见[图片生成与连续修改](./docs/features/image-generation/README.md)。 +- [x] **当前会话图片工具**:为图片模型开启会话调用后,支持工具调用的聊天模型可在 Execute 中生成图片、修改上传图片或历史成果,无需另开会话或手动切换图片模型。直连文本模型、本地 OpenCode、Continue、DeepSeek Harness 和托管远程 OpenCode 复用统一服务,Runtime 分配由模型设置派生;图片请求可能产生费用,编辑需服务商支持。详见[实现与验证记录](./docs/features/conversation-media-generation/progress.md)。 +- [x] **跨项目 Runtime 进程复用**:兼容配置的本地 OpenCode 和 DeepSeek Harness 共享重型进程,托管 OpenCode 会话在同一 Host 上复用进程。项目适配器及会话的工作区、模型、工具、问答和取消仍独立路由;远程待答问题和任务状态可在重连或桌面重启后恢复,不重发已接受请求。新的远程行为需要 Desktop `0.13.5` 与 Agent `0.13.0` 配套更新,详见[设计与实测](./docs/features/assistant-workbar/runtime-process-reuse-technical-design.md)。 - [x] **直连模型编程 Agent**:本机直连文本模型可在 Execute 模式运行平台 Shell,并可按父请求模式、模型、工作区和能力范围委派一层编程 Subagent;OpenCode、Continue、DeepSeek Harness 和托管 SSH 不重复注入这两个工具。Windows 本机命令与真实模型“修改、测试、修复、复核”闭环已通过,macOS 与 Linux 真机命令仍待对应平台验收。 - [x] **高效直连模型工作区工具**:直连模型使用随包 ripgrep 紧凑地发现文件和搜索内容,按行分页读取大型 UTF-8 文件,并在 Execute 中应用多文件补丁。Ask 可以搜索和读取,但不能应用补丁或运行命令;用户无需另行安装 ripgrep。可处理的读取或搜索错误允许模型调整参数后继续,部分搜索结果保留并明确提示覆盖不完整。 - [x] **长上下文与工具输出分页**:历史消息、长回复和文档解析文本不再采用旧的固定截断限制。直连模型可分页续读已保存的命令和 Subagent 输出;所选模型的上下文窗口及传输边界仍然有效。 - [x] **OpenCode 与 Continue**:使用隔离子进程、环境变量白名单、统一配置、取消、启动与控制请求时限、有界流式输出和活动记录;共享进程回收逻辑保留 Windows 完整进程树终止,并对采用独立进程组的 POSIX 子进程执行组回收。聊天状态检查使用一次性探测 Runtime 并在返回后立即回收,不进入按模型与项目隔离的执行 Runtime 缓存;本机 GoodBuddy 管理的 OpenCode 在该被动检查中只确认所选路径和模型凭据,不启动用后即毁的 Server,设置中的显式连接测试和原生能力清单仍执行完整启动及健康检查,原生能力清单随后与首次实际请求复用同一个执行 Runtime,不再重复冷启动;执行 Runtime 仍按项目复用,但 OpenCode 配置依赖和按内容摘要生成的 Skill 快照在所有本机项目间全局复用,会话数据、工具输出及请求级 MCP 状态继续隔离。本机 GoodBuddy 管理的 OpenCode 只对同一会话内的请求保持顺序,不同会话即使属于同一项目也可并行,不同项目同样可并行;请求级动态 MCP 通过默认通配禁用和当前请求精确放行保持隔离。托管的本机和远端 OpenCode 跳过界面未使用的自动 Git 快照,避免同步差异计算拖住会话,文件工具、子代理与工作区 Git 差异保留;Continue 持续排空不用展示的宿主 stdout,防止控制台输出填满管道。这些调整随新启动的 Runtime 生效,不改写外部 OpenCode Server 配置。OpenCode 与 Continue 不再按固定工具调用数或活动数中止单次运行,已观察到的工具与 Subagent 活动全部保留在本地会话,不再在原生任务继续执行时丢弃后续详情。交互提问只由前台对话回答,定时任务、远程通道和委派等后台执行遇到提问时会立即失败并提示改为前台运行,避免无限等待。本机 OpenCode 启动时直接使用已选择的绝对路径,不预先检查文件或运行 `--version`,路径失效时由实际启动返回错误;托管 Linux ARM Host 激活 Runtime 时复用准备阶段已验证的 registry 和 manifest,不重新哈希或检查完整 OpenCode 二进制。 - [x] **托管 SSH OpenCode 闭环(技术预览)**:该能力由“设置 > 平台功能”中的独立“远程项目(技术预览)”页签控制并默认关闭;关闭时不影响本地项目、普通桌面功能或桌面发布。支持 Linux x64、Linux arm64 和 macOS arm64 Host,不支持 Intel Mac;通过 SSH 按需启动 detached Agent,不要求开机服务。Ask 在 Runtime 工具边界保持只读,Execute 使用所选 SSH 账号的完整权限。Agent 持有 Prompt、模型和工具轮次、Runtime 进程及语义 transcript,Desktop 断开后重新 Attach 原操作而不重发 Prompt;模型凭据仅在当前操作内存中使用,不写入 Renderer、SSH 参数、环境或磁盘。设置页按平台和架构显示包状态,用户显式下载、更新或导入/导出包含 Agent、固定 Node 和 OpenCode 的签名 `.gbagent`;三个目标共用一个签名 catalog,继续校验签名和 SHA-256。首次发布混合 catalog 前需先升级 Desktop,旧版 Linux-only 目录读取器无法解析包含 Darwin 的目录。macOS 原生安装、生命周期、Attach、真实 Ask/Execute 和独立进程组工具取消已在真实 Host 验证;这不等于新版本已经发布。详细运行边界和 Linux 历史回归证据见[远程主机技术设计](docs/features/remote-host/technical-design.md),正式发布状态以 Agent 与 Desktop 的独立发布渠道为准。 - [x] **SSH Host 手动环境准备源码链路**:Host Key、认证和系统探针成功后先保存 Host,并只读探测共享 Agent/Runtime;保存 Host、打开项目都不自动安装。Host 卡片只有一个按版本事实显示“安装远程环境”“更新远程环境”或“重新安装”的主按钮,次级 SegmentedControl 选择默认且不持久化的“自动”、Host 下载或 GoodBuddy 传输;“版本匹配”badge 不等同环境健康。自动模式只在 operation/prepare 前探测并择一,显式选择保持有效,任何 prepare、commit 或 adoption 失败都不跨 acquisition 自动 fallback。两种方式把同一签名 compound `.gbagent` 交付到固定 staging 后,共用 control-plane prepare、commit、Agent activate/health、Runtime activate、finalize 与显式 cleanup。GoodBuddy 路径可在同一次操作下载并验证缺失候选、缓存并取得 lease,再有界流式 SFTP 上传一个归档和其中已验证的 bootstrap Node,不把约 294 MiB 整包读入 Main `Buffer`;Host 在解包时完成一次完整 payload 校验。未完成操作只记录暂存 cleanup 所需的 operation ID;下次更新尽力清理旧暂存后重新 prepare,不保存远端 metadata 副本,也不让 cleanup 失败阻塞新更新或回滚健康环境。已有项目在实际使用 Workspace/Runtime 时按需解析 Host current identity 并执行固定 `attach-or-bootstrap`,注册后的 health、capabilities 和 prompt 启动不扫描完整 payload。详见 [设计说明](./docs/features/remote-host/environment-provisioning-technical-design.md)。 -- [ ] **SSH Host 环境准备真实 Host 验收**:当前源码已在隔离 Linux x64 环境通过包安装、Ask/Execute、原生子代理工作区外写入、重连及 stop/bootstrap。Host 卡片的完整 GitHub、北京镜像、Linux x64/arm64、取消和离线 GoodBuddy 传输矩阵仍待验收,候选 CI/原生打包与系统休眠唤醒也尚未验证;部分开发证据不代表已经发布。 +- **SSH Host 环境准备验证记录**:当前源码已在隔离 Linux x64 环境通过包安装、Ask/Execute、原生子代理工作区外写入、重连及 stop/bootstrap。现有记录未覆盖 Host 卡片的完整 GitHub、北京镜像、Linux x64/arm64、取消和离线 GoodBuddy 传输矩阵,候选 CI/原生打包与系统休眠唤醒也尚未验证;开发记录不代表版本已经发布。 - [x] **远程工作区与长任务更新**:Agent `0.11.23` 新增远程文件/Git 管理和可选模型限额,随包 Runtime 不再施加固定十分钟 Prompt 时限;无限请求时长仍保留独立连接超时。请先升级 Desktop 至 `0.12.11`,再下载并更新 Host 上的 Agent。 - [x] **远程原生问答与取消修复**:Agent `0.11.24` 修复远程原生问答转交和取消待答后同一会话续发,需要先升级 Desktop 至 `0.13.0`。 - [x] **DeepSeek Harness(预览)**:使用 GoodBuddy 固定 Host 和 OpenAI 兼容模型连接;优先使用管理员提供的连接,否则跟随兼容的默认模型或首个兼容连接,无需单独重复选择,设置页显示实际管理员或回退模型来源。Ask 只允许调用 Host 中真实注册的 `read`、`skill` 以及 Main 管理的 Web Search/Fetch 代理,拒绝插件同名冒充,Execute 放行全部已启用内置及插件工具,并以当前用户权限运行。图像输入跟随所选模型连接的能力声明,文本模型在 Host 或模型调用前拒绝图片,图片模型通过有界内联内容和临时 Attachment Store 接收 JPEG/PNG。Windows Host 启动和 ACP 会话共用规范工作区路径,同目录不同写法可复用正常 Runtime,不再因路径不一致而创建会话失败。 @@ -70,13 +75,13 @@ - [x] **Skills 按需接入**:可分配给直连模型、OpenCode、Continue 和 DeepSeek Harness,并使用有界资源和受控 Runtime 边界。 - [x] **本机工具执行环境源码链路**:在“能力与工具 > 工具执行环境”中为本机 Skills 与 stdio MCP 选择 GoodBuddy 托管 Node.js、按需安装的托管 Python,或经过真实验证的自定义解释器;提供独立的原生地址/OSS 镜像选择、诊断、安装进度、取消和删除。新的本机 Runtime 与 stdio MCP 获得不可变 PATH 快照,不修改普通终端、系统环境或远程 Host。Windows x64 托管 Node 与原生地址 Python 已通过真实安装验证;托管 Python 归档按目标文件系统验证,Linux 保留大小写不同的合法路径,所有目标仍拒绝完全重复路径和不安全条目。 -- [ ] **本机工具执行环境发布验收**:六个平台/架构的 OSS 镜像对象已完成字节、大小和 SHA-256 公开回读验证。托管 Python 保持按需下载,不向 Desktop 发行包额外带入许可证文件。每个标准打包任务使用目标架构原生 Runner,并在打包前真实安装托管 Python,验证 SSL、pip 与 venv。不可变的 `v0.12.0` 尝试在发布前通过 Windows 与 macOS,但暴露了 Linux TAR 大小写处理问题;`v0.12.1` 在同步 Agent 发布时于原生打包前取消。已发布的 `v0.12.2` 随后通过全部六个原生打包任务及其托管 Python 安装探针。真实 Skill/MCP、自定义解释器和运行中进程协调仍是待完成验收。 +- **本机工具执行环境验证记录**:六个平台/架构的 OSS 镜像对象已完成字节、大小和 SHA-256 公开回读验证。托管 Python 保持按需下载,不向 Desktop 发行包额外带入许可证文件。每个标准打包任务使用目标架构原生 Runner,并在打包前真实安装托管 Python,验证 SSL、pip 与 venv。不可变的 `v0.12.0` 尝试在发布前通过 Windows 与 macOS,但暴露了 Linux TAR 大小写处理问题;`v0.12.1` 在同步 Agent 发布时于原生打包前取消。已发布的 `v0.12.2` 随后通过全部六个原生打包任务及其托管 Python 安装探针。现有记录未覆盖真实 Skill/MCP、自定义解释器和运行中进程协调。 - [x] **内置 MCP 按需接入**:知识库、魔法笔记、GoodBuddy 配置与内置浏览器 MCP 可分别启停,并可分配给直连模型、GoodBuddy 管理的 OpenCode 和 Continue;DeepSeek Harness 在设置中明确显示为暂不支持。内置 MCP 仅通过当前请求的短期本机权限提供,Ask / Execute 读写边界不受用户配置放宽。 - [x] **MCP Tools**:显式启用的自定义 MCP 可按 Runtime 分配给直连模型、GoodBuddy 管理的 OpenCode、Continue Agent Execute 和 DeepSeek Harness,并仅在 Execute 加载;Agent 子进程只获得按请求签发的本机回环权限,MCP 地址、命令和凭据保留在 Main,动态工具仍经过发现、执行记录与权限边界。直连模型与 Harness 的健康调用复用当前请求已发现的工具清单,不在每次调用前重复发现。 - [x] **MCP Prompts 与 Resources 元数据**:MCP 测试仅在 Server 声明对应能力时发现有界的 Prompt、参数与 Resource 元数据,不读取 Resource 内容;Runtime 支持的 Prompt 可填入聊天草稿后继续编辑。OpenCode 可报告实验性 Resource 清单,Continue 当前版本明确不支持 Resources。 - [x] **本地知识库**:支持文件、目录和网页导入、SQLite FTS5 检索及来源追溯。知识范围按对话保存,新对话默认不选择知识库;创建与检索高级参数默认折叠。文档区分可用、处理中和失败,支持打开来源、失败重试及移除来源前确认。 - [x] **外部知识库接入**:在知识库页面管理 Dify、FastGPT 和 RAGFlow 实例,通过目录或手工 ID 验证并绑定远端知识库,保留 Provider 专属检索配置和引用;对话支持按需检索及每次回答前检索。外部系统只负责知识检索,不接入其 App、Chat、Workflow 或 Agent,也不批量同步、本地索引或修改远端内容。被回答引用的有界检索片段随会话保存在本机。详见[外部知识库接入 PRD](./docs/features/knowledge-base/external-knowledge-prd.md)。 -- [ ] **外部知识库验收**:三家 Provider 已通过真实服务、本机 HTTP MCP 和生产 IPC 短答案检查,Dify 另通过完整 App 输入区到回答及引用的链路。FastGPT/RAGFlow 桌面专属参数、复杂多库问答和远程回答前检索仍待验证,详见[验证证据与剩余工作](./docs/features/knowledge-base/progress.md)。 +- **外部知识库验证记录**:三家 Provider 已通过真实服务、本机 HTTP MCP 和生产 IPC 短答案检查,Dify 另通过完整 App 输入区到回答及引用的链路。现有记录未覆盖 FastGPT/RAGFlow 桌面专属参数、复杂多库问答和远程回答前检索,详见[验证记录](./docs/features/knowledge-base/progress.md)。 - [x] **知识图谱**:支持规则、模型和混合抽取,以及实体、关系、别名和证据维护。 - [x] **向量模型配置与检索**:可配置兼容 Embeddings 接口并用于语义检索。 - [x] **向量诊断与索引任务**:提供真实向量生成诊断、按文档重建进度、取消、失败状态与重启后结果恢复;每篇成功文档立即可用于检索。 @@ -116,14 +121,16 @@ - [x] **可选本地语音模型管理**:应用不内置模型权重;提供校验下载、进度与取消、来源链接、ZIP 或本地目录导入、切换和删除。 - [x] **本地录音与离线转写**:采集麦克风音频并使用已选择的本地模型离线转写,支持停止、取消、状态反馈和资源释放。 - [x] **版本检查与镜像节点**:在“关于与更新”中选择 GitHub(默认)或镜像节点;手动检查、启动时检查和下载页使用同一选择,并只读取固定可信的发布索引,不自动下载或安装。 +- [x] **窗口恢复入口**:渲染失败时显示本地化的重新加载页面,渲染进程崩溃时提供原生恢复确认;重新加载可能丢失未保存输入。详见[窗口恢复说明](./docs/development/window-recovery.md)。 - [x] **应用内反馈**:在“关于与更新”中直接提交问题、建议或体验反馈,支持可选邮箱和单张截图;默认不上传诊断,用户可主动附加有界的最近桌面诊断摘要。失败后保留草稿、诊断选择和同一请求编号;不会附加对话、Prompt、凭据、文件内容、路径、Provider 原始响应或远端 Agent 日志。 - [x] **内网兼容**:允许应用内 HTTP 与无效、自签名或过期的 HTTPS 证书;反馈、微信凭据与媒体等固定平台服务仍保持严格证书校验。 ### 开源、构建与发布 -- 当前源码候选为 Desktop `0.13.2`、Agent `0.11.25`,OpenCode 固定为 `1.18.29`;正式发布状态以 Desktop 与 Agent 的独立发布渠道为准。 -- Agent `0.11.25` 为维护版,不新增独立远端功能,复合包要求 Desktop `0.13.2`。桌面存储补修也适用于 Agent `0.11.24`,更新 Agent 不能代替升级 Desktop。 -- 候选验收与版本准备分别记录。当前存储源码已通过本地及 Linux x64 Host 真实工具任务、多项目多会话、取消和无损迁移验证;Windows 工具摘要与 DeepSeek 路径处理有完整 App 的真实模型证据。候选仍需主分支 CI 及原生发布打包,详见[验证记录](./docs/features/assistant-workbar/progress.md)。 +- 当前源码候选为 Desktop `0.13.5`、Agent `0.13.0`,OpenCode 固定为 `1.18.29`;正式发布状态以 Desktop 与 Agent 的独立发布渠道为准。 +- Agent `0.13.0` 接入远程图片工具、共享 Runtime 进程并修复会话恢复,复合包要求 Desktop `0.13.5`;请先升级 Desktop,再更新 Host 环境。Node 保持 `24.19.0`。 +- 验证记录与功能状态分开。存储已有本地及 Linux x64 Host 真实工具任务、多项目多会话、取消和无损迁移验证;进程复用有 Windows 完整 App 与 Linux x64 Host 证据,PPTX OCR 与空闲内存释放有 Windows 真实文件证据。图片工具已有真实服务商生成/编辑及 Host 传输证据,这些记录未覆盖完整界面自然语言调用和本地/远程切换。候选仍需主分支 CI 及原生发布打包,详见[Runtime 验证记录](./docs/features/assistant-workbar/progress.md)与[图片工具验证记录](./docs/features/conversation-media-generation/progress.md)。 +- 2026-09-15 候选检查通过:双语更新说明、`npm test`(4,293 项通过、67 项跳过)、`npm run typecheck`、`npm run lint`。本次版本元数据与文档准备新增真实模型调用为 0,未重跑 Host 场景或进行本地生产打包。 - [x] **0BSD 开源许可**:原创代码可自由使用、复制、修改、分发和商用;第三方组件和资源仍遵循各自许可证。 - [x] **可复现依赖安装与源码构建**:使用锁定依赖、Node.js 24 和统一的测试、类型检查、Lint、生产构建命令。 - [x] **六平台原生发布矩阵**:Windows、macOS、Linux 的 `x64`、`arm64` 目标由原生 Runner 构建,并提供发布清单和 SHA-256 哈希。Windows 提供 NSIS 与 portable ZIP,macOS 仅 DMG,Linux 提供 AppImage、DEB 和 RPM,共 12 个安装包、20 个发布资产。 @@ -135,7 +142,7 @@ - [x] **远程任务委派**:仅在用户显式配置端点和令牌后启用,按全局内网兼容模式使用 HTTP(S),结果进入持久化发件箱。 - [ ] **Headless Runtime API**(规划中):提供本机优先的任务、事件、状态和成果 API,以及有范围、有效期、限流和撤销能力的令牌。 - [ ] **GoodBuddy Team Hub**(规划中):以可选服务提供组织、RBAC、项目共享、远程 Agent、策略下发和租户审计。 -- [ ] **SSH 主机与远程执行空间发布验收**:主机 CRUD、Host Key、加密凭据、Project UI、Workspace、OpenCode ACP v5、Agent-owned Prompt/gateway/transcript、Ask 只读、Execute 完整账号权限、取消、detached Agent 精确重连和 release-only 双架构资源校验已经接线。Linux x64 当前源码已用真实模型与工具通过 detach、进程结束、relay 丢失、并发、取消、Provider 异常、Agent 重启和 Desktop SQLite 恢复矩阵;当前源码测试签名 Agent `0.11.17` 又通过两个并发 Ask 读取、一次 Execute 写入并读回,以及 6 次带自定义 Header 和 Body 的真实受管网关模型请求,未发现 Provider 请求重放,隔离 Agent state 中也没有 API Key 或自定义请求值。公开 signing key registry 已供应。控制面直连源码不等待新 installer-bearing 包,但仍需公开核对当前 Linux x64/arm64 正式签名工件矩阵,并完成 GitHub/北京镜像、双架构和离线 GoodBuddy 传输的发布验收;门槛未满足时不宣称该路径已发布或通过正式发布验收。 +- **SSH 主机与远程执行空间验证记录**:主机 CRUD、Host Key、加密凭据、Project UI、Workspace、OpenCode ACP v5、Agent-owned Prompt/gateway/transcript、Ask 只读、Execute 完整账号权限、取消、detached Agent 精确重连和 release-only 双架构资源校验已经接线。Linux x64 当前源码已用真实模型与工具通过 detach、进程结束、relay 丢失、并发、取消、Provider 异常、Agent 重启和 Desktop SQLite 恢复矩阵;当前源码测试签名 Agent `0.11.17` 又通过两个并发 Ask 读取、一次 Execute 写入并读回,以及 6 次带自定义 Header 和 Body 的真实受管网关模型请求,未发现 Provider 请求重放,隔离 Agent state 中也没有 API Key 或自定义请求值。公开 signing key registry 已供应。控制面直连源码不等待新 installer-bearing 包;现有记录未覆盖当前 Linux x64/arm64 正式签名工件的完整公开核对及 GitHub/北京镜像、双架构和离线 GoodBuddy 传输矩阵,发布结果另行记录。 - [ ] **多云远程沙盒 Agent**(规划中):通过云厂商 API 和 SSH Agent 管理专用 Linux 沙盒;凭据留在 Main 进程,高风险控制面操作单独确认。 ## 规划原则 diff --git a/agent-runtime-lock.json b/agent-runtime-lock.json index 58f77698..33387207 100644 --- a/agent-runtime-lock.json +++ b/agent-runtime-lock.json @@ -1,6 +1,6 @@ { "formatVersion": 1, - "agentVersion": "0.11.25", + "agentVersion": "0.13.0", "protocol": { "major": 2, "minor": 0 diff --git a/docs/features/conversation-media-generation/README.md b/docs/features/conversation-media-generation/README.md index 0146c3fc..865fb3a8 100644 --- a/docs/features/conversation-media-generation/README.md +++ b/docs/features/conversation-media-generation/README.md @@ -1,6 +1,6 @@ # 会话媒体生成 -状态:设计要求已明确,工作区已有未提交实现,产品验收未完成。日期:2026-09-15。验证范围见[进度记录](./progress.md)。 +实现状态:已完成。纳入 Desktop 0.13.5 / Agent 0.13.0 候选,尚未发布。日期:2026-09-15。实际验证范围单独见[进度记录](./progress.md)。 用户添加图片模型后,可以开启“允许 AI 在会话中调用”。支持工具调用的聊天模型通过 GoodBuddy 生成图片、编辑上传图片和历史成果。切换聊天模型或 Agent Runtime 后仍可发起生成和编辑;已提交操作固定生成模型,结果保存到原会话。 diff --git a/package-lock.json b/package-lock.json index bbe280a3..4a37a0ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "goodbuddy", - "version": "0.13.2", + "version": "0.13.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "goodbuddy", - "version": "0.13.2", + "version": "0.13.5", "license": "0BSD", "dependencies": { "@agentclientprotocol/sdk": "0.25.1", diff --git a/package.json b/package.json index 33d23cac..b2d95ee0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "goodbuddy", - "version": "0.13.2", + "version": "0.13.5", "private": true, "description": "Secure desktop AI workspace with controlled Agent Runtimes", "desktopName": "GoodBuddy", diff --git a/resources/agent-release-notes/0.13.0.md b/resources/agent-release-notes/0.13.0.md new file mode 100644 index 00000000..e5f713ba --- /dev/null +++ b/resources/agent-release-notes/0.13.0.md @@ -0,0 +1,33 @@ +# GoodBuddy Agent 0.13.0 更新内容 + +## 功能更新 + +- **远程聊天也能直接生图**:使用托管远程 OpenCode 时,可在当前对话中调用桌面端配置的图片模型,生成图片、修改上传图片或继续调整历史成果。无需另开会话或切换聊天模型,图片结果保存到原会话。 + +## 问题修复 + +- **多个远程项目更省资源**:同一 Host 上兼容的项目和会话可共享 OpenCode 底层进程,减少重复启动。各会话继续独立工作,取消其中一个不会结束其他会话使用的共享进程。 +- **断线后继续处理原对话**:配合新版桌面端,重新连接或重启桌面后可恢复原操作的待答问题与任务状态。重连不会重新发送已经接受的请求。 + +## 使用说明 + +- 请先升级至 **GoodBuddy 0.13.5 或更高版本**,再更新远程环境。聊天生图需开启图片模型的会话调用,并使用 Execute 模式。 +- 提供 Linux x64、Linux arm64 和 macOS arm64 安装包,内含 Node `24.19.0` 和 OpenCode `1.18.29`。新行为在更新后的 Agent 和 Runtime 中生效,正在运行的旧进程不会热更新。 +- 远程项目仍为技术预览;Ask 保持只读,Execute 使用所选 SSH 账号的权限。 + +# What's New in GoodBuddy Agent 0.13.0 + +## Features + +- **Create images in remote chats**: Managed remote OpenCode can use Desktop-configured image models to generate images, edit uploads, or refine earlier results in the current conversation. No separate conversation or chat-model switch is needed, and results stay in the original conversation. + +## Bug Fixes + +- **Use fewer resources across remote projects**: Compatible projects and conversations on the same Host share underlying OpenCode processes, reducing duplicate startup. Conversations remain independent, and cancelling one does not terminate the shared process used by others. +- **Continue the original conversation after disconnection**: Together with the updated Desktop, pending questions and task status recover after reconnection or Desktop restart. Reconnection does not resend accepted requests. + +## Usage Notes + +- Upgrade to **GoodBuddy 0.13.5 or later** before updating the remote environment. In-chat image tools require conversation access to be enabled for an image model and Execute mode. +- Packages cover Linux x64, Linux arm64, and macOS arm64, with Node `24.19.0` and OpenCode `1.18.29`. Changes take effect in the updated Agent and Runtime; running older processes are not hot-updated. +- Remote projects remain a technical preview. Ask stays read-only, and Execute uses the selected SSH account’s permissions. diff --git a/resources/release-notes.json b/resources/release-notes.json index d65ba498..2c253e28 100644 --- a/resources/release-notes.json +++ b/resources/release-notes.json @@ -1,6 +1,54 @@ { "formatVersion": 1, "releases": [ + { + "version": "0.13.5", + "releasedAt": "2026-09-15", + "notes": { + "zh-CN": { + "highlights": [], + "features": [ + "**聊天生图,无需切换模型**:生图模块现在可作为 MCP 能力,供支持工具调用的聊天模型使用,无需另开会话或手动切换到图片模型。在当前对话中即可要求 AI 生成图片、修改上传图片或继续调整之前的成果,图片和生成状态直接显示在原会话中。", + "**复制文件,直接粘贴为附件**:在文件管理器中复制一个或多个支持的本地文件后,直接粘贴到聊天输入框即可添加附件。读取和解析进度清晰可见,失败时保留草稿与已有附件,文本和截图仍可照常粘贴。" + ], + "fixes": [ + "**图片型 PPTX 也能读取文字**:配置本地 OCR 并选择启用 OCR 的解析方式后,可识别幻灯片内嵌图片中的文字,解决图片型 PPTX 无法提取内容的问题。识别结果保留幻灯片定位,原有文字也会一并保留。", + "**识别结束后释放内存**:本地 OCR 在没有正在执行或排队的识别任务时,空闲 60 秒后自动释放模型运行内存。连续解析会复用模型,下次使用时自动重新加载。", + "**多项目运行更省资源**:多个项目使用兼容配置时,本地 OpenCode、DeepSeek Harness 和托管远程 OpenCode 可分别复用各自的底层进程,减少重复启动和内存占用。不同会话仍可并行工作,停止其中一个不会连带停止其他会话。", + "**远程对话恢复更连贯**:修复断线、桌面重启或配置更新后,远程待答问题和任务状态恢复不一致的问题。需要重试时,可直接在对应项目的菜单中操作。", + "**项目菜单和工作栏更顺手**:长会话列表独立滚动,不再撑高项目菜单;没有会话活动时自动隐藏摘要。工作栏开关移到明暗主题按钮旁,不再悬浮遮挡内容。", + "**魔法笔记自动同步显示**:AI 或 MCP 修改笔记后,已打开的笔记页面会自动刷新,无需手动重新打开。刷新保留当前选择和未保存草稿。", + "**窗口异常时可以直接恢复**:界面渲染失败时提供“重新加载”入口,渲染进程崩溃时弹出恢复提示。重新加载可能丢失未保存的输入。" + ], + "notices": [ + "聊天生图需先为图片模型开启会话调用,并在 **Execute 模式**使用;支持直连文本模型、本地 OpenCode、Continue、DeepSeek Harness 和托管远程 OpenCode。生成和编辑可能产生图片服务费用,参考图编辑需要服务商支持。", + "远程用户请先升级至 **GoodBuddy 0.13.5**,再更新 Host 上的 **Agent 0.13.0**。远程项目仍为技术预览,Ask/Execute 权限不变。", + "提供 Windows、macOS、Linux 的 x64 和 arm64 标准桌面安装包,本次不构建 LoongArch 实验预览。" + ] + }, + "en-US": { + "highlights": [], + "features": [ + "**Create images without switching chat models**: Image generation is now available as an MCP capability to tool-capable chat models, without opening another conversation or manually switching to an image model. Ask AI to create an image, edit an upload, or refine an earlier result, with images and generation status shown in the same conversation.", + "**Paste files directly into chat**: Copy one or more supported local files in your file manager and paste them into the composer to attach them. Reading and parsing progress is shown, failures preserve your draft and existing attachments, and text and screenshot paste continue to work." + ], + "fixes": [ + "**Read text from image-based PowerPoint files**: With local OCR configured and an OCR-enabled parsing mode selected, GoodBuddy can recognize text in embedded slide images instead of rejecting image-only PPTX files. Results retain slide locations alongside the original text.", + "**Release memory after text recognition**: Local OCR releases its model memory after 60 idle seconds when no recognition tasks are running or queued. Consecutive tasks reuse the model, and it reloads automatically when needed again.", + "**Use fewer resources across projects**: With compatible configurations, local OpenCode, DeepSeek Harness, and managed remote OpenCode each reuse their underlying processes to reduce duplicate startup and memory use. Conversations can still run in parallel, and stopping one does not stop the others.", + "**Resume remote conversations more reliably**: Fixed inconsistent recovery of pending questions and task status after disconnection, Desktop restart, or configuration changes. Retry actions are available in the affected project’s menu.", + "**Smoother project menus and workbar access**: Long conversation lists scroll independently without stretching the project menu, and the activity summary hides when idle. The workbar toggle now sits beside the theme switch instead of floating over content.", + "**Keep Magic Notes up to date**: The open notes page refreshes automatically after AI or MCP edits, without needing to reopen it. Your selection and unsaved drafts are preserved.", + "**Recover directly from window errors**: Rendering failures show a Reload action, and renderer-process crashes display a recovery prompt. Reloading may lose unsaved input." + ], + "notices": [ + "Enable conversation access for an image model and use **Execute mode** for in-chat image tools. Supported runtimes are direct text models, local OpenCode, Continue, DeepSeek Harness, and managed remote OpenCode; image requests may incur provider charges, and reference-image editing requires provider support.", + "Remote users should upgrade to **GoodBuddy 0.13.5** before updating Hosts to **Agent 0.13.0**. Remote projects remain a technical preview, with unchanged Ask/Execute permissions.", + "Standard desktop packages cover Windows, macOS, and Linux on x64 and arm64. No LoongArch experimental preview is included." + ] + } + } + }, { "version": "0.13.2", "releasedAt": "2026-09-14",