包含从项目创建至今的全部代码首次入库: 核心框架: - TaskQueue(SQLite,6 种状态,原子 dequeue) - Executor(asyncio 并发,semaphore 限流,agent_role 路由) - Scheduler(APScheduler,三队列独立调度) - Watchdog(超时检测 + 优先级防饥饿) - Scanner(项目扫描,README/TODO/CLAUDE.md 提取) Agent 体系(20+ 角色): - 项目交付组:architect/developer/tester/productizer - 基础技术组:base-architect/validator/hw/os/kernel/lowlevel/system-tester - 算法组:algo-antishake/position/nav - 洞察组:planner/vision-analyst/media-producer - 市场组:market-pm/sport/elder/safety - 组织层:boss/group-leader/senior-dev/ops - 平台扩展:nrf-dev/esp32-dev - 三专项调研:rtp-researcher/net-researcher/kernel-analyzer 工具层: - ProjectMemory(goals/facts/history SQLite) - VersionPipeline(并行版本流水线 + 反幻觉门控) - EventBus(Redis Streams,5 consumer groups) - DailyReport(append-only 日报 + Boss 决策视图) - AgentScorer(4 维评分:完成度/质量/自主性/协作) - DeviceAgent(SSH rsync + 板端执行) - EnvCollector(本机+SSH 环境采集) - ArchVersion(快照/优化/promote/rollback) Dashboard(React + Vite + Tailwind): - 看板/项目/配置/洞察/日报/Visual 六标签页 - WebSocket 实时更新 - Markdown 渲染(react-markdown + remark-gfm) 测试:314 passed Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
38 lines
1.2 KiB
Docker
38 lines
1.2 KiB
Docker
# ── Stage 1: 构建 React 前端 ─────────────────────────────────────────
|
|
FROM node:20-alpine AS frontend-builder
|
|
WORKDIR /frontend
|
|
|
|
COPY dashboard/package*.json ./
|
|
RUN npm ci --prefer-offline
|
|
|
|
COPY dashboard/ ./
|
|
RUN npm run build
|
|
|
|
# ── Stage 2: Python FastAPI 运行时 ───────────────────────────────────
|
|
FROM python:3.10-slim AS runtime
|
|
WORKDIR /app
|
|
|
|
# 安装系统工具(rsync/sshpass 用于板端同步测试,bash 用于 source 命令)
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
sshpass rsync openssh-client \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# 安装 Python 依赖
|
|
COPY requirements-dashboard.txt ./
|
|
RUN pip install --no-cache-dir -r requirements-dashboard.txt
|
|
|
|
# 复制源码并安装包
|
|
COPY src/ ./src/
|
|
COPY pyproject.toml ./
|
|
RUN pip install --no-cache-dir -e . --no-deps
|
|
COPY scripts/dashboard.py ./scripts/
|
|
|
|
# 复制前端构建产物
|
|
COPY --from=frontend-builder /frontend/dist ./dashboard/dist/
|
|
|
|
EXPOSE 8080
|
|
|
|
ENV PYTHONPATH=/app/src
|
|
|
|
CMD ["python", "scripts/dashboard.py"]
|