docs: 部署交接文档、lake_example 自动植入与 CLAUDE 快速部署指南

新增 seed_lake_example.sh 并在 init_after_clone 中调用;更新 README/CLAUDE/DEPLOY
使接手人 clone 后即可走通送标样例流程。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-16 17:36:37 +08:00
parent 5f9addb9bf
commit 2d450715ff
7 changed files with 236 additions and 50 deletions

View File

@@ -9,13 +9,21 @@ cd "$ROOT"
DEFAULT_WS="$(cd "$ROOT/.." && pwd)/workspace"
DEFAULT_DATA="$(cd "$ROOT/.." && pwd)/data"
mkdir -p "$DEFAULT_DATA/送标/adas/inbox"
if grep -q '^# AS_WORKSPACE_ROOT=' .env && [[ -d "$DEFAULT_WS/DMS" ]]; then
sed -i "s|^# AS_WORKSPACE_ROOT=.*|AS_WORKSPACE_ROOT=$DEFAULT_WS|" .env
echo "已设置 AS_WORKSPACE_ROOT=$DEFAULT_WS"
fi
if grep -q '^# AS_DATA_LAKE_HOST=' .env && [[ -d "$DEFAULT_DATA" ]]; then
if ! grep -q '^AS_DATA_LAKE_HOST=' .env 2>/dev/null; then
if grep -q '^# AS_DATA_LAKE_HOST=' .env; then
sed -i "s|^# AS_DATA_LAKE_HOST=.*|AS_DATA_LAKE_HOST=$DEFAULT_DATA|" .env
else
echo "AS_DATA_LAKE_HOST=$DEFAULT_DATA" >> .env
fi
echo "已设置 AS_DATA_LAKE_HOST=$DEFAULT_DATA"
elif grep -q '^# AS_DATA_LAKE_HOST=' .env && [[ -d "$DEFAULT_DATA" ]]; then
sed -i "s|^# AS_DATA_LAKE_HOST=.*|AS_DATA_LAKE_HOST=$DEFAULT_DATA|" .env
echo "已设置 AS_DATA_LAKE_HOST=$DEFAULT_DATA"
fi
@@ -42,6 +50,10 @@ if [[ ! -f platform/ui-hsap/dist/index.html ]]; then
fi
fi
echo ""
echo "植入送标样例lake_example…"
bash scripts/seed_lake_example.sh
echo ""
echo "下一步:"
echo " 1. 编辑 .env — 路径与 AS_FRONTEND_URL / CVAT_PUBLIC_URL局域网部署必改"

53
scripts/seed_lake_example.sh Executable file
View File

@@ -0,0 +1,53 @@
#!/usr/bin/env bash
# 将 lake/lake_example 样例批次复制到数据湖 inbox供接手人走通送标流程
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
SRC="$ROOT/lake/lake_example/datasets"
if [[ ! -d "$SRC/dms/inbox" ]]; then
echo "未找到 $SRC,请确认已 git clone 完整仓库"
exit 1
fi
# 数据湖根目录(与 docker-compose AS_DATA_LAKE_HOST 一致)
DATA_LAKE="$(cd "$ROOT/.." && pwd)/data"
if [[ -f .env ]]; then
val="$(grep -E '^AS_DATA_LAKE_HOST=' .env 2>/dev/null | head -1 | cut -d= -f2- | tr -d '"' || true)"
[[ -n "$val" ]] && DATA_LAKE="$val"
fi
ADAS_LAKE="$DATA_LAKE/送标/adas"
mkdir -p "$ADAS_LAKE/inbox" "$ROOT/datasets/dms/inbox" "$ROOT/datasets/lane/inbox"
# ADAS 走数据湖挂载DMS/Lane 在仓库 datasets/ 下
if [[ ! -e "$ROOT/datasets/adas" ]]; then
ln -sfn ../../data/送标/adas "$ROOT/datasets/adas"
echo "已创建 datasets/adas → data/送标/adas"
elif [[ -L "$ROOT/datasets/adas" ]]; then
echo "datasets/adas 软链已存在"
else
echo "警告: datasets/adas 已存在且非软链ADAS 样例将写入该目录"
fi
RSYNC=(rsync -rlpt --no-owner --no-group --ignore-existing)
echo "数据湖根: $DATA_LAKE"
echo "复制 lake_example → inbox不覆盖已有批次…"
echo ""
"${RSYNC[@]}" "$SRC/dms/inbox/" "$ROOT/datasets/dms/inbox/"
"${RSYNC[@]}" "$SRC/lane/inbox/" "$ROOT/datasets/lane/inbox/"
mkdir -p "$ADAS_LAKE/inbox"
"${RSYNC[@]}" "$SRC/adas/inbox/" "$ADAS_LAKE/inbox/"
echo ""
echo "样例批次已就位。manifest: lake/lake_example/datasets/manifest.yaml"
echo ""
echo "平台启动后走通流程:"
echo " 1. 登录 http://127.0.0.1:8787 AS_DEV_AUTH=true 开发登录)"
echo " 2. 批次台账 → 扫描数据湖 → 勾选样例 → 登记到台账"
echo " 3. 送标工作台 → 选择批次 → 开标"
echo " 4. 标注进度 → 分配任务 → 标注员「我的标注」进入 CVAT"
echo ""
echo "推荐先试: adas/det_7cls/20260616_adas2d_pilot 或 adas/cuboid_7cls/20260616_3d_pilot"