v0.8.1
中文
基于 v0.8.0..v0.8.1 的提交整理。
桌面客户端
- 新增完整 Electron 桌面应用(主进程 / preload / 打包脚本)。
- macOS arm64 DMG / Windows x64 安装包内置 Node 运行时与
piCLI,用户无需本机预装 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-standalone、bundle-runtime-node、bundle-pi-cli、electron-after-pack。 package.json增加engines.node >= 22.19.0、verify脚本与 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 +
piCLI (no system Node required). - Packaging overlays full
@earendil-works/*trees andnode-ptyprebuilds for dynamic imports. - PATH / env fixes so
npmandpiwork 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
streamFnkey 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.1to 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.
verifyscript 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".