Skip to content

v0.8.1

Choose a tag to compare

@ct-jyjntc ct-jyjntc released this 27 Jul 05:48
· 153 commits to main since this release

中文

基于 v0.8.0..v0.8.1 的提交整理。

桌面客户端

  • 新增完整 Electron 桌面应用(主进程 / preload / 打包脚本)。
  • macOS arm64 DMG / Windows x64 安装包内置 Node 运行时与 pi CLI,用户无需本机预装 Node。
  • 打包时完整叠加 @earendil-works/* 依赖树与 node-pty 原生预构建,避免动态导入失败。
  • 修复 macOS 路径、环境变量与子进程 PATH,保证 npm / pi 在桌面端可用。
  • 按平台适配标题栏 / 侧边栏样式(含 macOS traffic lights 区域)。

新增

  • 设置面板:统一主题、语言、会话标题模型等偏好(SettingsConfig + /api/web-settings)。
  • 会话标题模型可配置:支持指定 utility model,自动命名失败时有回退策略。
  • Git 工作区面板:分支、stage / unstage、commit、pull / push、discard、diff 全流程。
  • AI / 启发式提交信息:空提交时用启发式;支持「生成」走 AI 草稿(可含 unstaged 上下文)。
  • 内置终端(PTY):cwd 下交互终端,支持 resize / 输入 / SSE 事件流。
  • 命令执行 API/api/cwd/exec 在受控 cwd 内执行命令。
  • 目录选择器:DirectoryPicker + /api/cwd/browse,便于选择工作目录。
  • 图片输入:模型支持图像附件,聊天输入与附件链路同步更新。
  • 权限模式:ask / full 权限切换与相关 UI widgets。
  • 扩展 Widgets:todo 列表、subagent、通用扩展面板展示。
  • 插件管理增强:npm 注册表搜索、安装面板布局与检索优化。
  • 中英本地化:界面、技能、agent 消息、权限与设置文案 i18n。
  • 消息展开:长用户消息可折叠 / 展开。
  • 上下文面板:会话上下文查看(ContextPanel)。
  • 应用更新检查/api/app-update + 版本追踪。
  • 安全加固:上传体积限制、bounded form data、路径安全校验、请求安全检查。
  • 内置包自动安装:permission / subagents / todo / ask-user 等 first-party 包引导安装。

修复

  • 修复会话自动命名 streamFn 参数键错误,避免 auto-name 500。
  • 锁定并升级 Pi SDK(到 0.82.1),减少运行时不兼容。
  • 改善模型运行时错误向上游 API 透出。
  • 会话 key 使用 UUID,降低碰撞风险。
  • 默认监听地址改为 127.0.0.1,降低误暴露风险。

改进

  • 大量 UI 重构:ChatWindow / ChatInput / ModelsConfig / SkillsConfig 模态与菜单溢出处理。
  • 隐藏消息列表原生滚动条,优化顶部栏与输入区响应式布局。
  • 设计 token 统一:圆角 / 阴影 / 状态色走 CSS 变量。
  • 主题跟随系统深色模式偏好。
  • 流式更新节流、语法高亮共享、助手片段缓存,降低重渲染。
  • 文件浏览器 Git 状态标记与 diff 视图联动增强。
  • Markdown 渲染与代码高亮体验优化。
  • README 中英文更新,并补充明暗主题截图。
  • 新增 scripts/verify.mjs 与多项单元测试(路径安全、上传限制、目录浏览等)。

依赖 / 内部

  • Pi 相关包升级至 @earendil-works/*@^0.82.1
  • Electron 打包链路:prepare-electron-standalonebundle-runtime-nodebundle-pi-clielectron-after-pack
  • package.json 增加 engines.node >= 22.19.0verify 脚本与 postinstall pty 权限修复。
  • 发布 npm 版本标记:@agegr/pi-web@0.8.1(本仓库桌面产物版本)。

安装说明(本 Release 附件)

macOS

  • 附件:Pi-Web-0.8.1-arm64.dmg(Apple Silicon)
  • 签名:ad-hoc( Apple 公证)
  • 若 Gatekeeper 拦截:
# 方式 1:右键 App → 打开 → 打开
# 方式 2:
xattr -cr "/Applications/Pi Web.app"
open "/Applications/Pi Web.app"

Windows

  • 附件:Pi-Web-0.8.1-x64.exe(Windows x64 NSIS 安装包)
  • 双击安装,可自定义安装目录;安装后会创建桌面与开始菜单快捷方式。
  • 如 SmartScreen 提示「Windows 已保护你的电脑」:点击「更多信息」→「仍要运行」。

English

Prepared from commits in v0.8.0..v0.8.1.

Desktop Client

  • Full Electron desktop app (main / preload / packaging scripts).
  • macOS arm64 DMG / Windows x64 installer ships a portable Node runtime + pi CLI (no system Node required).
  • Packaging overlays full @earendil-works/* trees and node-pty prebuilds for dynamic imports.
  • PATH / env fixes so npm and pi work inside the desktop app.
  • Platform-aware title bar / sidebar chrome (including macOS traffic-light inset).

Added

  • Settings panel for theme, locale, and session title model preferences.
  • Configurable title model with utility-model resolution and fallbacks.
  • Git workspace panel: branches, stage/unstage, commit, pull/push, discard, diff.
  • AI + heuristic commit messages (heuristic on empty; AI via Generate, optional unstaged context).
  • Built-in PTY terminal under cwd with resize/input/SSE.
  • Cwd command exec API (/api/cwd/exec).
  • Directory picker + browse API for choosing working directories.
  • Image input support for multimodal models.
  • Permission modes (ask / full) and extension widgets (todo / subagent / generic).
  • Plugin management improvements (registry search, layout, install UX).
  • EN/ZH i18n across UI, skills, agent messages, permissions, settings.
  • Message expand/collapse for long user messages.
  • Context panel for session context inspection.
  • App update check endpoint and version tracking.
  • Security hardening: upload limits, bounded form data, path/request security checks.
  • Builtin package bootstrap for first-party pi packages.

Fixed

  • Session auto-name streamFn key mismatch (HTTP 500).
  • Pi SDK pin/upgrade path to 0.82.1.
  • Better model runtime error propagation.
  • UUID-based session keys to reduce collisions.
  • Default bind host 127.0.0.1 to reduce accidental exposure.

Improved

  • UI refactors for chat, model/skills modals, overflow menus, responsive chrome.
  • Hidden native chat scrollbar; cleaner top bar / input layout.
  • Shared design tokens (radius/shadow/status colors).
  • System dark-mode following theme.
  • Streaming throttle, shared syntax highlighter, assistant fragment caching.
  • File explorer Git markers + diff integration.
  • Markdown / highlighting polish.
  • README (EN/ZH) + light/dark screenshots.
  • verify script and additional unit tests.

Internal / Dependencies

  • @earendil-works/*^0.82.1.
  • Electron packaging pipeline expanded (standalone prepare, runtime Node, pi CLI, afterPack).
  • engines.node >= 22.19.0, postinstall pty perms fix.
  • Version bump to 0.8.1.

Install Notes

macOS

  • Asset: Pi-Web-0.8.1-arm64.dmg (Apple Silicon)
  • Signing: ad-hoc (not Apple notarized)
  • If Gatekeeper blocks:
xattr -cr "/Applications/Pi Web.app"
open "/Applications/Pi Web.app"

Windows

  • Asset: Pi-Web-0.8.1-x64.exe (Windows x64 NSIS installer)
  • Run the installer; you can choose the install directory. Desktop and Start Menu shortcuts are created.
  • If SmartScreen says "Windows protected your PC": click "More info" → "Run anyway".