refactor: 规则中性化——剥离 PPT 业务,统一为订单示范域

把规则从原 ppt-gen 项目泛化为通用脚手架,覆盖 19 个文件:
- ddd/architecture/design-discipline/error-codes/communication-* 等:
  领域术语、错误码、消息示例、扩展点、状态流统一为「订单」示范域
- agent-dag/agent.md/agent-concurrency/agent-llm-*:DAG 节点、配置、并发、
  LLM 适配从「对话→预览→生成→截图→合成」改为「intake→process→validate→finalize」
- backend-db:Session 实体/状态机/ORM/仓储/checkpoint 对齐新流水线
- 移除幻灯片专属依赖与产物:agent 去 playwright/python-pptx,
  Dockerfile 去 Chromium 系统库,.gitignore 去 *.pptx
- 保留合法通用项:ANSI(PTY 处理)、Playwright(E2E 测试工具)、Gemini CLI(真实 provider)

验证:gemini-cli/openai-api 两变体生成退出 0,生成项目零 PPT 残留,
backend/agent 骨架均可 import 运行。
This commit is contained in:
baozaotumao
2026-06-01 23:15:05 -07:00
parent bb6503c3f8
commit df48c36422
23 changed files with 257 additions and 285 deletions
-9
View File
@@ -4,17 +4,8 @@ WORKDIR /app
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
RUN apt-get update && apt-get install -y --no-install-recommends \
libglib2.0-0 libnss3 libatk1.0-0 libatk-bridge2.0-0 \
libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 \
libxfixes3 libxrandr2 libgbm1 libasound2 \
&& rm -rf /var/lib/apt/lists/*
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-dev
{%- if llm_provider == 'gemini-cli' %}
RUN uv run playwright install chromium
{%- endif %}
COPY src ./src
+3 -5
View File
@@ -8,14 +8,12 @@ dependencies = [
"uvicorn[standard]",
"loguru",
"pydantic-settings",
{%- if llm_provider == 'gemini-cli' %}
"playwright",
"python-pptx",
{%- elif llm_provider == 'openai-api' %}
{%- if llm_provider == 'openai-api' %}
"openai",
{%- elif llm_provider == 'anthropic-api' %}
"anthropic",
{%- endif %}
# 业务相关外部能力(导出、第三方 SDK 等)按需自行 uv add
]
[dependency-groups]
@@ -50,4 +48,4 @@ root_packages = ["src"]
name = "Domain zero IO"
type = "forbidden"
source_modules = ["src.domain"]
forbidden_modules = ["fastapi", "httpx", "subprocess", "playwright"]
forbidden_modules = ["fastapi", "httpx", "subprocess"]