Skip to content

Releases: vastsa/PI-Desktop

v0.16.1

Choose a tag to compare

@github-actions github-actions released this 04 Oct 06:21

What's Changed

  • fix(models): hide revoked models from the live service pane by @Blue-Berrys in #1290
  • fix(desktop): resolve ask cards through the Host input path by @mingkun968 in #1293
  • fix(chat): keep the outline turn jump out of follow mode by @mingkun968 in #1289
  • fix(agent-runtime): keep on-demand tools active for the whole session by @yexisu in #1279
  • feat(storage): add custom data path and safe migration by @vastsa in #1294
  • fix(desktop): stop session-collaboration spawn from spending the un opted-in default model by @yexisu in #1297
  • fix(desktop): keep user-pinned model limits across provider enrichment by @yexisu in #1299
  • fix(desktop): compact AskToolCard height, merge actions into header by @mingkun968 in #1292
  • fix(projects): reopen closed group from folder by @vastsa in #1303
  • fix(host-core): safely inline Read image results by @vastsa in #1305
  • fix(host-core): return image files from Read as inline image blocks by @yexisu in #1296
  • fix(desktop): preserve clickable Windows paths in inline code by @vastsa in #1306
  • fix(electron): resolve main output root from inside Rollup chunks by @mingkun968 in #1307
  • feat(scheduled): 定时任务页改造为「任务 + 运行记录」主从视图(#1291 阶段一) by @HanawaBanana in #1298
  • fix(models): use models.dev as metadata authority by @vastsa in #1315
  • fix(runtime): preserve provider apiStyle for foreign catalog models by @Totopo27 in #1314
  • fix(permissions): require approval for user MCP tools by @xiaobaZeo in #1321
  • fix(models): honor custom limits and API styles by @vastsa in #1322
  • fix(asktool): reconcile stale pending cards by @JoyaWang in #1309
  • fix(agent-runtime): replace removed Pi harness APIs by @vastsa in #1328
  • 将 PI-Desktop 升级到 Pi 1.0.0 by @vastsa in #1333
  • fix(agent-runtime): 缺少工作区时允许计划提交失败后继续回复 by @zszz3 in #1338
  • fix(updater): stop dismissed releases from downloading by @vastsa in #1339
  • fix(transcript): match missed prompt echoes safely by @vastsa in #1340
  • fix(agent-runtime): suppress recoverable overflow error cards by @vastsa in #1342
  • feat(chat): 粘贴会话链接即引用另一段对话(#1324 应用内方案) by @HanawaBanana in #1326
  • fix(mcp): allow clearing a server timeout override by @vastsa in #1344
  • fix(desktop): prevent ask answer IPC re-entry by @vastsa in #1347
  • fix(plugins): discover npm installations for GUI imports by @vastsa in #1348
  • fix(deps): patch vulnerable production transitives by @vastsa in #1350
  • fix(project-groups): detach folders with chats safely by @vastsa in #1351
  • fix(chat): scroll to target lines in file references by @vastsa in #1349
  • fix(mcp): preserve session results within the response limit by @vastsa in #1352
  • fix(e2e): make settings-scroll E2E runnable by @vastsa in #1354
  • fix(runtime): preserve cached prefixes across tool and skill updates by @vastsa in #1355
  • fix(pi): adapt runtime to Pi 1.0.1 by @vastsa in #1357
  • fix(projects): complete safe grouped project deletion by @vastsa in #1371
  • fix(runtime): cover MCP and plugin image delivery by @vastsa in #1372
  • fix(sessions): specify native duplicate identity handling by @vastsa in #1374
  • fix(e2e): keep hosted-search checks aligned with Pi by @vastsa in #1375
  • fix(#1361): 让 Pi patch 检查与路径平台无关,并修正 fork 测试里的路径断言 by @Yi-111-a in #1363
  • fix(chat): close nested-list streaming cursor reflow by @vastsa in #1373
  • fix(desktop): hide docked plugin views while project dialogs are open by @Totopo27 in #1378
  • fix(desktop): drop the stale open reference in the create project dialog by @vastsa in #1379
  • fix(desktop): hide docked native views under the extension prompt by @vastsa in #1380

Full Changelog: v0.16.0...v0.16.1

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 16:44

What's Changed

  • feat(plugins): implement the seven finalized UI slots by @Tioit-Wang in #1191
  • fix(mcp): dispatch streamable-HTTP replies before the SSE stream ends by @yy568821795-max in #1189
  • fix(runtime): preserve denied tool declarations in Plan and Goal by @zszz3 in #1184
  • 修复聊天模型选择后的友好名称覆盖 wire ID by @aurorax-neo in #1167
  • fix(compaction): send the session id as the summary prompt cache key by @MM8866-stock in #1165
  • fix(desktop): bootstrap Electron before dev startup by @aaskfuqw in #1146
  • fix(providers): 补齐 StepFun Plan 订阅端点配置 by @zszz3 in #1139
  • Fix German catalog Sie-form consistency and restore noProjectSessions wording by @theluckystrike in #1180
  • fix(plugins): hide docked native views under host plugin modals by @ZxlDragonDoctor in #1148
  • fix(host-core): return FILE_NOT_FOUND for missing Read/Write targets by @ZxlDragonDoctor in #1117
  • fix(host-core): ignore symbolic links during capability directory copy by @Totopo27 in #1194
  • fix(agent-runtime): report subagent output token truncation as failure by @Totopo27 in #1193
  • feat(voice): add scoped Live Voice work sessions by @vastsa in #1161
  • fix(desktop): treat portable distribution as manual update mode by @Totopo27 in #1200
  • perf(skills): 批量导入 Skill 文件夹并复用上次成功位置 by @hui455 in #1172
  • feat(plugins): add net.anyHost install-time egress grant by @Tioit-Wang in #1209
  • fix(desktop): cap window minimum to display work area (#1175) by @xiaobaZeo in #1210
  • fix(permissions): remove local approval deadline by @vastsa in #1218
  • fix(live-work): make voice admission outcomes reliable by @vastsa in #1220
  • fix(chat): resolve complete file paths in transcripts by @caulif in #1222
  • fix(extensions): preserve chained system prompt additions by @zszz3 in #1219
  • fix(mcp): 修复 OAuth issuer 路径发现与 scope 选择 by @zszz3 in #1231
  • fix(agent-runtime): harden subagent scratch spillover by @vastsa in #1232
  • fix(desktop): serialize plugin panel reload teardown by @vastsa in #1233
  • fix(desktop): close plugin panel on reload and clean up failed panel loads by @Totopo27 in #1198
  • fix(mcp): 明文显示编辑器中的环境变量和请求头 by @zszz3 in #1226
  • fix(rpc): bound every request with a wall-clock budget so slots always come back by @muzimu217 in #1208
  • fix(renderer): keep long-session streaming responsive by @vastsa in #1235
  • fix(chat): keep user-message URLs selectable and copyable by @OpenX123 in #1247
  • fix(desktop): stack provider setup panes on constrained viewport heights by @Totopo27 in #1234
  • feat(todo): add session-scoped checklist by @HanawaBanana in #1227
  • fix(todo): normalize checklist input and recover host state by @vastsa in #1255
  • feat(live-voice): stage call interaction UI by @vastsa in #1256
  • fix(composer): recover the slash menu from a dropped compositionend by @OpenX123 in #1248
  • fix(oauth): preserve thinking metadata for live-only models by @Zhangyinglun in #1253
  • fix(oauth): send client_version when listing ChatGPT models by @initH271 in #1251
  • fix(shared): do not import pi !command apiKey as a literal secret by @initH271 in #1252
  • fix(desktop): restore additive CA semantics for the macOS agent sidecar by @yexisu in #1215
  • feat(live-voice): expose Live Voice to regular users by @vastsa in #1259
  • fix(live-voice): show the real error cause and log call failures by @vastsa in #1261
  • fix(models): match relay IDs to official metadata by @vastsa in #1262
  • fix(electron): resolve main paths in ESM runtime by @vastsa in #1263
  • fix(ci): hoist host React for renderer tests by @vastsa in #1264
  • feat(desktop): report one-off notices through the toast stack by @vastsa in #1266
  • feat(live-voice): default work to the current session by @vastsa in #1265
  • fix(desktop): preserve line breaks when repainting composer draft by @Totopo27 in #1268
  • feat(live-voice): answer an open asktool question by voice by @vastsa in #1270
  • fix(desktop): drop the plugin launcher's dialog-shadow halo by @kev17in in #1258
  • fix(tools): adapt legacy old_string/new_string shape in Edit tool by @Totopo27 in #1269
  • feat(live-voice): dock the call bar as a global desktop widget by @vastsa in #1271
  • fix(chat): serialize stop with prompt admission by @vastsa in #1273
  • fix(live-voice): give the docked widget its own state, not a store it lacks by @vastsa in #1274
  • fix: improve compaction diagnostics and embedded plugin surfaces by @vastsa in #1278
  • fix(live-voice): keep the microphone policy out of unrelated permissions by @mingkun968 in #1280
  • fix: 移除 Windows 窗口三侧边框并支持主题圆角 by @adoin in #1203
  • perf(build): split renderer routes and locale assets by @vastsa in #1283
  • perf(agent-runtime): split sidecar bundle by @vastsa in #1284
  • fix(host-core): prevent queued tools from starving unrelated sessions by @vastsa in #1287
  • feat(release): publish native Linux arm64 artifacts by @vastsa in #1288

New Contributors

Full Changelog: v0.15.10...v0.16.0

v0.16.0-beta.1

v0.16.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Sep 19:47

What's Changed

  • feat(plugins): implement the seven finalized UI slots by @Tioit-Wang in #1191
  • fix(mcp): dispatch streamable-HTTP replies before the SSE stream ends by @yy568821795-max in #1189
  • fix(runtime): preserve denied tool declarations in Plan and Goal by @zszz3 in #1184
  • 修复聊天模型选择后的友好名称覆盖 wire ID by @aurorax-neo in #1167
  • fix(compaction): send the session id as the summary prompt cache key by @MM8866-stock in #1165
  • fix(desktop): bootstrap Electron before dev startup by @aaskfuqw in #1146
  • fix(providers): 补齐 StepFun Plan 订阅端点配置 by @zszz3 in #1139
  • Fix German catalog Sie-form consistency and restore noProjectSessions wording by @theluckystrike in #1180
  • fix(plugins): hide docked native views under host plugin modals by @ZxlDragonDoctor in #1148
  • fix(host-core): return FILE_NOT_FOUND for missing Read/Write targets by @ZxlDragonDoctor in #1117
  • fix(host-core): ignore symbolic links during capability directory copy by @Totopo27 in #1194
  • fix(agent-runtime): report subagent output token truncation as failure by @Totopo27 in #1193
  • feat(voice): add scoped Live Voice work sessions by @vastsa in #1161
  • fix(desktop): treat portable distribution as manual update mode by @Totopo27 in #1200
  • perf(skills): 批量导入 Skill 文件夹并复用上次成功位置 by @hui455 in #1172
  • feat(plugins): add net.anyHost install-time egress grant by @Tioit-Wang in #1209
  • fix(desktop): cap window minimum to display work area (#1175) by @xiaobaZeo in #1210
  • fix(permissions): remove local approval deadline by @vastsa in #1218
  • fix(live-work): make voice admission outcomes reliable by @vastsa in #1220
  • fix(chat): resolve complete file paths in transcripts by @caulif in #1222
  • fix(extensions): preserve chained system prompt additions by @zszz3 in #1219
  • fix(mcp): 修复 OAuth issuer 路径发现与 scope 选择 by @zszz3 in #1231
  • fix(agent-runtime): harden subagent scratch spillover by @vastsa in #1232
  • fix(desktop): serialize plugin panel reload teardown by @vastsa in #1233
  • fix(desktop): close plugin panel on reload and clean up failed panel loads by @Totopo27 in #1198
  • fix(mcp): 明文显示编辑器中的环境变量和请求头 by @zszz3 in #1226
  • fix(rpc): bound every request with a wall-clock budget so slots always come back by @muzimu217 in #1208
  • fix(renderer): keep long-session streaming responsive by @vastsa in #1235
  • fix(chat): keep user-message URLs selectable and copyable by @OpenX123 in #1247
  • fix(desktop): stack provider setup panes on constrained viewport heights by @Totopo27 in #1234
  • feat(todo): add session-scoped checklist by @HanawaBanana in #1227
  • fix(todo): normalize checklist input and recover host state by @vastsa in #1255
  • feat(live-voice): stage call interaction UI by @vastsa in #1256
  • fix(composer): recover the slash menu from a dropped compositionend by @OpenX123 in #1248
  • fix(oauth): preserve thinking metadata for live-only models by @Zhangyinglun in #1253
  • fix(oauth): send client_version when listing ChatGPT models by @initH271 in #1251
  • fix(shared): do not import pi !command apiKey as a literal secret by @initH271 in #1252
  • fix(desktop): restore additive CA semantics for the macOS agent sidecar by @yexisu in #1215
  • feat(live-voice): expose Live Voice to regular users by @vastsa in #1259
  • fix(live-voice): show the real error cause and log call failures by @vastsa in #1261
  • fix(models): match relay IDs to official metadata by @vastsa in #1262
  • fix(electron): resolve main paths in ESM runtime by @vastsa in #1263
  • fix(ci): hoist host React for renderer tests by @vastsa in #1264
  • feat(desktop): report one-off notices through the toast stack by @vastsa in #1266
  • feat(live-voice): default work to the current session by @vastsa in #1265

New Contributors

Full Changelog: v0.15.10...v0.16.0-beta.1

v0.15.10

Choose a tag to compare

@github-actions github-actions released this 28 Sep 12:38

What's Changed

  • fix(theme): bring the remaining button paints under --ds-* tokens by @Tioit-Wang in #1166
  • fix(plugins): preserve randomized marketplace catalog order by @vastsa in #1182

Full Changelog: v0.15.9...v0.15.10

v0.15.9

Choose a tag to compare

@github-actions github-actions released this 27 Sep 19:56
b684e66

What's Changed

  • chore(release): remove docs deploy job by @vastsa in #936
  • fix(agent-runtime): restore deferred ToolSearch activations by @yg2224 in #922
  • fix(composer): preserve newer drafts after command completion by @yuxino in #934
  • fix(persistence): recover stale transcript turn failures by @vastsa in #947
  • feat(provider): enable native search for Codex OAuth by @vastsa in #956
  • fix(chat): preserve queued attachments after restart by @yuxino in #955
  • 修复主题插件包内资源安装失败 by @vastsa in #963
  • fix(chat): size transcript error cards to content band by @vastsa in #964
  • fix(composer): display and match models by their complete wire ID by @aurorax-neo in #966
  • feat(work-panel): 支持拖拽调整右侧工作面板标签页顺序 by @catDforD in #959
  • fix(settings): keep rename and selected models visible by @Blue-Berrys in #920
  • fix(chat): isolate asktool card state between requests by @yuxino in #961
  • fix(chat): preserve complete text when editing long messages by @yuxino in #962
  • fix(queue): 允许取消等待中的立即发送消息 by @zszz3 in #965
  • fix(notification): prevent replayed task notifications by @yg2224 in #948
  • fix(attachments): send SVG inputs as files instead of model images by @inorilzy in #969
  • fix(plugin-devkit): reject package-relative theme assets at check time by @VMF-HIBIKI in #944
  • fix(agent-runtime): send adaptive thinking to effort-only Claude models by @onerentop in #949
  • docs: sync missing specs after merging fix PRs #920 #944 #965 #969 by @vastsa in #976
  • feat(i18n): add Brazilian Portuguese (pt-BR) shell locale by @magisph in #974
  • feat(search): 在原服务入口启用官方原生搜索 by @hui455 in #977
  • feat(chat): show message timestamp in bubble toolbar by @vastsa in #981
  • fix(agent-runtime): prevent subagent tool-mismatch by strengthening selection guidance by @vastsa in #983
  • feat(chat): show compaction summary on token hover by @vastsa in #985
  • 修复子代理对话在窄面板中的自适应展示 by @vastsa in #989
  • fix(desktop): mitigate Chromium AX renderer crash and harden recovery by @vastsa in #1002
  • fix(desktop): drop orphaned FK outbox entries and cap sidecar heap by @vastsa in #1006
  • fix(mcp): honor HTTP tool call timeout by @hui455 in #1003
  • fix(mcp): refresh remote server status in settings by @hui455 in #1004
  • feat(sessions): fork completed replies while later turns run by @yuxino in #843
  • feat(markdown): add table copy, CSV export and expanded preview by @yuxino in #828
  • feat(skills): discover installed pi CLI skills before import by @yuxino in #814
  • fix(i18n): add missing pt-BR table action strings by @vastsa in #1011
  • style: refine model picker UI by @vastsa in #1020
  • fix(desktop): resolve Windows npx stdio MCP via node and fnm (v2) by @vastsa in #1017
  • fix: model picker light-mode visibility by @vastsa in #1022
  • fix(ui): replace raw checkbox border-radius with token by @vastsa in #1026
  • feat(settings): keep computer awake while app is running by @hui455 in #1021
  • feat(work-panel): show subagents as closable transcript tabs by @Tioit-Wang in #1027
  • feat(shell): Mid-Autumn easter egg on first launch, replayable from Settings by @Tioit-Wang in #1029
  • fix(composer): fade the transcript instead of painting an opaque dock band by @Tioit-Wang in #1015
  • fix(chat): wrap long slash command chips in the transcript (#1019) by @yuxino in #1031
  • fix(agent-host): keep the next queued message cancelable during startup by @zszz3 in #1033
  • fix(catalog): resolve gateway model metadata from other publishers by @lenmei233 in #1036
  • feat(desktop): 在 Windows 任务栏显示任务结果未读角标 by @caulif in #1034
  • feat(chat): browse generated image batches in one card by @hui455 in #1035
  • fix(agent-runtime): update prompt assertions after system prompt trim by @vastsa in #1038
  • fix(skills): ignore hidden scoped package entries by @vastsa in #1042
  • fix(catalog): restore thinking shape and context window for unidentified gateway rows by @onerentop in #1041
  • fix(catalog): complete custom Anthropic fallback paths by @vastsa in #1045
  • fix(config-sync): keep cloud backup settings ready on revisit by @vastsa in #1055
  • fix(desktop): clear task badge when restoring chat by @vastsa in #1056
  • revert: remove standalone pi skill discovery by @vastsa in #1058
  • chore(shell): drop the Mid-Autumn egg and the Chinese dark mascot by @vastsa in #1061
  • fix(skills): 支持一条消息选择多个 Skill 并保留会话显示 by @zszz3 in #1066
  • fix(plugin-panel): keep bridge calls attributed while a surface closes by @vastsa in #1067
  • fix(sidebar): 限制运行状态呼吸动画,避免持续出帧 by @zszz3 in #1070
  • fix(runtime): 修复 Google Gemini 预设不可用(Google 适配器拒绝自定义 fetch) by @vastsa in #1076
  • fix(voice): keep Windows native modules package-resolvable by @vastsa in #1079
  • fix(desktop): isolate destination page scrolling by @vastsa in #1082
  • fix(integration): land PRs 1083-1085 with repairs by @vastsa in #1088
  • fix(security): enforce symlink root confinement, sha256 digests, and bootstrap isolation by @Totopo27 in #1083
  • refactor(architecture): decouple main state bridges and extract store transform helpers by @Totopo27 in #1084
  • perf(host-core): integrate mimalloc as global memory allocator by @Totopo27 in #1085
  • refactor(dead-code): remove unused desktop symbols by @vastsa in #1099
  • docs(policy): limit outside pull requests to fix and perf by @vastsa in #1100
  • fix(host-core): normalize test path expectations for cross-platform runners by @Totopo27 in #1103
  • fix(browser): 修复导航归属并保留标签页面状态 by @zszz3 in #1087
  • fix(chat): follow model thinking defaults on model switch by @vastsa in #1104
  • fix(desktop): name a sidecar crash in the durable turn it kills (#1077) by @JoyaWang in #1080
  • fix(updater): relocate Windows update cache by @vastsa in #1102
  • fix(markdown): preserve wrapped HTTP link destinations by @vastsa in #1114
  • feat(updater): add automatic and manual update preference by @vastsa in #1116
  • feat(skills): 返回技能文件位置 by @zszz3 in #1062
  • fix(provider): 支持小米 Token Plan 端点 by @zszz3 in #1075
  • fix(agent-runtime): classify host capacity exhaustion distinctly from provider auth failures by @Totopo27 in #1115
  • fix(models): preserve explicit settings across catalog updates by @vastsa in #1118
  • fix(desktop): portal route dialogs above the sidebar by @vastsa in #1119
  • perf(agent-runtime): bound inlined image history to prevent V8 sidecar heap exhaustion by @Totopo27 in #1105
  • fix(e2e): align image chat viewport with native window by @vastsa in #1122
  • Fix/attachment history byte budget by @vastsa in #1125
  • fix: models.dev last-segment match + official-vendor disambiguation by @aurorax-neo in #1047
  • fix(renderer): 降低流式渲染与目标页卡顿 by @vastsa in #1128
  • refactor(quality): tighten low-risk code paths by @v...
Read more

v0.15.8

Choose a tag to compare

@github-actions github-actions released this 25 Sep 20:52

What's Changed

  • chore(release): remove docs deploy job by @vastsa in #936
  • fix(agent-runtime): restore deferred ToolSearch activations by @yg2224 in #922
  • fix(composer): preserve newer drafts after command completion by @yuxino in #934
  • fix(persistence): recover stale transcript turn failures by @vastsa in #947
  • feat(provider): enable native search for Codex OAuth by @vastsa in #956
  • fix(chat): preserve queued attachments after restart by @yuxino in #955
  • 修复主题插件包内资源安装失败 by @vastsa in #963
  • fix(chat): size transcript error cards to content band by @vastsa in #964
  • fix(composer): display and match models by their complete wire ID by @aurorax-neo in #966
  • feat(work-panel): 支持拖拽调整右侧工作面板标签页顺序 by @catDforD in #959
  • fix(settings): keep rename and selected models visible by @Blue-Berrys in #920
  • fix(chat): isolate asktool card state between requests by @yuxino in #961
  • fix(chat): preserve complete text when editing long messages by @yuxino in #962
  • fix(queue): 允许取消等待中的立即发送消息 by @zszz3 in #965
  • fix(notification): prevent replayed task notifications by @yg2224 in #948
  • fix(attachments): send SVG inputs as files instead of model images by @inorilzy in #969
  • fix(plugin-devkit): reject package-relative theme assets at check time by @VMF-HIBIKI in #944
  • fix(agent-runtime): send adaptive thinking to effort-only Claude models by @onerentop in #949
  • docs: sync missing specs after merging fix PRs #920 #944 #965 #969 by @vastsa in #976
  • feat(i18n): add Brazilian Portuguese (pt-BR) shell locale by @magisph in #974
  • feat(search): 在原服务入口启用官方原生搜索 by @hui455 in #977
  • feat(chat): show message timestamp in bubble toolbar by @vastsa in #981
  • fix(agent-runtime): prevent subagent tool-mismatch by strengthening selection guidance by @vastsa in #983
  • feat(chat): show compaction summary on token hover by @vastsa in #985
  • 修复子代理对话在窄面板中的自适应展示 by @vastsa in #989
  • fix(desktop): mitigate Chromium AX renderer crash and harden recovery by @vastsa in #1002
  • fix(desktop): drop orphaned FK outbox entries and cap sidecar heap by @vastsa in #1006
  • fix(mcp): honor HTTP tool call timeout by @hui455 in #1003
  • fix(mcp): refresh remote server status in settings by @hui455 in #1004
  • feat(sessions): fork completed replies while later turns run by @yuxino in #843
  • feat(markdown): add table copy, CSV export and expanded preview by @yuxino in #828
  • feat(skills): discover installed pi CLI skills before import by @yuxino in #814
  • fix(i18n): add missing pt-BR table action strings by @vastsa in #1011
  • style: refine model picker UI by @vastsa in #1020
  • fix(desktop): resolve Windows npx stdio MCP via node and fnm (v2) by @vastsa in #1017
  • fix: model picker light-mode visibility by @vastsa in #1022
  • fix(ui): replace raw checkbox border-radius with token by @vastsa in #1026
  • feat(settings): keep computer awake while app is running by @hui455 in #1021
  • feat(work-panel): show subagents as closable transcript tabs by @Tioit-Wang in #1027
  • feat(shell): Mid-Autumn easter egg on first launch, replayable from Settings by @Tioit-Wang in #1029
  • fix(composer): fade the transcript instead of painting an opaque dock band by @Tioit-Wang in #1015
  • fix(chat): wrap long slash command chips in the transcript (#1019) by @yuxino in #1031
  • fix(agent-host): keep the next queued message cancelable during startup by @zszz3 in #1033
  • fix(catalog): resolve gateway model metadata from other publishers by @lenmei233 in #1036
  • feat(desktop): 在 Windows 任务栏显示任务结果未读角标 by @caulif in #1034
  • feat(chat): browse generated image batches in one card by @hui455 in #1035
  • fix(agent-runtime): update prompt assertions after system prompt trim by @vastsa in #1038
  • fix(skills): ignore hidden scoped package entries by @vastsa in #1042
  • fix(catalog): restore thinking shape and context window for unidentified gateway rows by @onerentop in #1041
  • fix(catalog): complete custom Anthropic fallback paths by @vastsa in #1045
  • fix(config-sync): keep cloud backup settings ready on revisit by @vastsa in #1055
  • fix(desktop): clear task badge when restoring chat by @vastsa in #1056
  • revert: remove standalone pi skill discovery by @vastsa in #1058
  • chore(shell): drop the Mid-Autumn egg and the Chinese dark mascot by @vastsa in #1061
  • fix(skills): 支持一条消息选择多个 Skill 并保留会话显示 by @zszz3 in #1066
  • fix(plugin-panel): keep bridge calls attributed while a surface closes by @vastsa in #1067
  • fix(sidebar): 限制运行状态呼吸动画,避免持续出帧 by @zszz3 in #1070
  • fix(runtime): 修复 Google Gemini 预设不可用(Google 适配器拒绝自定义 fetch) by @vastsa in #1076

New Contributors

Full Changelog: v0.15.6...v0.15.8

PI-Desktop v0.15.7 · 中秋限时限定版

Choose a tag to compare

@github-actions github-actions released this 24 Sep 21:41

中秋限时限定版

PI-Desktop 0.15.7 正式版,特别加入中秋限时体验:首次启动播放全屏月下动画,也可在设置中再次播放。

Highlights

  • 可选本地语音输入,支持可取消且带校验的模型下载,并保护过期转写结果。
  • Windows Portable 单文件版本与安装包、ZIP 一同发布。
  • 改进 Agent 取消/恢复、模型与 Provider 处理、批量图片和工作面板体验。

This is the official 0.15.7 Mid-Autumn limited-time edition.

完整变更记录:
v0.15.6...v0.15.7

v0.15.7-beta.1

v0.15.7-beta.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Sep 19:48

What's Changed

  • chore(release): remove docs deploy job by @vastsa in #936
  • fix(agent-runtime): restore deferred ToolSearch activations by @yg2224 in #922
  • fix(composer): preserve newer drafts after command completion by @yuxino in #934
  • fix(persistence): recover stale transcript turn failures by @vastsa in #947
  • feat(provider): enable native search for Codex OAuth by @vastsa in #956
  • fix(chat): preserve queued attachments after restart by @yuxino in #955
  • 修复主题插件包内资源安装失败 by @vastsa in #963
  • fix(chat): size transcript error cards to content band by @vastsa in #964
  • fix(composer): display and match models by their complete wire ID by @aurorax-neo in #966
  • feat(work-panel): 支持拖拽调整右侧工作面板标签页顺序 by @catDforD in #959
  • fix(settings): keep rename and selected models visible by @Blue-Berrys in #920
  • fix(chat): isolate asktool card state between requests by @yuxino in #961
  • fix(chat): preserve complete text when editing long messages by @yuxino in #962
  • fix(queue): 允许取消等待中的立即发送消息 by @zszz3 in #965
  • fix(notification): prevent replayed task notifications by @yg2224 in #948
  • fix(attachments): send SVG inputs as files instead of model images by @inorilzy in #969
  • fix(plugin-devkit): reject package-relative theme assets at check time by @VMF-HIBIKI in #944
  • fix(agent-runtime): send adaptive thinking to effort-only Claude models by @onerentop in #949
  • docs: sync missing specs after merging fix PRs #920 #944 #965 #969 by @vastsa in #976
  • feat(i18n): add Brazilian Portuguese (pt-BR) shell locale by @magisph in #974
  • feat(search): 在原服务入口启用官方原生搜索 by @hui455 in #977
  • feat(chat): show message timestamp in bubble toolbar by @vastsa in #981
  • fix(agent-runtime): prevent subagent tool-mismatch by strengthening selection guidance by @vastsa in #983
  • feat(chat): show compaction summary on token hover by @vastsa in #985
  • 修复子代理对话在窄面板中的自适应展示 by @vastsa in #989
  • fix(desktop): mitigate Chromium AX renderer crash and harden recovery by @vastsa in #1002
  • fix(desktop): drop orphaned FK outbox entries and cap sidecar heap by @vastsa in #1006
  • fix(mcp): honor HTTP tool call timeout by @hui455 in #1003
  • fix(mcp): refresh remote server status in settings by @hui455 in #1004
  • feat(sessions): fork completed replies while later turns run by @yuxino in #843
  • feat(markdown): add table copy, CSV export and expanded preview by @yuxino in #828
  • feat(skills): discover installed pi CLI skills before import by @yuxino in #814
  • fix(i18n): add missing pt-BR table action strings by @vastsa in #1011
  • style: refine model picker UI by @vastsa in #1020
  • fix(desktop): resolve Windows npx stdio MCP via node and fnm (v2) by @vastsa in #1017
  • fix: model picker light-mode visibility by @vastsa in #1022
  • fix(ui): replace raw checkbox border-radius with token by @vastsa in #1026
  • feat(settings): keep computer awake while app is running by @hui455 in #1021
  • feat(work-panel): show subagents as closable transcript tabs by @Tioit-Wang in #1027
  • feat(shell): Mid-Autumn easter egg on first launch, replayable from Settings by @Tioit-Wang in #1029
  • fix(composer): fade the transcript instead of painting an opaque dock band by @Tioit-Wang in #1015
  • fix(chat): wrap long slash command chips in the transcript (#1019) by @yuxino in #1031
  • fix(agent-host): keep the next queued message cancelable during startup by @zszz3 in #1033
  • fix(catalog): resolve gateway model metadata from other publishers by @lenmei233 in #1036
  • feat(desktop): 在 Windows 任务栏显示任务结果未读角标 by @caulif in #1034
  • feat(chat): browse generated image batches in one card by @hui455 in #1035
  • fix(agent-runtime): update prompt assertions after system prompt trim by @vastsa in #1038

New Contributors

Full Changelog: v0.15.6...v0.15.7-beta.1

PI-Desktop v0.15.6

Choose a tag to compare

@github-actions github-actions released this 23 Sep 06:27
4547158

Highlights

  • Added support for GPT-6 Astra, Sol, and Luna in the OpenAI and ChatGPT/Codex model catalogs.
  • Fixed Windows installer packaging on Node 24.

What's Changed

  • fix(release): make Windows packaging compatible with Node 24 (#932)

v0.15.4

Choose a tag to compare

@github-actions github-actions released this 23 Sep 02:31

What's Changed

  • chore(release): v0.15.2 by @vastsa in #797
  • fix(vercel): pin supported pnpm for docs deployment by @vastsa in #800
  • fix(docs): deploy Vercel site only after releases by @vastsa in #805
  • fix(scheduled): preserve manual task workspace bindings by @yuxino in #803
  • fix(scheduled): allow hourly updates without calendar fields by @yuxino in #804
  • fix(plugins): preserve declared thinkingLevels on plugin providers by @ZxlDragonDoctor in #796
  • fix(host-core): protect degraded model binding updates by @vastsa in #809
  • fix(shortcuts): reject conflicting individual resets by @yuxino in #808
  • fix(projects): preserve editor drafts during background updates by @yuxino in #807
  • fix(chat): preserve editing and search during IME Escape by @yuxino in #801
  • fix(browser): update chrome after same-document navigation by @yuxino in #811
  • fix(session): keep temporary-task attachments readable after branching by @yuxino in #815
  • fix(chat): lock queued prompt actions until admission completes by @yuxino in #806
  • fix(scheduled): use project path identity for task bindings by @hui455 in #820
  • fix(scheduled): distinguish hourly placeholders from calendar times by @hui455 in #821
  • fix(scheduled): allow maintenance of unarmed legacy tasks by @hui455 in #822
  • fix(scheduled): pause bound tasks when removing a project by @hui455 in #823
  • fix(scheduled): avoid serial waits for task startup by @hui455 in #824
  • fix(settings): release explicitly deselected image models by @yuxino in #833
  • docs(mcp): add user guide for market catalogs and credentials by @Frank-zhu0404 in #835
  • feat(config-sync): add encrypted portable configuration sync by @vastsa in #834
  • fix(agent-runtime): repair hosted-search continuation contracts by @zeroy1024 in #825
  • fix(agent-runtime): keep unreplayable search history usable by @vastsa in #836
  • feat(config-sync): support LAN HTTP and append-only WebDAV by @vastsa in #838
  • fix(desktop): refuse a slash submission when the command source fails, and give compaction its own deadline (#795) by @vastsa in #848
  • fix(desktop): bound the startup wait and make a stuck boot recoverable (#831) by @vastsa in #850
  • fix(agent-runtime): keep the recent context window when a summary fails (#827) by @vastsa in #851
  • fix(config-sync): isolate global capabilities in sync tests by @yuxino in #842
  • fix(windows): publish portable build as zip by @vastsa in #857
  • feat(skills): carry skill package resources above the document cap by @vastsa in #855
  • fix(skills): compile the package bound test module by @vastsa in #858
  • fix(agent-runtime): feed pi's file-op collector the names it reads by @vastsa in #862
  • feat(config-sync): show what a running sync is doing by @vastsa in #861
  • fix(settings): give fields and dropdowns one control height by @vastsa in #865
  • fix(settings): name Settings model options by their vendor account by @hxj04121-lab in #866
  • fix(agent-runtime): bound trusted extension lifecycle waits by @hui455 in #788
  • fix(agent-runtime): 修复子代理恢复与跨轮缓存的模型授权绕过 by @hui455 in #847
  • fix(oauth): offer xAI chat models returned by GET /v1/models by @feeeeling in #844
  • fix(chat): copy rendered formulas as round-trippable TeX by @KtzeAbyss in #852
  • fix(agent-runtime): 修复中途插入指令后上游 400 Duplicate tool output by @deqiying in #856
  • fix(settings): reconcile image bindings when removing provider models by @hui455 in #873
  • fix(settings): confirm provider saves without claiming image selection by @hui455 in #874
  • fix(images): support Clash Fake-IP image result downloads by @hui455 in #875
  • feat(network): trust the endpoints the user enters themselves by @vastsa in #881
  • docs(readme): add Discord community badge by @vastsa in #884
  • docs(readme): replace the Discord badge with the Reddit r/AIUO badge by @vastsa in #886
  • feat(scheduled): save project, permission, and model per task by @vastsa in #885
  • feat(scheduled): save project, permission, and model per task by @hui455 in #863
  • fix(scheduled): task drafts resolve the model's binding thinking level by @vastsa in #887
  • fix(agent-runtime): ignore a stream delta that omits its string field by @vastsa in #888
  • docs(readme): use the multi-agent mockup as the README hero image by @vastsa in #889
  • docs(site): redesign the documentation site around real product UI by @vastsa in #890
  • docs(readme): swap the README hero for the shots.so mockup by @vastsa in #891
  • docs(site): swap the homepage hero to the unframed workspace shot by @vastsa in #892
  • docs(site): rebuild the landing page in a keynote register by @vastsa in #893
  • fix(settings): clear the image model when nothing remains selectable by @vastsa in #895
  • feat(settings): start each category at the top by @yuxino in #813
  • fix(config-sync): recover WebDAV setup from nested directories and stale credentials by @vastsa in #898
  • fix(providers): fold fullwidth header values instead of failing the request by @vastsa in #896
  • fix(config-sync): keep the vault-password error code visible by @vastsa in #899
  • fix: send valid tool schemas and non-empty reasoning replay to OpenAI-compatible relays by @vastsa in #900
  • fix(oauth): load vendor account models from each vendor by @vastsa in #901
  • chore(agent-runtime): sync Pi SDK to 0.87.0 by @vastsa in #902
  • feat(settings): gate cloud sync behind developer mode by @vastsa in #903
  • fix(chat): show why a vendor session cannot launch by @vastsa in #905

New Contributors

Full Changelog: v0.15.2...v0.15.4