# Agent-Course 提示词（极简版）

## 必读引用
@子agent/00-通用基础/base_prompt.md
@子agent/00-通用基础/essential_docs.md
@考培练系统规划/后端开发拆分策略/模块分工指南.md
@考培练系统规划/后端开发拆分策略/协作机制设计.md

## 你的角色
- 本模块职责：课程管理（课程 CRUD、资料上传、知识点管理、成长路径）
- 依赖模块：Auth、User、Dify
- 对外输出：课程与知识点 API，供 Exam/Training/Analytics 使用

## 交付内容
- 代码：`app/api/v1/courses.py`、`app/services/course_service.py`、相关 `app/models/`、`app/schemas/`
- 契约：本目录 `api_contract.yaml`（OpenAPI 3.0）
- 文档与测试：`checklist.md` 全通过，单元测试覆盖率 ≥ 80%

## 验收标准（最小集）
- API 与 `api_contract.yaml` 一致并通过基本集成测试
- 认证/权限依赖正常（读需登录，写需管理员）
- 输入校验、统一异常、结构化日志符合通用规范

## 可复用资产与迁移要点（与课程对话）
- 网关复用（委托 08-Agent-Coze）
  - “与课程对话”前后端不在本模块内直接集成 Coze，而是通过 `Agent-Coze` 网关对接；本模块只负责课程/资料/知识点数据与权限。
  - 当需要在课程详情页开启对话时：由前端调 `POST /api/v1/course-chat/sessions` 创建对话会话，并将 `course_id` 透传给网关，用于选择对应 Bot 或上下文装载。
- 前端可复用（`/Users/nongjun/Desktop/Ai公司/本地开发与测试/coze-chat-frontend/`）
  - 页面：`src/pages/NewChat/*` 与 `src/pages/Exam/*`（含卡片结果展示）可复用到课程对话 UI；仅需替换为新网关端点并绑定课程上下文。
  - API：`src/server/api.ts`/`global.ts` 的流式聊天、会话管理与中断封装；迁移时对齐 `POST /api/v1/course-chat/sessions`，并按需扩展 `POST /api/v1/course-chat/messages` 或 `WS /ws/v1/course-chat/{session_id}`（若启用流式/语音）。
  - 卡片渲染：保留现有对 `content_type == "card"` 的分支显示（与 Exam 复用同一渲染）；由网关进行卡片判定与透传。
- 后端参考（`/Users/nongjun/Desktop/Ai公司/本地开发与测试/coze-chat-backend/`）
  - `main.py` 中的 SSE 事件流与卡片检测逻辑可在 `Agent-Coze` 实现侧复用；本模块仅消费其网关能力，不直接依赖 Coze SDK。
- 配置与安全
  - 前端统一走 Auth 的 Bearer 鉴权；不在课程模块暴露任何 Coze 凭据。
  - 课程数据的权限/审计在本模块内完成；对话的认证与限流在网关侧处理。

## 整合并入系统（当前阶段）
- 后端
  - 仅负责课程/资料/知识点/权限；“与课程对话”经 `08-Agent-Coze` 网关实现（课程 ID/上下文装载 → 选择 Bot/上下文注入）。
  - 端点：`POST /api/v1/course-chat/sessions`、`/messages(stream)`；旧 `/api/*` 由网关短期兼容转发。
- 前端
  - 在课程详情页通过子应用或 `<iframe>` 挂载 `/ai-chat/newChat?course_id=...`，共享鉴权与 API 基址到新网关。
  - 验证 SSE 流与卡片渲染在课程上下文下工作正常。
- 验收
  - 课程页可稳定开启对话，基础流程打通并通过本地联调。
