================================================================================ Bookworm Portable v1.3 — 快速参考手册 所有命令可直接复制粘贴执行 ================================================================================ Gitea 地址: https://code.letcareme.com 管理员账号: [由管理员提供] 管理员密码: [由管理员提供] 中转站地址: [由管理员提供] ECS 服务器: [由管理员提供] ================================================================================ 一、首次安装 — 最简方式 (推荐) ================================================================================ 前置要求: [必须] Node.js 18+ https://nodejs.org 下载 LTS [必须] Git https://git-scm.com 下载安装 [必须] 代理/VPN Clash / V2Ray / 快柠檬 / 任意翻墙工具 (Claude Code 启动时检查 api.anthropic.com, 国内必须) 方法 A: 一键安装器 (最简单) ───────────────────────────── 1. 获取 Bookworm-Setup.bat (管理员发给你, 或从 Bookworm Web 下载页获取) 2. 双击运行 3. 按提示输入 Gitea 密码 + 主密码 4. 完成! 桌面自动出现 Bookworm 快捷方式 方法 B: 手动安装 ───────────────────────────── # 1. 确保代理/VPN 已启动 # 2. 安装 Claude Code (如未装) npm i -g @anthropic-ai/claude-code # 3. 克隆引导仓库 git clone https://code.letcareme.com/bookworm/bookworm-boot.git # 4. 进入目录 cd bookworm-boot # 5. 运行安装 (PowerShell 7 推荐, 5.1 也可) pwsh -ExecutionPolicy Bypass -File install.ps1 # 脚本自动执行: # [1/6] 前置检查 (缺依赖自动提示 winget 安装) # [2/6] 代理自动检测 (无需手动找端口) # [3/6] 解密凭证 (输入主密码, 最多3次重试, 可选本日免密) # [4/6] 同步配置 (git clone 97 Skills / 18 Agents / 28 Hooks) # [5/6] 渲染模板 + 初始化 + Bookworm 完整性验证 + MCP 检查 # [6/6] 启动 Claude Code ================================================================================ 二、日常使用 ================================================================================ 方法 A: 双击 .bat (推荐) ───────────────────────────── bookworm-boot 文件夹 (或桌面快捷方式): 启动Bookworm.bat 每天日常使用 (快速启动, 不更新) 更新并启动Bookworm.bat 管理员通知有更新时使用 启动时显示 "有 N 个新更新可用" → 双击 "更新并启动" 同步 方法 B: 命令行 ───────────────────────────── # 快速启动 (~10秒, 跳过 git clone) cd bookworm-boot pwsh -ExecutionPolicy Bypass -File install.ps1 -StartOnly # 同步更新后启动 cd bookworm-boot pwsh -ExecutionPolicy Bypass -File install.ps1 ================================================================================ 三、密码说明 ================================================================================ 本系统有两个密码, 不要搞混: Gitea 密码 克隆仓库时输入, 用于下载文件 主密码 解密 API 凭证时输入, 用于启动 Claude Code 密码输错: 最多 3 次重试, 3 次失败自动退出 本日免密: 首次解密后脚本询问 "今日内免密启动? (y/n)" 选 y 后当天再次启动无需输密码, 次日自动过期 忘记密码: 联系管理员重新生成 secrets.enc ================================================================================ 四、使用完毕清理 ================================================================================ 方法 A: 双击 卸载Bookworm.bat (最简单, 一键完整卸载) 方法 B: 命令行 ───────────────────────────── # 基础清理 (清除环境变量, 保留配置供下次使用) pwsh -ExecutionPolicy Bypass -File stop.ps1 # 完整恢复 (删除 Bookworm, 恢复电脑原始 .claude 目录) pwsh -ExecutionPolicy Bypass -File stop.ps1 -Restore # 深度清理 (恢复 + 清除 PS 历史 + 清除 Git/凭证缓存) pwsh -ExecutionPolicy Bypass -File stop.ps1 -Restore -Deep [!] 在他人电脑/公用电脑上务必执行深度清理或双击 卸载Bookworm.bat ================================================================================ 五、代理/VPN 相关 ================================================================================ install.ps1 自动检测代理, 支持: - 系统代理 (Windows 设置里的代理) - Clash for Windows / Clash Verge - V2Ray / V2RayN - 快柠檬 / 任意 VPN - 其他设置了系统代理的工具 如果自动检测失败, 手动指定: $env:HTTPS_PROXY = "http://127.0.0.1:端口号" $env:HTTP_PROXY = "http://127.0.0.1:端口号" pwsh -ExecutionPolicy Bypass -File install.ps1 查找代理端口: [System.Net.WebRequest]::DefaultWebProxy.GetProxy("https://api.anthropic.com") # 输出中的 Port 就是代理端口 常见代理端口: Clash: 7890 V2RayN: 10808 / 10809 快柠檬: 10792 (通过上述命令查询) SSR: 1080 ================================================================================ 六、管理员操作 ================================================================================ ---- 6.1 推送 Bookworm 配置到 Gitea ---- cd C:\Users\leesu\.claude git add -A git commit -m "update bookworm config" git push https://bookworm:[密码]@code.letcareme.com/bookworm/bookworm-config.git main ---- 6.2 更新 boot 仓库脚本 ---- cd C:\Users\leesu\AppData\Local\Temp\bookworm-boot cp C:\Users\leesu\Desktop\bookworm-portable\install.ps1 . cp C:\Users\leesu\Desktop\bookworm-portable\stop.ps1 . cp C:\Users\leesu\Desktop\bookworm-portable\guide.html . cp C:\Users\leesu\Desktop\bookworm-portable\secrets.enc . cp "C:\Users\leesu\Desktop\bookworm-portable\启动Bookworm.bat" . cp "C:\Users\leesu\Desktop\bookworm-portable\更新并启动Bookworm.bat" . cp "C:\Users\leesu\Desktop\bookworm-portable\卸载Bookworm.bat" . cp "C:\Users\leesu\Desktop\bookworm-portable\Bookworm-Setup.bat" . git add -A git commit -m "update boot scripts" git push https://bookworm:[密码]@code.letcareme.com/bookworm/bookworm-boot.git main ---- 6.3 重新加密凭证 ---- pwsh -ExecutionPolicy Bypass -File C:\Users\leesu\Desktop\bookworm-portable\encrypt-secrets.ps1 # 加密完成后同步到 boot 仓库 (参照 6.2) ---- 6.4 解密验证 ---- pwsh -ExecutionPolicy Bypass -File C:\Users\leesu\Desktop\bookworm-portable\encrypt-secrets.ps1 -Decrypt ---- 6.5 更新 Bookworm Web 下载页的安装器 ---- scp C:\Users\leesu\Desktop\bookworm-portable\Bookworm-Setup.bat root@8.138.11.105:/opt/bookworm-web/public/ ================================================================================ 七、SSH 服务器管理 ================================================================================ # 登录 ECS ssh root@8.138.11.105 # Gitea 状态/日志/重启 ssh root@8.138.11.105 "systemctl status gitea" ssh root@8.138.11.105 "journalctl -u gitea -n 50" ssh root@8.138.11.105 "systemctl restart gitea" # Nginx 状态 ssh root@8.138.11.105 "nginx -t && systemctl status nginx" # fail2ban 封禁/解封 ssh root@8.138.11.105 "fail2ban-client status gitea" ssh root@8.138.11.105 "fail2ban-client set gitea unbanip 1.2.3.4" # 用户管理 ssh root@8.138.11.105 "sudo -u git gitea admin user list --config /var/lib/gitea/custom/conf/app.ini" ssh root@8.138.11.105 "sudo -u git gitea admin user change-password --username bookworm --password NEW_PASSWORD --config /var/lib/gitea/custom/conf/app.ini" # 磁盘/备份 ssh root@8.138.11.105 "du -sh /var/lib/gitea /home/git/gitea-repositories" ssh root@8.138.11.105 "sudo -u git gitea dump -c /var/lib/gitea/custom/conf/app.ini --tempdir /tmp" ================================================================================ 八、故障排查 ================================================================================ 问题: "Unable to connect to Anthropic services" / "ECONNREFUSED" 原因: 代理/VPN 未启动, 或 Node.js 未读到代理设置 解决: 1. 确认代理已启动 2. install.ps1 自动检测, 失败则手动: $env:HTTPS_PROXY = "http://127.0.0.1:端口" 3. 查端口: [System.Net.WebRequest]::DefaultWebProxy.GetProxy(...) 问题: "API Error: Invalid URL" 原因: ANTHROPIC_BASE_URL 格式不对 解决: 确保 secrets.enc 中值为 https://bww.letcareme.com/v1 (末尾含 /v1) 不要在 settings.json env 段放 ANTHROPIC_BASE_URL 问题: "openssl 未找到" 解决: 确认 Git for Windows 已安装 (脚本搜索 C:\, D:\ 下的 Git 目录) 问题: "执行策略" 错误 解决: pwsh -ExecutionPolicy Bypass -File xxx.ps1 或: Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned 问题: "?.Source" 语法错误 解决: 用 pwsh (PS 7) 或更新到最新 install.ps1 (已兼容 PS 5.1) 问题: 中文乱码 / "<#" 错误 解决: 用 pwsh (PS 7) 或 git pull 获取最新文件 (含 UTF-8 BOM) 问题: 克隆失败 / 认证失败 解决: 1. git config --global credential.helper store (install.ps1 已自动执行) 2. 手动测试: git clone https://code.letcareme.com/bookworm/bookworm-config.git test 3. 浏览器打开 https://code.letcareme.com 确认可达 问题: 解密失败 / 密码错误 解决: 区分大小写, 至少 12 位, 最多 3 次重试 忘记密码需管理员重新 encrypt-secrets.ps1 问题: Claude Code 启动无 Bookworm 横幅 / 显示 "原生模式" 解决: 不加 -StartOnly 重新运行 install.ps1 同步最新配置 问题: node -v / npm -v 无法识别 解决: 安装 Node.js 后必须重开 PowerShell 或: $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User") 问题: npm 安装太慢 解决: npm config set registry https://registry.npmmirror.com ================================================================================ 九、安全规格 ================================================================================ 凭证加密: AES-256-CBC + PBKDF2 (600,000 迭代, OWASP 2023) 传输加密: HTTPS TLS 1.2+ (Let's Encrypt 证书, 自动续期) 凭证存储: 仅进程级环境变量, 不写磁盘, 不写注册表 免密缓存: Windows Credential Manager + DPAPI, 当日23:59过期 密码传递: openssl stdin 管道, 不暴露进程列表 登录保护: fail2ban (5 次失败/小时 -> 封禁 24 小时) 二进制校验: Gitea 下载 SHA-256 完整性校验 Gitea 绑定: 127.0.0.1:3300 仅本地, 通过 Nginx 443 反代 HSTS: Strict-Transport-Security max-age=31536000 注册控制: DISABLE_REGISTRATION=true, INSTALL_LOCK=true 代理检测: 3阶梯自动检测 (.NET DefaultWebProxy → 注册表 → 端口扫描) ================================================================================ 十、文件清单 ================================================================================ bookworm-portable\ (本机管理员工具包) ├── Bookworm-Setup.bat 一键安装器 (发给用户的唯一文件) ├── 启动Bookworm.bat 日常双击启动 ├── 更新并启动Bookworm.bat 同步后启动 ├── 卸载Bookworm.bat 一键完整卸载 ├── install.ps1 核心安装逻辑 (含代理检测/依赖安装/验证) ├── stop.ps1 清理/恢复逻辑 ├── encrypt-secrets.ps1 凭证加密/解密 ├── generate-integrity.ps1 完整性哈希生成 ├── prepare-repo.ps1 仓库初始化+推送 ├── deploy-gitea.sh Gitea 部署 (ECS) ├── setup-https.sh HTTPS 配置 (ECS) ├── secure-firewall.sh 防火墙加固 (ECS) ├── settings.template.json settings.json 模板 ├── settings.local.template.json settings.local.json 模板 ├── guide.html HTML 保姆式教程 ├── quick-reference.txt 本文档 ├── download.html 独立下载页 ├── download-panel.html Bookworm Web 嵌入面板 ├── lessons-learned.md 踩坑经验 (10 项) └── README.txt 简要说明 Gitea 仓库: ├── bookworm-config Skills/Agents/Hooks/Scripts (514 文件, 14MB) └── bookworm-boot 安装器+脚本+凭证+教程 Bookworm Web 引流入口: └── /app → "下载" Tab 内嵌下载页 + Bookworm-Setup.bat 直链 ================================================================================ Bookworm Portable v1.3 | 2026-04-01 | code.letcareme.com ================================================================================