|
|
@@ -33,10 +33,33 @@ node scripts/check-online.mjs
|
|
|
|
|
|
| 项 | 要求 |
|
|
|
|---|---|
|
|
|
-| Node | >= 18(内建 fetch,零 npm 依赖) |
|
|
|
-| Python | 仅 `verify-online.py` 需要,含 playwright |
|
|
|
+| Node | >= 18(内建 fetch,零 npm 依赖;建议 node:20 镜像) |
|
|
|
+| Python | 仅 `verify-online.py` 需要,含 playwright + chromium(浏览器走查;**纯 Docker/无浏览器环境跳过**,用 `check-online.mjs`) |
|
|
|
| 网络 | 可达 `recording.sh-lami.com`(或本地后端) |
|
|
|
-| 凭据 | 登录密码;OSS 凭据自动发现自项目 `server/.env` |
|
|
|
+| 时区 | 脚本日期口径固定 Asia/Shanghai(容器 UTC 时区无需配置) |
|
|
|
+| 凭据 | 登录用户名/密码(无内置默认值,见下);OSS 凭据可从服务端项目 `server/.env` 自动发现 |
|
|
|
+
|
|
|
+## Docker / Linux 部署(与服务器一致的容器环境)
|
|
|
+
|
|
|
+```bash
|
|
|
+# 1. 拉取安装(或 git clone 后用 node scripts/install.mjs --dest)
|
|
|
+npm install -g 或用 npx --yes --package=git+https://git.fmode.cn/lami/skills-smartbadge-ops.git smartbadge-ops
|
|
|
+
|
|
|
+# 2. 凭据不写入镜像——用环境变量注入(Docker 容器内 ~/.claude/skills 建议挂 volume 持久化 .token)
|
|
|
+docker run --rm -it \
|
|
|
+ -e SMARTBADGE_USERNAME=xxx \
|
|
|
+ -e SMARTBADGE_PASSWORD=xxx \
|
|
|
+ -e OSS_ACCESS_KEY_ID=xxx -e OSS_ACCESS_KEY_SECRET=xxx \
|
|
|
+ -e OSS_BUCKET=xxx -e OSS_REGION=xxx \
|
|
|
+ -v smartbadge-skill:/root/.claude/skills smartbadge-ops:latest \
|
|
|
+ node scripts/check-online.mjs
|
|
|
+```
|
|
|
+
|
|
|
+要点:
|
|
|
+- **零密钥入库**:全部脚本无内置用户名/密码/密钥,凭据仅经 `.env`(容器内)或进程环境变量注入;仓库级 `.gitignore` 排除 `.env`/`.token`/`out/`。
|
|
|
+- **无需 Python**:容器内只跑 Node 脚本即可完成巡检/聚合/OSS 对账;浏览器走查 `verify-online.py` 在宿主机或带 chromium 的环境执行。
|
|
|
+- **时区无关**:日期计算(`report-aggregate` 默认窗口等)显式按 Asia/Shanghai,容器默认 UTC 不会错位。
|
|
|
+- **Windows Git Bash 兼容**:以 `/` 开头的 API 路径参数需 `export MSYS_NO_PATHCONV=1`(仅 Windows;Linux/Docker 无此问题)。
|
|
|
|
|
|
## 脚本一览
|
|
|
|
|
|
@@ -72,8 +95,8 @@ npx --yes --package=git+https://git.fmode.cn/lami/skills-smartbadge-ops.git smar
|
|
|
| 环境变量 | 必填 | 取值来源 | 说明 |
|
|
|
|---|---|---|---|
|
|
|
| `SMARTBADGE_API_BASE` | 否 | 线上 `https://recording.sh-lami.com` | 或本机后端 `http://localhost:3002` |
|
|
|
-| `SMARTBADGE_USERNAME` | 否 | 登录用户名 | 脚本默认 `lami123456` |
|
|
|
-| `SMARTBADGE_PASSWORD` | **是** | API 登录密码(与系统一致) | 唯一必需项 |
|
|
|
+| `SMARTBADGE_USERNAME` | **是** | 登录用户名(**无内置默认值**) | 缺省即报错提示 |
|
|
|
+| `SMARTBADGE_PASSWORD` | **是** | API 登录密码(与系统一致) | 无内置默认值 |
|
|
|
| `OSS_ACCESS_KEY_ID` | 条件 | 自动发现服务端项目 `server/.env`;无则填入技能仓库 `.env` | 需 OSS 对账时才需要 |
|
|
|
| `OSS_ACCESS_KEY_SECRET` | 条件 | 同上 | 需 OSS 对账时才需要 |
|
|
|
| `OSS_REGION` | 条件 | 同上(如 `oss-cn-shanghai`) | 同上 |
|
|
|
@@ -88,8 +111,8 @@ npx --yes --package=git+https://git.fmode.cn/lami/skills-smartbadge-ops.git smar
|
|
|
cd ~/.claude/skills/smartbadge-ops && cp .env.example .env # Windows: copy .env.example .env
|
|
|
## 第二步 配置 env(复制本块到技能仓库 .env,或配系统环境变量)
|
|
|
SMARTBADGE_API_BASE=https://recording.sh-lami.com
|
|
|
-SMARTBADGE_USERNAME=lami123456
|
|
|
-SMARTBADGE_PASSWORD=<填 API 登录密码>
|
|
|
+SMARTBADGE_USERNAME=<登录用户名>
|
|
|
+SMARTBADGE_PASSWORD=<填写 API 登录密码>
|
|
|
OSS_ACCESS_KEY_ID=xxx
|
|
|
OSS_ACCESS_KEY_SECRET=xxx
|
|
|
OSS_BUCKET=lm-recording-files
|
|
|
@@ -113,4 +136,5 @@ node scripts/check-online.mjs
|
|
|
|
|
|
## 版本
|
|
|
|
|
|
+v1.2.0 — 2026-09-06,Docker/Linux 容器适配:① 零密钥原则——移除全部脚本/模板内置默认用户名与密码(登录凭据不再有任何代码内置值),凭据仅经环境变量/.env 注入,缺省脚本报错提示;② 时区固定 Asia/Shanghai(report-aggregate 默认窗在 UTC 容器不再错位一天);③ verify-online.py playwright 缺失时友好提示;④ 新增「Docker/Linux 部署」一节
|
|
|
v1.1.0 — 2026-09-04,npx 一条命令安装(package.json + 安装器,自动落位到 AI 技能目录,升级保留 .env/.token);check-online 密码支持 .env 回退;fetch-report-text 支持列表相对 downloadUrl
|