Bookworm Portable Setup �����ֿ� (history-cleansed 2026-04-21)
Go to file
bookworm 17c600fe93 feat(installer): GUI 进度窗 + uv 三层 fallback + 桌面专用图标 + 静默化
修复 v1.5.1 用户实测发现的两个体验问题:

1. **uv 安装失败 + RemoteException 弹窗** (auto-setup.ps1)
   - 旧逻辑: python -m pip install uv (网络/权限/$ErrorActionPreference=Stop 易触发)
   - 新逻辑: 三层 fallback (winget → Astral 官方脚本 → pip), 全程 SilentlyContinue
   - 失败仅写入 $TEMP/bookworm-uv-install.log, 不阻断不弹窗 (uv 是可选依赖)

2. **PS2EXE -NoConsole 把 Log-X 弹窗化** (build.ps1)
   - 加 -NoOutput + -NoError, 所有 Write-Host 静默吞掉
   - 用户不再被 70+ 个 [!] 弹窗轰炸

3. **静默后无进度反馈 → GUI 进度窗口** (auto-setup.ps1)
   - 新增 Show-ProgressForm/Update-Progress/Update-Progress-SubStatus/Close-ProgressForm
   - 顶部常驻 Form: 标题 + Phase 标签 + 当前状态 + 进度条 + 日志路径
   - 所有 Log-X 改写日志文件 ($TEMP/bookworm-setup-{ts}.log) + 更新进度窗口

4. **桌面专用图标** (auto-setup.ps1 + bookworm-desktop.ico)
   - 从 og-image.png 自动检测蓝紫渐变 B 圆 → 圆形 alpha mask → 7 尺寸 ICO (86 KB)
   - New-DesktopShortcuts 增加 IconLocation, 桌面快捷方式显示 Bookworm 主图标
   - 主图比 favicon 神经螺旋更突出, 48px 也清晰可辨

5. **Phase 7 安装完成 banner**: Write-Host → Show-MsgBox
6. **Claude Code 启动**: 主进程启动 → Start-Process cmd /k claude (新窗口)

构建验证: 7/7 补丁字符串 (Show-ProgressForm/BWLogFile/winget/astral/
bookworm-desktop.ico/IconLocation 等) 经 EXE 字符串扫描确认编译进 build artifact.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 20:02:53 +08:00
assets fix: DPAPI凭证加密 + pwsh7路径凭证注入 + PS5.1双调用优化 + assets追踪 2026-04-06 21:49:50 +08:00
patches feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
拓展 feat: 纳入拓展工具 + guide.html badges 对齐 2026-04-06 00:26:45 +08:00
.gitignore feat(installer): GUI 进度窗 + uv 三层 fallback + 桌面专用图标 + 静默化 2026-04-07 20:02:53 +08:00
auto-setup.ps1 feat(installer): GUI 进度窗 + uv 三层 fallback + 桌面专用图标 + 静默化 2026-04-07 20:02:53 +08:00
Bookworm-AutoSetup.bat feat: pwsh7默认终端 + Phase1依赖增强 + Phase6 MCP预安装 2026-04-06 19:48:48 +08:00
bookworm-desktop.ico feat(installer): GUI 进度窗 + uv 三层 fallback + 桌面专用图标 + 静默化 2026-04-07 20:02:53 +08:00
Bookworm-Install.bat feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
Bookworm-OneClick-Mac.sh fix: 凭证解密优先用 node crypto-helper.js (BWENC1 格式) 2026-04-06 15:04:02 +08:00
Bookworm-OneClick-Win10.bat feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
Bookworm-OneClick.bat fix: 去掉 Start-Process, bat 负责窗口/ps1 负责执行 2026-04-06 20:34:00 +08:00
Bookworm-Setup.bat feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
Bookworm-Setup.sh feat: 多用户独立 relay Key 支持 (方案B) 2026-04-06 23:39:17 +08:00
bookworm.ico feat: EXE 图标支持 (bookworm.ico 16/32/48/256px + rcedit 注入) 2026-04-07 01:08:41 +08:00
build.ps1 feat(installer): GUI 进度窗 + uv 三层 fallback + 桌面专用图标 + 静默化 2026-04-07 20:02:53 +08:00
crypto-helper.js feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
deploy-gitea.sh feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
download-panel.html fix: sync Hooks 29→34, Skills 97→92, settings.template.json NDA补全 2026-04-06 00:20:09 +08:00
download.html fix: DPAPI凭证加密 + pwsh7路径凭证注入 + PS5.1双调用优化 + assets追踪 2026-04-06 21:49:50 +08:00
encrypt-secrets.ps1 feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
gen-authcode.js feat: 打包脚本 + pkg 路径兼容修复 2026-04-07 00:01:46 +08:00
generate-integrity.ps1 feat: Mac 支持 v1.5 同步 + 模板清理 + 卸载脚本 2026-04-06 13:48:05 +08:00
guide-mac.html fix: DPAPI凭证加密 + pwsh7路径凭证注入 + PS5.1双调用优化 + assets追踪 2026-04-06 21:49:50 +08:00
guide-unified.html fix: DPAPI凭证加密 + pwsh7路径凭证注入 + PS5.1双调用优化 + assets追踪 2026-04-06 21:49:50 +08:00
guide.html fix: DPAPI凭证加密 + pwsh7路径凭证注入 + PS5.1双调用优化 + assets追踪 2026-04-06 21:49:50 +08:00
install-mac.sh feat: Mac 支持 v1.5 同步 + 模板清理 + 卸载脚本 2026-04-06 13:48:05 +08:00
install.ps1 feat: 多用户独立 relay Key 支持 (方案B) 2026-04-06 23:39:17 +08:00
lessons-learned.md feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
prepare-repo.ps1 feat: Mac 支持 v1.5 同步 + 模板清理 + 卸载脚本 2026-04-06 13:48:05 +08:00
quick-reference.txt feat: Keychain 免密 + 版本号同步 + bw-update 修复 2026-04-06 14:05:29 +08:00
quick-start.html feat: Keychain 免密 + 版本号同步 + bw-update 修复 2026-04-06 14:05:29 +08:00
README.txt feat: Mac 支持 v1.5 同步 + 模板清理 + 卸载脚本 2026-04-06 13:48:05 +08:00
secure-firewall.sh feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
settings.local.template.json feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
setup-all.js feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
setup-https.sh feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
stop.ps1 feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
sync-version.js feat: OneClick Keychain 免密 + sync-version 补 guide.html 2026-04-06 14:18:13 +08:00
uninstall-mac.sh feat: Mac 支持 v1.5 同步 + 模板清理 + 卸载脚本 2026-04-06 13:48:05 +08:00
卸载Bookworm.bat feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
启动Bookworm-v3.bat feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf) 2026-04-05 23:34:27 +08:00
启动Bookworm.bat fix: DPAPI凭证加密 + pwsh7路径凭证注入 + PS5.1双调用优化 + assets追踪 2026-04-06 21:49:50 +08:00
更新并启动Bookworm.bat fix: DPAPI凭证加密 + pwsh7路径凭证注入 + PS5.1双调用优化 + assets追踪 2026-04-06 21:49:50 +08:00

Bookworm Portable v1.4 - 纯云端便携部署工具包
================================================

=== 文件说明 ===

  deploy-gitea.sh              ECS Gitea 部署 (服务端,执行一次)
  prepare-repo.ps1             仓库准备 (本机执行一次)
  encrypt-secrets.ps1          凭证加密 (本机执行一次)
  settings.local.template.json settings.local.json 模板 (权限白名单)
  (settings.template.json 已由 build-portable.js 管理,存于 config 仓库)
  install.ps1                  安装/启动 (目标机执行)
  stop.ps1                     清理/卸载 (目标机执行)

=== 一次性部署 ===

  步骤 1: 部署 Gitea (ECS)
  > scp deploy-gitea.sh root@8.138.11.105:/tmp/
  > ssh root@8.138.11.105 "GITEA_ADMIN_PASS='你的密码' bash /tmp/deploy-gitea.sh"
  > 登录 http://8.138.11.105:3000 创建两个私有仓库:
    - bookworm-config (系统文件)
    - bookworm-boot   (引导脚本+加密凭证)

  步骤 2: 推送 Bookworm 配置
  > .\prepare-repo.ps1 -GitUrl "http://8.138.11.105:3000/bookworm/bookworm-config.git"

  步骤 3: 加密凭证
  > .\encrypt-secrets.ps1
  > (输入中转站 API Key + MCP 凭证 + 设置主密码,至少 12 位)

  步骤 4: 推送 boot 仓库
  > 将 install.ps1, stop.ps1, secrets.enc 推送到 bookworm-boot 仓库

=== 目标机使用 ===

  安装: .\install.ps1
  清理: .\stop.ps1
  恢复: .\stop.ps1 -Restore
  深度: .\stop.ps1 -Deep

=== 目标机要求 ===

  [必须] Claude Code, Node.js >= 18, Git
  [可选] Python 3.x, openssl (Git for Windows 自带)

=== 安全规格 ===

  加密: AES-256-CBC + PBKDF2 (600000 迭代, OWASP 2023)
  凭证: 仅进程级环境变量,不写磁盘/注册表
  Gitea: INSTALL_LOCK=true, 注册关闭, 管理员 CLI 创建
  密码: openssl stdin 管道传入,不暴露在进程列表
  校验: Gitea 二进制 SHA256 完整性校验