release: refresh Desktop 0.15.5 candidate
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
GoodBuddy Agents / Validate Agent source (push) Canceled after 0s
GoodBuddy Agents / Build darwin arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux x64 Agent (push) Canceled after 0s
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
GoodBuddy Agents / Validate Agent source (push) Canceled after 0s
GoodBuddy Agents / Build darwin arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux x64 Agent (push) Canceled after 0s
Include note tags and layout, workspace controls, and OpenCode launch/tool-name updates in bilingual notes. Update schema 51 guidance and align the Electron Supervisor regression with the implemented suggestions UI.
This commit is contained in:
+5
-2
@@ -956,8 +956,11 @@ records are listed separately and do not introduce another feature status.
|
||||
Desktop and Agent release channels.
|
||||
- Desktop `0.15.5` updates Smart heartbeat and incremental review, preserves
|
||||
cancelled-turn history, floats checklist details, and exits note editing after
|
||||
saving. Schema 50 carries pending legacy memory proposals into unconfirmed
|
||||
conventions; back up the database and adjacent notes before upgrading.
|
||||
saving. It also adds manual note tags with AND filtering and rename/merge/delete,
|
||||
a persistent two-pane note layout with a full-width overview, sticky workspace
|
||||
file controls, cached OpenCode terminal dependencies, and shorter MCP names.
|
||||
Schema 51 adds tag storage alongside the migration of pending legacy memory
|
||||
proposals into unconfirmed conventions; back up the database and adjacent notes before upgrading.
|
||||
See the [preparation record](./docs/development/release-preparation-0.15.5.md).
|
||||
- Desktop `0.15.4` introduces layered Runtime/model choices and separate
|
||||
system-task usage, and reduces duplicate Runtime instructions and history.
|
||||
|
||||
+1
-1
@@ -157,7 +157,7 @@
|
||||
|
||||
- Desktop `0.15.3` 修复本地直连手动压缩和请求有效期间的工具授权,区分取消与失败并去除重复提示,优化侧栏搜索、注册成功后的快捷键提示及笔记操作布局,减少启动和存储中的重复处理,并精简重复依赖及开发文件。不宣称整体渲染性能已显著提升;Office 实时编辑仍为设计。证据见[0.15.3 发布准备](./docs/development/release-preparation-0.15.3.md)。
|
||||
- 当前 Desktop 候选为 `0.15.5`,已发布 Agent 保持 `0.15.1`,OpenCode 固定为 `1.18.29`、Continue 为 `1.5.47`;正式发布状态以独立发布渠道为准。
|
||||
- Desktop `0.15.5` 更新智能心跳与增量回顾,保留中断轮次历史,执行清单改为浮层,笔记保存成功后退出编辑;自动评论不重新打开编辑器,失败保留草稿。schema 50 将旧待确认记忆迁为待处理约定,升级前备份数据库与相邻笔记。证据见[发布准备](./docs/development/release-preparation-0.15.5.md)。
|
||||
- Desktop `0.15.5` 更新智能心跳与增量回顾,保留中断轮次历史,执行清单改为浮层,笔记保存成功后退出编辑;自动评论不重新打开编辑器,失败保留草稿。新增手动笔记标签、AND 筛选及重命名/合并/删除,双栏笔记与全宽概览,固定工作区文件操作栏,缓存 OpenCode 终端依赖并缩短 MCP 名称。schema 51 增加标签存储,同时迁移旧待确认记忆为待处理约定;升级前备份数据库与相邻笔记。证据见[发布准备](./docs/development/release-preparation-0.15.5.md)。
|
||||
- Desktop `0.15.4` 增加 Runtime/模型分层选择及独立系统任务用量,减少 Runtime 指令和历史重复。schema 49 迁移项目与会话选择,回退须恢复完整升级前数据库和相邻笔记备份。Agent `0.15.1` 要求 Desktop `0.15.4`,修复远程 Continue 历史重复封装,Runtime 锁版本不变。证据见[0.15.4 发布准备](./docs/development/release-preparation-0.15.4.md)。
|
||||
- Desktop `0.15.1` 已完成六平台原生打包及 GitHub/OSS 发布。Desktop `0.15.2` 新增 Story Graph 只读工具和完整可编辑的监督讨论消息,简化笔记采集并补充退出诊断;远程图谱读取需配套 Agent `0.15.0`。主机与云环境管理应用仍为待实现规划,当前候选证据见[0.15.2 发布准备](./docs/development/release-preparation-0.15.2.md)。
|
||||
- Desktop `0.15.1` 承接未发布的 `0.15.0` Obsidian 接入、会话采集到魔法笔记和预览中的本地原生客户端,并修复知识库、监督者与界面操作。schema 48 新增会话来源元数据,回退旧客户端需使用升级前完整备份。Agent `0.15.0` 要求 Desktop `0.15.2`,保留 Node `24.19.0`,补齐远程遥测关闭配置及 Continue 跳过已关闭的更新检查,不新增远程客户端快捷入口。
|
||||
|
||||
@@ -44,3 +44,24 @@ schema 50 在既有事务中增加心跳介入方式、建议状态和建议表
|
||||
参见[实施记录](../features/conversation-supervision/progress.md)。
|
||||
- 不执行本地生产构建、打包或安装包启动。全仓验证和生产构建以最终提交的 CI
|
||||
为准,标签只能在该门槛通过后创建。
|
||||
|
||||
## 中断后扩展候选
|
||||
|
||||
用户新增四个提交并授权再次推送继续发布;源码范围扩至
|
||||
`6edfc0046b83150f2027167352000f161fb0dd0a`,恢复时工作区干净。
|
||||
新增 OpenCode 终端依赖缓存、短 MCP 名称与并行占用、工作区固定工具栏、
|
||||
笔记双栏布局及手动标签。说明和功能矩阵已同步,目标 schema 改为 51。
|
||||
标签支持多选 AND 筛选、重命名/合并/删除及桌面笔记工具字段,非自动分类;
|
||||
Agent daemon 和协议不变,Agent 仍为 0.15.1。
|
||||
|
||||
上一候选 `925d410` 的 Agent CI 通过,Desktop `36664224641` 为 5481 通过、
|
||||
55 跳过、3 失败,生产构建未执行,未创建标签。两个笔记分析用例的旧编辑按钮
|
||||
假设已由新提交修正;新源码真实 Electron 复验已通过。监督布局仍查找旧记忆建议
|
||||
标题及已移除的心跳运行审计,修正为监督建议区域和两条建议断言、审计不重复展示,
|
||||
保留页签、宽度、历史报告和导航检查。
|
||||
|
||||
扩展候选复验:15 文件、502 项通过,包含上述三个失败场景、笔记标签与布局、
|
||||
工作区滚动布局、schema 51 数据库、MCP 网关/名称及原生终端缓存测试;
|
||||
类型检查、lint、双语说明校验和差异检查通过。该轮测试使用隔离 fixture,
|
||||
没有新增付费模型调用;先前 4 次真实 Host 请求仅对应取消后续聊范围,
|
||||
不作为新增标签工具的完整远程 UI 实测声明。
|
||||
|
||||
@@ -8,32 +8,42 @@
|
||||
"zh-CN": {
|
||||
"highlights": [],
|
||||
"features": [
|
||||
"**用标签整理魔法笔记**:可以手动给笔记添加标签,组合多个标签筛选时只显示同时匹配的笔记,并通过标签管理器重命名、合并或删除标签。笔记工具也支持创建、更新标签及按标签查找,标签变更仍需用户提出要求,不会自动分类。",
|
||||
"**打开笔记时保留列表和阅读空间**:当前笔记旁保留可调宽、可收起的笔记列表,详情使用紧凑的固定工具栏,切换笔记保留阅读位置并保护未保存草稿。“返回概览”回到全宽笔记卡片网格,窄窗口在列表与详情间切换。",
|
||||
"**智能心跳按变化回顾并提供有依据的建议**:心跳计划现在触发共享的增量回顾,不再另外生成一份心跳报告;可选择只更新记忆图谱,或根据本次回顾中的未决事项、分歧、修订和候选约定生成监督建议。建议支持核对来源、接受或忽略,接受未决事项会创建暂停任务,确认候选约定才会写为长期背景;建议生成失败可单独重试,不撤销已完成的回顾。",
|
||||
"**手动回顾默认只处理新增与变化内容**:点击“回顾”会沿用处理进度,无变化时不再调用模型;需要重读所选区间时,可从“更多”选择“重新整理…”并确认。重新整理不会推进或重置共享进度,自动回顾也不会续跑用户主动暂停的运行。"
|
||||
],
|
||||
"fixes": [
|
||||
"**再次在终端中打开 OpenCode 更快**:插件依赖改为在用户数据目录中缓存复用,不再每次启动都复制完整依赖树;随包版本变化后会更新缓存。首次准备和 OpenCode 自身启动仍需时间,模型配置、Skills 和 Ask 模式插件仍按每次启动生成。",
|
||||
"**减少 OpenCode 工具名称过长导致的失败**:缩短临时 MCP 名称及转发的自定义工具名称,并在同一会话中尽量保持稳定。并行请求仍使用独立占用的名称,不改变工具权限或执行范围。",
|
||||
"**滚动文件列表时保留工作区操作栏**:文件列表独立滚动,视图切换、刷新、新建和目录导航保持可见。没有 Git 的项目也保留“文件”入口。",
|
||||
"**取消后不再把上一轮问题并入新请求**:模型可见历史保留中断回复的已有文字,并明确标记取消或失败,避免用户问题成为没有回应的孤立输入。本地 OpenCode 复用会话时保留取消轮次,在下一轮附带一次中断说明,失败请求仍按原规则清理。",
|
||||
"**展开执行清单不再挤动聊天内容**:OpenCode 与 Continue 的清单详情改在锚定浮层中展开,长清单可在浮层内滚动。点击外部可关闭,按 Escape 关闭后焦点回到入口,进度保存规则不变。",
|
||||
"**笔记保存成功后退出编辑**:文字和画布记录保存修改后回到只读内容,自动评论完成后不会重新打开编辑器。保存失败时保留草稿,便于修改和重试。"
|
||||
],
|
||||
"notices": [
|
||||
"首次启动升级到 schema 50,将旧心跳报告中仍待确认的记忆迁为待处理约定,不自动确认或删除原记录。升级前请关闭应用并备份完整数据库及相邻 `notes/` 目录;旧客户端不能打开升级后的库,回退需恢复完整升级前备份。",
|
||||
"首次启动升级到 schema 51,增加笔记标签存储,并将旧心跳报告中仍待确认的记忆迁为待处理约定,不自动确认或删除原记录。升级前请关闭应用并备份完整数据库及相邻 `notes/` 目录;旧客户端不能打开升级后的库,回退需恢复完整升级前备份。",
|
||||
"本轮只更新 Desktop,Agent 保持 **0.15.1**,无需重新下载 Agent 包。心跳回顾及有候选时的建议生成可能产生模型费用;项目与全局仍分别维护处理进度,会话级实时主动介入尚未实现。"
|
||||
]
|
||||
},
|
||||
"en-US": {
|
||||
"highlights": [],
|
||||
"features": [
|
||||
"**Organize Magic Notes with tags**: Add tags manually, combine filters to find notes matching every selected tag, and rename, merge, or delete tags in the manager. Note tools also support creating, updating, and filtering tags when requested by the user; notes are not tagged automatically.",
|
||||
"**Keep the note list beside your reading area**: Open notes retain a resizable, collapsible list beside compact details with a sticky toolbar; switching notes preserves reading positions and protects unsaved drafts. Back to overview restores the full-width card grid, while narrow windows switch between list and detail.",
|
||||
"**Smart heartbeat reviews changes and offers evidence-backed suggestions**: Plans now trigger the shared incremental review instead of generating a separate heartbeat report; choose between updating memory and graphs only or generating suggestions from open items, disagreements, revisions, and candidate conventions. Inspect sources, accept, or dismiss suggestions; accepting an open item creates a paused task, and only confirming a convention saves it as long-term background. Suggestion generation can be retried independently without undoing a completed review.",
|
||||
"**Manual review defaults to new and changed content**: Review resumes from saved processing progress and makes no model calls when nothing has changed; choose Reanalyze from More and confirm to reread the selected period. Reanalysis neither advances nor resets shared progress, and automatic reviews no longer resume runs you explicitly paused."
|
||||
],
|
||||
"fixes": [
|
||||
"**Reopen OpenCode in the terminal faster**: Plugin dependencies are cached under user data instead of copying the entire tree on every launch, and refreshed when the bundled version changes. Initial preparation and OpenCode startup still take time; model settings, Skills, and Ask-mode plugins remain launch-specific.",
|
||||
"**Reduce failures from long OpenCode tool names**: Temporary MCP names and forwarded custom tool names are shorter and remain stable within a conversation where possible. Parallel requests retain separately leased names, with no changes to tool permissions or execution scope.",
|
||||
"**Keep workspace controls visible while scrolling**: The file list scrolls independently while view selection, refresh, creation actions, and directory navigation stay visible. Projects without Git retain the Files entry.",
|
||||
"**Keep cancelled questions out of the next request**: Model-visible history retains partial replies with explicit interruption or failure markers, rather than leaving their user messages unanswered. Reused local OpenCode sessions retain cancelled turns and receive a one-time interruption notice on the next turn; failed requests retain their existing cleanup behavior.",
|
||||
"**Expand execution checklists without shifting chat content**: OpenCode and Continue checklist details now open in an anchored floating panel with internal scrolling for long lists. Click outside to close, or press Escape to close and return focus to the trigger; saved progress behavior is unchanged.",
|
||||
"**Leave note editing after a successful save**: Saved text and canvas records return to read-only content, and automatic comments no longer reopen the editor. Failed saves retain your draft for correction and retry."
|
||||
],
|
||||
"notices": [
|
||||
"First launch upgrades to schema 50 and carries still-proposed memories from older heartbeat reports into pending conventions, without automatically confirming or deleting the original records. Close the app and back up the complete database and adjacent `notes/` directory first; older clients cannot open the upgraded database, so rollback requires the complete pre-upgrade backup.",
|
||||
"First launch upgrades to schema 51, adds note-tag storage, and carries still-proposed memories from older heartbeat reports into pending conventions without automatically confirming or deleting the original records. Close the app and back up the complete database and adjacent `notes/` directory first; older clients cannot open the upgraded database, so rollback requires the complete pre-upgrade backup.",
|
||||
"This is a Desktop-only update; Agent remains **0.15.1**, with no Agent package download required. Heartbeat reviews and suggestion generation when candidates exist may incur model charges; project and global processing progress remain separate, and real-time conversation-level proactive intervention is not implemented."
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1077,7 +1077,8 @@ app
|
||||
nestedMenus: panel.querySelectorAll('[role=tablist]').length,
|
||||
reports: !!panel.querySelector('#heartbeat-reports-title'),
|
||||
reportWidth: panel.querySelector('#heartbeat-panel-history > section')?.getBoundingClientRect().width,
|
||||
suggestions: !!panel.querySelector('#heartbeat-memory-title'),
|
||||
suggestions: !!panel.querySelector('#supervision-suggestions-title'),
|
||||
suggestionItems: panel.querySelectorAll('.supervision-suggestions__list > li').length,
|
||||
audit: !!panel.querySelector('#heartbeat-runs-title'),
|
||||
plans: !!panel.querySelector('#heartbeat-panel-plans'),
|
||||
settingsBadge: !!panel.querySelector('.scope-badge'),
|
||||
@@ -1090,7 +1091,8 @@ app
|
||||
assert.equal(menuLayout.reports, tab === 'plans')
|
||||
if (tab === 'plans') assert(Math.abs(menuLayout.reportWidth - menuLayout.panelWidth) <= 1, 'Reports must use full reading width')
|
||||
assert.equal(menuLayout.suggestions, tab === 'plans')
|
||||
assert.equal(menuLayout.audit, tab === 'plans')
|
||||
assert.equal(menuLayout.suggestionItems, tab === 'plans' ? 2 : 0)
|
||||
assert.equal(menuLayout.audit, false, 'Run audit belongs to Activity, not Smart heartbeat')
|
||||
assert.equal(menuLayout.plans, tab === 'plans')
|
||||
if (tab === 'settings') {
|
||||
assert(!menuLayout.settingsBadge && !menuLayout.refresh, 'Redundant settings badge/refresh')
|
||||
@@ -1099,7 +1101,7 @@ app
|
||||
reports.push({ scenario: 'menu-placement', theme, tab, ...menuLayout })
|
||||
await writeFile(join(artifacts, `menu-${tab}-${theme}-${width}.png`), (await win.webContents.capturePage()).toPNG())
|
||||
const anchors = tab === 'settings' ? ['.heartbeat-settings__editor:last-child']
|
||||
: tab === 'plans' ? ['#heartbeat-panel-overview', '#heartbeat-panel-suggestions', '#heartbeat-panel-history', '[aria-labelledby=heartbeat-runs-title]'] : []
|
||||
: tab === 'plans' ? ['#heartbeat-panel-overview', '.supervision-suggestions', '#heartbeat-panel-history'] : []
|
||||
for (const [index, anchor] of anchors.entries()) {
|
||||
await js(`document.querySelector('${anchor}').scrollIntoView({block:'start'})`)
|
||||
await settle()
|
||||
|
||||
Reference in New Issue
Block a user