Commit Graph

45 Commits

Author SHA1 Message Date
bookworm
123db247a7 feat(v1.9.0): 启动时自动 pull 配置更新 2026-04-10 12:41:17 +08:00
bookworm
722190404a fix: 闪屏后启动带 Bookworm 标题的终端窗口 2026-04-10 12:29:54 +08:00
bookworm
38b2a2d022 feat(v1.8.0): 祝贺闪屏动画替代 MsgBox + cmd 黑窗
安装成功后的体验:
- 移除: MsgBox "安装成功" 弹窗 + cmd.exe /k claude 黑窗口
- 新增: 品牌闪屏 (深色底 + 蓝紫装饰条 + 绿色大勾)
  - 淡入动画 (300ms) → 停留 2.5s → 淡出 (250ms)
  - 显示: 版本号 + Skills/Hooks 数量 + "善读者,必善造"
  - 底部提示 "双击桌面 Bookworm 图标即可启动"
- 不再自动弹出 cmd 窗口 (用户通过桌面快捷方式启动)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 12:28:51 +08:00
bookworm
23d4577743 fix(v1.7.1): Phase 7 闪退修复 + 7a/7b/7c 防崩 2026-04-10 12:18:22 +08:00
bookworm
7dd72082b7 feat(v1.7.0): 全自动环境加固 — claude alias + OAuth 清理 + 冲突修复 2026-04-10 12:08:16 +08:00
bookworm
c4177c21aa fix(installer): 授权码跳过改为强制确认 + 前置提示
问题: 旧版用户重装时, 缓存过期/格式不兼容 → 弹授权码
→ 用户以为已装过点"取消" → 凭证空 → Claude 不能用

修复:
1. 弹授权码前先 MsgBox 解释"需要授权码才能使用"
2. 点"取消安装"时二次确认"没有授权码将无法使用,确定跳过?"
3. 三级自动检测 (User env → DPAPI cache → 旧明文 cache)
   能自动恢复的不弹窗, 都恢复不了才要求输入

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 11:20:33 +08:00
bookworm
7114f4e7a8 feat: 版本号 v1.6.0, 标题栏/弹窗/EXE 属性统一显示, build.ps1 自动读取 2026-04-10 11:11:13 +08:00
bookworm
d20d9d91a7 feat(installer): 三级凭证自动检测, 重装免输授权码
Phase 4 凭证加载优先级:
1. User 环境变量 (上次安装已永久写入) → 直接加载, 完全跳过授权码
2. Registry DPAPI 缓存 → 加载 + 写 User 环境变量
3. 授权码输入 → 解密 + 写 User 环境变量

解决: 用户重装/升级时不再被要求重新输入授权码,
旧凭证自动检测并沿用. "全自动检测+修复"闭环.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 11:07:54 +08:00
bookworm
b58538bbae fix: 旧版明文缓存兼容 + 自动迁移 DPAPI + 写 User 环境变量 2026-04-10 11:05:25 +08:00
bookworm
105a328120 fix(installer): 凭证写入用户级环境变量 (永久生效)
根因: auto-setup.ps1 用 DPAPI 缓存凭证, 但 install.ps1 (bat 调用)
未同步更新, 导致桌面快捷方式启动时凭证无法加载.

修复: Phase 4 解密成功后同时写入 Process + User 级环境变量.
用户在任何终端直接输入 claude 即可启动, 无需通过 bat 启动.
移除 "缓存至 23:59" 选项 (不再需要, User 环境变量本身就是持久的).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 10:54:10 +08:00
bookworm
6275ce55dc fix(installer): bash PATH 自动修复 — Claude Code 核心工具依赖
Git for Windows 默认只把 cmd\ 加入 PATH (含 git.exe),
但 bash.exe 在 bin\ 目录, 导致 Claude Code 的 Bash 工具不可用.

Phase 1 新增: 安装 Git 后自动检测 bash.exe 位置,
将 Git\bin 永久加入用户 PATH. 搜索 4 个常见安装路径.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 10:33:38 +08:00
bookworm
d87b92319f chore: 清理过期文件 (-2731 行) + AuthGen 历史记录功能
删除:
- 5 个旧版 .bat 安装器 (已被 auto-setup.ps1 EXE 替代)
- 4 个旧版 HTML 指南 (已被 guide-unified.html 替代)
- encrypt-secrets.ps1 (已被 gen-authcode.js 替代)
- lessons-learned.md (开发备忘, 非功能文件)
- 6 个未提交测试 .enc + 备份文件 (本地清理)

新增:
- AuthGen GUI: 生成成功后自动追加 authcode-history.log
- AuthGen GUI: "推送到 Gitea" 按钮 (git add + commit + push 一键完成)
- AuthGen GUI: $args→$nodeArgs (PowerShell 保留变量冲突)
- AuthGen GUI: UTF-8 Process 编码 (修复 PS2EXE 中文乱码)
- .gitignore: +authcode-history.log +Bookworm-AuthGen.exe

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 03:20:39 +08:00
bookworm
c2e3f0e65f fix(admin): AuthGen $y 类型修复 — [int]$y 防止 PS2EXE Object[] 降级
PS2EXE 编译后 $y 被隐式当作 Object[], 导致 $y - 2 算术运算失败:
"Method invocation failed because [System.Object[]] does not contain
a method named 'op_Subtraction'"

修复: 强类型声明 [int]$y = 72

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 02:15:10 +08:00
bookworm
dba9d19129 fix(admin): AuthGen EXE 在 dist/ 子目录运行时找不到 gen-authcode.js
ScriptDir 指向 EXE 所在目录 (dist/), 但 gen-authcode.js 和
secrets.txt 在父目录。添加向上一级查找的 fallback 逻辑。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 02:10:15 +08:00
bookworm
353bbffada feat(admin): GUI 授权码生成器 Bookworm-AuthGen.exe
新增管理员可视化工具, 替代 CLI gen-authcode.js:
- WinForms GUI: 用户名/Sub-Key/有效期 + 一键生成 + 一键复制
- 品牌视觉: 白底 + #5865F2 蓝紫 + 深色标题栏 + 书虫学者图标
- PS2EXE -NoConsole -NoOutput (92 KB)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 01:59:27 +08:00
bookworm
385d3de57f security(installer): 9 BLOCKER 修复 — 三路审计验收
基于 code-reviewer + red-team-attacker + red-team-logic 三路并行审计:

B1: 日志脱敏 — Run-CmdWithUI 的 Bw-Log 对 URL 做 ://***@ 替换
B2: DPAPI 加密注册表 — Save/Get-CachedSecrets 用 ProtectedData.Protect/Unprotect
B3: credential.helper store → manager (Windows Credential Manager, DPAPI)
B4: 单实例 Mutex — Global\BookwormPortableSetup, 重复启动弹提示退出
B5: URL-encode git 凭证 — EscapeDataString 处理 @/#/% 等特殊字符
B6: 移除 OpenSSL fallback — BWENC1 格式与 openssl enc 不兼容, Node.js 为硬性要求
B7: validAttempts++ 后移 — 文件不存在不消耗尝试次数, 避免用户误锁
B8: ErrorActionPreference try/finally — 防止 uv 安装异常后全局静默吞错
B9: Registry 加载白名单 — CacheAllowedKeys 防止 PATH/COMSPEC 注入
V-04: Get-Random → GetTempFileName (原子创建+加密随机, 防并发碰撞)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 01:17:23 +08:00
bookworm
8a6611d96e ux(installer): 双专家审计修复 — P0 取消按钮 + P1 表单优化 + 品牌视觉
基于 UX Auditor + CTO Reviewer 两路并行审计报告的交叉修复:

P0 — 进度窗口逃生通道 (UX F1):
- ControlBox=$true, X 按钮触发 "取消安装?" 确认
- $BWInstallDone 标记: Phase 7 完成后 X 不再弹确认

P1 — 授权码 "跳过" 按钮误导 (UX F6):
- "跳过" → "取消安装", 明确传达后果

P1 — Gitea 空密码静默通过 (UX F10):
- 添加 lblError 红字验证: "用户名和密码不能为空"
- btnOK 改为手动 Click 事件验证, 不再自动 DialogResult

P1 — Gitea 对话框缺少上下文 (UX F11):
- 新增说明: "用于下载 Bookworm 配置文件,由管理员提供"

P2 — 内部术语暴露 (UX F13):
- "crypto-helper.js 缺失" → "Bookworm 启动工具包下载失败" + 3 点排查提示

P2 — 品牌视觉统一 (UX Visual):
- 进度窗口: 白底 + Bookworm 蓝紫(#5865F2) Phase 标签 + 右下角计时器
- TopMost=$false (不遮挡其他窗口)
- ProgressBar Style=Continuous (平滑)
- 全局计时器 $BWStartTime + $BWElapsedLabel "Nm Ns" 实时显示

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 01:03:36 +08:00
bookworm
7d60911f65 perf(installer): 消除全部 UI 冻结 + Write-Host 清零
## P0: 子进程 UI 阻塞 → 非阻塞轮询
- 新增 Wait-ProcessWithUI: 替代所有 WaitForExit(), 每 200ms
  泵 DoEvents(), 进度窗口保持响应, 显示等待计时
- 新增 Run-CmdWithUI: 替代 & cmd 2>&1 | ForEach-Object 模式,
  所有子进程输出走临时文件→日志, 不阻塞 UI

## P1: Phase 3 git clone/pull 无超时 → 带超时 + UI 泵
- 9 处 git 调用全部改为 Run-CmdWithUI (120s/180s 超时)
- 消除 Push-Location/Pop-Location, 改用 git -C <dir>

## P1: Phase 1 winget/npm 阻塞 → 带超时 + UI 泵
- winget install: 5 分钟超时 + 进度状态显示
- npm i -g: 2-3 分钟超时 + 进度状态显示
- Claude Code npm install: 3 分钟超时

## P2: Write-Host 归零
- 27 处非注释 Write-Host 全部替换为 Bw-Log + Update-Progress-SubStatus
- EXE 在 PS2EXE -NoOutput 下不再有任何静默丢失的输出

验证: 7/7 补丁字符串确认编译; Write-Host 仅剩 1 处 (注释内)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 00:54:28 +08:00
bookworm
1e8a7250c2 fix(build): EXE 内嵌图标改用 bookworm-desktop.ico (B 圆)
旧 bookworm.ico (galaxy 神经螺旋) 在 Explorer 32x32 显示时
中心亮点变成一个像素, 整体看起来像深色空白方块, 用户体感"没图标".

新 bookworm-desktop.ico (蓝紫渐变 B 圆) 在 16/32/48px 都保持
高对比度和强辨识, 与桌面快捷方式图标统一.

build.ps1 优先用 desktop.ico, 不存在时回退 bookworm.ico.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 20:52:18 +08:00
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
bookworm
3cb6f1dac1 fix(installer): 修复 EXE 安装器关键缺陷 + 多用户加密文件首发
根因 (auto-setup.ps1):
1. $BootUrl 定义但未使用 — bookworm-boot 仓库从未被克隆
2. $ScriptDir 在 PS2EXE 打包后回退到 $PWD (Downloads 目录)
3. Phase 4 在 EXE 同目录找 crypto-helper.js / secrets-*.enc → 必然失败
4. Phase 6 桌面快捷方式同样指向 $ScriptDir → 路径错误

修复:
- $ScriptDir 改用 Process.MainModule + PSScriptRoot 三级回退 (PS2EXE 兼容)
- 新增 $BootDir = $ScriptDir/bookworm-boot
- Phase 3 增加克隆/更新 bookworm-boot 仓库逻辑 (失败 fail-fast)
- Phase 4 crypto-helper.js / secrets-*.enc 路径统一指向 $BootDir
- Phase 6 快捷方式 .bat 路径同样改用 $BootDir

附加:
- 新增多用户加密文件 secrets-dfff6f13.enc (用户: 茶师兄, 30 天有效期)
- .gitignore 新增 users.txt / .tmp-authcodes.json / auto-setup.ps1.bak-* 防泄露
- 删除旧版 secrets.enc (单用户共享模式废弃)

测试:
- gen-authcode.js → encrypt → crypto-helper.js decrypt 闭环验证通过
- PS2EXE build artifact (215 KB) 经字符串扫描确认 5 处补丁已编译

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 18:28:12 +08:00
bookworm
a2a7ff1edb feat: EXE 图标支持 (bookworm.ico 16/32/48/256px + rcedit 注入) 2026-04-07 01:08:41 +08:00
bookworm
ee8fa10fdc fix: build.ps1 pkg PATH 修复 + gen-authcode pkg路径兼容 2026-04-07 00:20:02 +08:00
bookworm
b06f6cc582 feat: 打包脚本 + pkg 路径兼容修复
build.ps1:
  - auto-setup.ps1 → dist/Bookworm-Setup.exe (PS2EXE, 无控制台窗口)
  - gen-authcode.js → dist/gen-authcode.exe (pkg, 内嵌 Node.js)
  - 自动安装依赖 (PS2EXE / pkg),输出大小提示

gen-authcode.js:
  - SCRIPT_DIR 兼容 pkg 打包环境 (process.pkg → process.execPath)

.gitignore:
  - 新增 dist/ (EXE 输出目录,不提交二进制)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 00:01:46 +08:00
bookworm
5141b7882b feat: 多用户独立 relay Key 支持 (方案B)
gen-authcode.js:
  - 新增 --relay-key/-k 参数,替换 ANTHROPIC_API_KEY 为中转站限额子 Key
  - 新增 --user/-u 参数(仅显示标识)
  - 多用户模式输出 secrets-{token前8位}.enc,单用户仍输出 secrets.enc

install.ps1:
  - 新增 Resolve-SecretsFile: 优先找 secrets-XXXXXXXX.enc,回退 secrets.enc
  - Decrypt-Secrets 按 token 前8位定位加密文件

auto-setup.ps1:
  - Phase 4 同步 Resolve-SecretsFile 逻辑(GUI 路径)
  - 文件未找到时弹窗提示拉取对应文件

Bookworm-Setup.sh:
  - 新增 resolve_secrets_file() bash 函数
  - 解密循环按 token 前8位定位 .enc 文件

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:39:17 +08:00
bookworm
68d0b8e1d3 chore: ignore admin SOP HTML from repo distribution 2026-04-06 23:03:08 +08:00
bookworm
51525d3c1f fix: 修复授权码认证的 2 个 BLOCKER + 3 个 WARNING
BLOCKER:
- Bookworm-Setup.sh: ${var,,} → tr 兼容 macOS bash 3.2
- Bookworm-Setup.sh: while 循环加 total_attempts<10 防死循环

WARNING:
- install.ps1: 重写 Decrypt-Secrets 为 while 双计数器,
  格式/过期错误不消耗有效次数,清理残留"主密码"文案
- install.ps1 + auto-setup.ps1: 格式示例去掉误导性空格
  (XXXXXXXX → XXXXXXXXXXXXXXXXXXXXXXXX)

其他:
- 新增 .gitignore,排除 secrets.txt 防止明文密钥误提交

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:57:47 +08:00
bookworm
b83c508c22 feat: replace master password auth with time-limited authorization codes
Auth codes use format BW-YYYYMMDD-TOKEN (24-hex, 96-bit entropy).
Token doubles as the AES-256-CBC decryption key for secrets.enc.
Expiry is enforced client-side; format/expiry errors don't consume
the 3 valid-attempt quota.

- gen-authcode.js: new admin tool — generates BW auth code + re-encrypts secrets.enc
- install.ps1: Parse-AuthCode validates format/expiry, Decrypt-Secrets uses token as key
- auto-setup.ps1: Show-AuthCodeDialog WinForms input + Parse-AuthCode-GUI loop
- Bookworm-Setup.sh: parse_authcode() bash function + while-loop with format/expiry handling

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:47:04 +08:00
bookworm
197396c5fe fix: macOS 补全 {{PWSH_PATH}} 渲染 + GEMINI_API_KEY Keychain 缓存
- settings.template.json 渲染补加 {{PWSH_PATH}} → $SHELL (默认 /bin/zsh)
  避免 settings.json 留有字面量 "SHELL":"{{PWSH_PATH}}"
- save_secrets_to_cache 增加 GEMINI_API_KEY,与 Windows 版本对齐

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:19:06 +08:00
bookworm
d61b0e451f fix: macOS Bookworm-Setup.sh 补全 --dangerously-skip-permissions
- bw alias (bash): claude --dangerously-skip-permissions
- bw alias (zsh):  同上
- exec claude:     exec claude --dangerously-skip-permissions
与 Windows 版本 bat 行为对齐

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:06:06 +08:00
bookworm
d11b36f815 fix: DPAPI凭证加密 + pwsh7路径凭证注入 + PS5.1双调用优化 + assets追踪
- install.ps1: Save-SecretsToCache 改用真正 DPAPI 加密 (System.Security.ProtectedData)
  增加 GEMINI_API_KEY 到缓存键列表
- install.ps1: Get-CachedSecrets DPAPI 解密 + 旧版明文缓存向后兼容
- 启动Bookworm.bat: pwsh7路径启动 claude 前从注册表加载 DPAPI 加密凭证
- 更新并启动Bookworm.bat: 同上 + PS5.1 回退路径从2次调用精简为1次
- assets/: 纳入版本管理 (favicon-32.png / logo-200x200.png / logo-dark.svg)
- HTML: 同步 download/guide-mac/guide-unified/guide 页面更新

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 21:49:50 +08:00
bookworm
2d4dea242b fix: 去掉 Start-Process, bat 负责窗口/ps1 负责执行
根因: Start-Process pwsh 开新窗口但 claude 找不到 PATH,
同时 OneClick.bat 重复调用 install.ps1 导致双启动。

- install.ps1: 新增 -SkipLaunch 参数, step9 改为同步 & claude
- auto-setup.ps1: Phase7 去掉 Start-Process, 同步 & claude
- OneClick.bat: step7 加 -SkipLaunch, 最终块 start pwsh -Command claude
- 启动/更新.bat: 直接 start pwsh -Command claude (不经 install.ps1)

架构: bat 决定窗口类型, ps1 只管同步执行

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:34:00 +08:00
bookworm
c4c09992f6 feat: 默认启动 --dangerously-skip-permissions 模式
所有6处 claude 启动点统一添加 --dangerously-skip-permissions,
确保 Portable 用户无需手动确认即可执行 Bash 等工具操作。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:18:30 +08:00
bookworm
dee7742a12 feat: pwsh7默认终端 + Phase1依赖增强 + Phase6 MCP预安装
- Phase 1: +PowerShell 7/Python 3.12/uv, pwsh升为核心依赖
- Phase 4: 修复缓存命中后仍弹密码框的逻辑缺陷
- Phase 5: 新增 {{PWSH_PATH}} 占位符渲染
- Phase 6: npm cache add + uv tool install 预缓存(超时保护)
- Phase 7: Start-Process pwsh 独立窗口启动Claude
- install.ps1: Render函数添加 {{PWSH_PATH}} + Start-Process启动
- OneClick.bat: 新增步骤4/8安装PowerShell 7
- 所有.bat: start pwsh新窗口模式 + CRLF修复

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:48:48 +08:00
bookworm
53b25253fd fix: AutoSetup.bat 处理已存在目录 + git pull 更新 2026-04-06 16:23:59 +08:00
bookworm
a565861b31 fix: AutoSetup.bat 独立下载可用 + CRLF 换行修复
- 单独下载时自动 clone boot 仓库再运行 auto-setup.ps1
- 已在 boot 仓库内时直接运行
- 修复 LF→CRLF 换行 (Windows CMD 必须 CRLF)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:11:21 +08:00
bookworm
5e980b206b feat: 统一安装手册 guide-unified.html (Windows + macOS)
- 合并 guide.html + guide-mac.html 为单页
- JS 自动检测系统 + 手动 Tab 切换
- 7 大章节: 一键安装→依赖→Claude Code→Bookworm→日常使用→密码→卸载
- 14 条 FAQ (7 通用 + 4 Windows + 3 macOS)
- 已部署: portable.bookwormweb.com/ 首页指向统一版

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:16:48 +08:00
bookworm
b4d3f4de24 fix: 凭证解密优先用 node crypto-helper.js (BWENC1 格式)
secrets.enc 由 crypto-helper.js 加密(BWENC1 格式),
openssl 命令行无法解密(报 bad magic number)。
三个脚本统一修复: 优先 node crypto-helper.js, 回退 openssl。

影响: auto-setup.ps1 / Bookworm-Setup.sh / Bookworm-OneClick-Mac.sh

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:04:02 +08:00
bookworm
67412b871b feat: 全自动一键安装器 (auto-setup.ps1 + AutoSetup.bat)
7 阶段全自动化:
1. 环境检测 + winget 自动安装 (Node.js/Git/Claude Code)
2. 网络诊断 (代理检测 + API/Gitea/中转站连通性测试)
3. 仓库克隆 (GUI 弹窗输入 Gitea 凭证)
4. 凭证解密 (GUI 密码框 + Credential Manager 缓存)
5. 配置渲染 (settings.json 模板替换)
6. MCP 验证 + 自动安装 (Playwright 等)
7. 完整性校验 + 桌面快捷方式 + 启动

目标: 全新电脑双击一个文件即可完成全部配置

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 14:42:51 +08:00
bookworm
d07316f0f9 feat: OneClick Keychain 免密 + sync-version 补 guide.html
- Bookworm-OneClick-Mac.sh: 回退路径加 Keychain 缓存(对标 Setup.sh)
- sync-version.js: 补 guide.html 到文件列表

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 14:18:13 +08:00
bookworm
23b369f99b feat: Keychain 免密 + 版本号同步 + bw-update 修复
- Bookworm-Setup.sh: macOS Keychain 本日免密缓存(对标 Windows Credential Manager)
- Bookworm-OneClick-Mac.sh: bw-update 补 config 仓库更新
- sync-version.js: 新建版本号同步脚本(从 stats-compiled.json 自动注入)
- quick-start.html/quick-reference.txt: Hooks 29→34 修正

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 14:05:29 +08:00
bookworm
d499342271 feat: Mac 支持 v1.5 同步 + 模板清理 + 卸载脚本
- Bookworm-Setup.sh: 重写为完整 Mac 安装器(依赖检测/代理/配置克隆/凭证解密/别名bw)
- install-mac.sh: 新建重定向脚本,消除文档断链
- uninstall-mac.sh: 新建 Mac 卸载脚本(进程/凭证/历史/别名清理)
- guide-mac.html: 修复所有过时引用(install-mac.sh/start-mac.sh/bookworm→bw)
- settings.template.json: 从 boot 仓库移除(由 build-portable.js 管理)
- prepare-repo.ps1/README/quick-reference: 更新模板引用

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 13:48:05 +08:00
bookworm
83c1e613a1 feat: 纳入拓展工具 + guide.html badges 对齐
- 拓展/: MCP配置向导、PowerShell工具、mcp-auto-loader 纳入版本管理
- guide.html: badges 从模糊 "90+" 改为精确 "92 Skills | 18 Agents | 34 Hooks"
2026-04-06 00:26:45 +08:00
bookworm
bec863c5a9 fix: sync Hooks 29→34, Skills 97→92, settings.template.json NDA补全
- Bookworm-Setup.sh / guide-mac.html / download*.html Hooks 数更新
- download.html Skills 97→92 修正
- settings.template.json 替换为 portable 版 (含 NDA hooks)
2026-04-06 00:20:09 +08:00
bookworm
5e0ff18aa1 feat: Bookworm Portable v1.5 — 8 fixes (P0 NDA + P1 banners + P2 perf)
- P1: Banner v1.3→v1.5, Hooks 29→34
- P1: 卸载脚本补删 更新Bookworm.lnk
- P1: git stash pop 安全检查
- P2: Playwright 检测改用 npm list
- P2: 代理端口扫描 500ms async 超时

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 23:34:27 +08:00