Skip to content

1.0.23

Choose a tag to compare

@deskwand deskwand released this 01 Aug 17:28

🎉 1.0.23

中文

✨ 新功能

  • 远程频道运行时(Channel Runtime): 全新的频道运行时核心,涵盖生命周期管理、会话绑定持久化、投递回执与发件箱提交、崩溃恢复、附件存储、交互鉴权、通知路由与策略引擎;新增 Telegram、Discord、QQ、Slack、微信、飞书 六大频道适配器,其中 Slack 支持 Socket Mode 与签名校验,微信 iLink 支持扫码登录与媒体 CDN。
  • 频道目录全面改版: 品牌 Logo + 网格卡片布局,每个频道类型单一实例,新增频道状态指示、凭据编辑与微信扫码配对;同时移除遗留的飞书配置/配对/网关 UI。
  • Pi 扩展兼容(P0–P2): 第三方 Pi 扩展可在 DeskWand 中完整运行——共享 ~/.pi/agent 配置与信任门控、包管理器 UI、RPC 模式 ExtensionUIContext 桥(27 个方法)、TUI 模态(虚拟终端 + ANSI 渲染)、以及映射到 DeskWand 会话的会话桥(waitForIdle / reload / newSession / fork / switchSession)。
  • Pi 包市场: 在设置页直接浏览、搜索并安装 6437 个pi-package 标签的 npm 包(扩展 / 技能 / 提示词 / 主题),双列市场 UI、安装状态联动、详情画廊与下载量展示。
  • 插件命令子系统: 斜杠菜单发现插件命令,拦截逻辑与 SDK 会话命令运行器保持单一事实来源,重复命令自动映射到 SDK 调用名(如 /plan:1),并带执行中/错误反馈。
  • ModelRuntime 迁移: Pi SDK 迁移至共享模型运行时与 provider 桥,内联 OAuth 模块,每会话模型设置持久化;pi-coding-agent 补丁升级至 0.82.1,新增 pi-subagents 0.14.3。
  • Provider 品牌图标: API 设置页为各模型提供商新增品牌图标。

🐛 修复

  • 每会话 API Key 隔离: 修复占位 Key 经跨提供商注册表回退后覆盖共享运行时,导致 DeepSeek 会话间歇性 401 的问题;每个 pi 会话现在拥有独立的 ModelRuntime 实例,并在会话关闭、驱逐与 OAuth 登出时统一清理。
  • 聊天自动跟随滚动重构: 以单一底部状态标志重写滚动逻辑,彻底解决流式输出时滚动抖动、触控板滚轮误杀跟随、回到底部按钮被阻塞等问题。
  • 安全存储降级: safeStorage 不可用时(如未签名的 macOS 构建)自动回退到 0600 权限的明文密钥文件并给出警告;已存在的加密密钥仍会报错,防止静默数据丢失。

♻️ 重构

  • 移除遗留远程网关后端: 删除旧的网关 Webhook 服务器、消息路由器与隧道管理器,同步精简 IPC 与 preload 暴露面。

🔧 工程

  • 版本号提升至 1.0.23;更新远程运行时与配对测试套件,新增兼容性与配对 IPC 测试,并适配配置存储测试。

English

✨ New Features

  • Channel Runtime: A brand-new remote channel runtime core covering lifecycle management, session-binding persistence, delivery receipts with outbox commits, crash recovery, attachment storage, interaction authorization, notification routing, and a policy engine — plus six channel adapters for Telegram, Discord, QQ, Slack, WeChat and Feishu, with Slack Socket Mode + signature verification and WeChat iLink QR login with media CDN.
  • Channel Catalog Redesign: Brand-new grid layout with brand logos, one instance per channel type, channel status indicators, credential editing and WeChat QR pairing; legacy Feishu config/pairing/gateway UI removed.
  • Pi Extension Compatibility (P0–P2): Third-party Pi extensions now run fully inside DeskWand — shared ~/.pi/agent config with project trust gating, package manager UI, an RPC-mode ExtensionUIContext bridge (27 methods), TUI modal with virtual terminal + ANSI rendering, and a session bridge mapping waitForIdle / reload / newSession / fork / switchSession onto DeskWand sessions.
  • Pi Package Marketplace: Browse, search and install 6,437 npm packages tagged pi-package (extensions / skills / prompts / themes) right from the settings tab, with a two-column market UI, installed-state linkage, preview galleries and download counts.
  • Plugin Command Subsystem: Slash-menu discoverable plugin commands with interception kept consistent with the SDK's session-bound command runner, duplicate commands auto-mapped to SDK invocation names (e.g. /plan:1), and immediate executing/error feedback.
  • ModelRuntime Migration: Pi SDK migrated onto a shared model runtime with a provider bridge, inlined OAuth modules, per-session model settings persistence; pi-coding-agent patch bumped to 0.82.1 with pi-subagents 0.14.3 added.
  • Provider Brand Icons: API settings now show brand icons for each model provider.

🐛 Bug Fixes

  • Per-Session API Key Isolation: Fixed intermittent 401 errors on DeepSeek sessions caused by a placeholder key overwriting the shared runtime via cross-provider registry fallback; each Pi session now gets its own ModelRuntime instance, cleaned up on session close, eviction and OAuth logout.
  • Chat Auto-Follow Rebuild: Rewrote auto-follow scrolling around a single bottom-state flag, eliminating stream-time scroll jitter, trackpad wheels killing follow, and a blocked scroll-to-bottom button.
  • Secure Storage Fallback: When safeStorage is unavailable (e.g. unsigned macOS builds), the key store now falls back to a 0600 plaintext key file with a visible warning; existing encrypted keys still throw to prevent silent data loss.

♻️ Refactoring

  • Legacy Remote Gateway Removed: Deleted the old gateway webhook server, message router and tunnel manager, with a slimmer IPC and preload surface.

🔧 Engineering

  • Version bumped to 1.0.23; remote runtime and pairing test suites updated with new compatibility and pairing IPC tests, plus config-store test adaptation.

204 files changed · +41372 −7183
Full Changelog: 1.0.22...1.0.23