新增: WorkPod 全栈开发环境容器

- Dockerfile: Ubuntu + Python + Node + Go + Rust + MySQL + Redis
- 离线安装包下载脚本(国内镜像源)
- 技术规格说明书 SPECS.md
- 代码审查报告 REVIEW-REPORT.md
This commit is contained in:
lxy
2026-03-19 22:30:24 +08:00
commit feb76081a0
11 changed files with 1162 additions and 0 deletions
+96
View File
@@ -0,0 +1,96 @@
#!/bin/bash
# Dev Box 软件包下载脚本
# 使用国内镜像源,加速下载
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PACKAGES_DIR="$SCRIPT_DIR/packages"
mkdir -p "$PACKAGES_DIR"
cd "$PACKAGES_DIR"
echo "========================================"
echo " Dev Box 软件包下载(国内镜像)"
echo "========================================"
echo ""
# ============ Node.js ============
NODE_VERSION="v24.14.0"
NODE_FILE="node-${NODE_VERSION}-linux-x64.tar.xz"
echo "[1/5] Node.js ${NODE_VERSION}..."
if [ ! -f "$NODE_FILE" ]; then
# 淘宝镜像
curl -L -o "$NODE_FILE" "https://npmmirror.com/mirrors/node/${NODE_VERSION}/${NODE_FILE}"
echo " ✓ 下载完成"
else
echo " - 已存在,跳过"
fi
# ============ Go ============
GO_VERSION="1.26.1"
GO_FILE="go${GO_VERSION}.linux-amd64.tar.gz"
echo "[2/5] Go ${GO_VERSION}..."
if [ ! -f "$GO_FILE" ]; then
# Go 官方中国镜像
curl -L -o "$GO_FILE" "https://golang.google.cn/dl/${GO_FILE}"
echo " ✓ 下载完成"
else
echo " - 已存在,跳过"
fi
# ============ Rust ============
RUST_VERSION="1.94.0"
RUST_FILE="rust-${RUST_VERSION}-x86_64-unknown-linux-gnu.tar.xz"
echo "[3/5] Rust ${RUST_VERSION}..."
if [ ! -f "$RUST_FILE" ]; then
# 中科大镜像
curl -L -o "$RUST_FILE" "https://mirrors.ustc.edu.cn/rust-static/dist/${RUST_FILE}"
echo " ✓ 下载完成"
else
echo " - 已存在,跳过"
fi
# ============ Claude Code ============
echo "[4/5] Claude Code..."
if [ ! -f "claude-code-2.1.78.tgz" ]; then
# 需要从 npm 下载,设置淘宝镜像
npm pack @anthropic-ai/claude-code --registry=https://registry.npmmirror.com 2>/dev/null || \
npm pack @anthropic-ai/claude-code@2.1.78 --registry=https://registry.npmmirror.com
# 重命名为固定名称
for f in anthropic-ai-claude-code-*.tgz; do
[ -f "$f" ] && mv "$f" "claude-code-2.1.78.tgz"
done
echo " ✓ 下载完成"
else
echo " - 已存在,跳过"
fi
# ============ OpenClaw ============
echo "[5/5] OpenClaw..."
if [ ! -f "openclaw-2026.3.13.tgz" ]; then
# 从 npm 下载
npm pack openclaw@2026.3.13 --registry=https://registry.npmmirror.com 2>/dev/null || \
npm pack openclaw --registry=https://registry.npmmirror.com
# 重命名为固定名称
for f in openclaw-*.tgz; do
[ -f "$f" ] && mv "$f" "openclaw-2026.3.13.tgz"
done
echo " ✓ 下载完成"
else
echo " - 已存在,跳过"
fi
echo ""
echo "========================================"
echo " 下载完成"
echo "========================================"
echo ""
echo "文件列表:"
ls -lh "$PACKAGES_DIR"/*.tar.* "$PACKAGES_DIR"/*.tgz 2>/dev/null || true
echo ""
echo "总大小:"
du -sh "$PACKAGES_DIR"