feat(phase6-9): Complete modular architecture and Agent Teams
Phase 6.4 - Modular Architecture: - Add lewooogo-brain adapters for LLM providers - Add lewooogo-data dual memory (Redis + PostgreSQL) - Implement consensus engine for multi-agent decisions - Add incident memory service for historical context Phase 9 - Agent Teams (Claude Agent SDK): - Add base agent class with Claude Sonnet 4 integration - Implement action planner, blast radius, and security agents - Add agent API endpoints and proposal workflow - Integrate ADR-009 OpenClaw Agent Teams architecture DevOps & CI/CD: - Add GitHub Actions CI/CD workflows (ci.yaml, cd.yaml) - Add pre-commit hooks and secrets baseline - Add docker-compose for local development - Update Kubernetes network policies Frontend Improvements: - Add auto-healing error boundary component - Update i18n messages for agent features - Enhance dual-state incident card with execution feedback Documentation: - Add 7 ADRs covering MCP, design system, architecture decisions - Update ARCHITECTURE_MEMORY.md with modular design - Add GLOBAL_RULES.md and SOUL.md for project identity Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,17 +1,34 @@
|
||||
# AWOOOI API - Production Dockerfile
|
||||
# Phase 6.4i: 支援 monorepo 本地 packages (lewooogo-brain, lewooogo-data)
|
||||
#
|
||||
# 使用方式 (從 monorepo 根目錄):
|
||||
# docker build -f apps/api/Dockerfile -t awoooi-api:v1.0.0 .
|
||||
#
|
||||
# 注意: 必須從 monorepo 根目錄執行,否則無法存取 packages/
|
||||
|
||||
FROM python:3.11-slim as builder
|
||||
FROM python:3.11-slim AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Install uv
|
||||
COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
|
||||
# Install uv (固定版本,禁止 :latest)
|
||||
COPY --from=ghcr.io/astral-sh/uv:0.6.9 /uv /bin/uv
|
||||
|
||||
# Copy dependency files
|
||||
COPY pyproject.toml ./
|
||||
# Phase 6.4i: 複製本地 packages 到 Docker context
|
||||
# 順序重要: 先複製 packages,再複製 api (利用 Docker layer cache)
|
||||
COPY packages/lewooogo-data/ /packages/lewooogo-data/
|
||||
COPY packages/lewooogo-brain/ /packages/lewooogo-brain/
|
||||
|
||||
# Install dependencies
|
||||
RUN uv pip install --system --no-cache -r pyproject.toml
|
||||
# 複製 API 依賴文件 (pyproject.toml 需要 README.md)
|
||||
COPY apps/api/pyproject.toml apps/api/README.md ./
|
||||
|
||||
# 複製 src 目錄 (hatchling build 需要)
|
||||
COPY apps/api/src/ ./src/
|
||||
|
||||
# 安裝本地 packages 與 API 依賴 (合併 RUN 減少 layer)
|
||||
# 注意: `uv pip install .` 從 pyproject.toml 安裝依賴
|
||||
RUN uv pip install --system --no-cache /packages/lewooogo-data && \
|
||||
uv pip install --system --no-cache /packages/lewooogo-brain && \
|
||||
uv pip install --system --no-cache .
|
||||
|
||||
# Production stage
|
||||
FROM python:3.11-slim
|
||||
@@ -23,7 +40,7 @@ COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/pytho
|
||||
COPY --from=builder /usr/local/bin /usr/local/bin
|
||||
|
||||
# Copy application code
|
||||
COPY src/ ./src/
|
||||
COPY apps/api/src/ ./src/
|
||||
|
||||
# Create non-root user
|
||||
RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app
|
||||
|
||||
Reference in New Issue
Block a user