# Agent-Native 创作平台：交互与架构重构

基于你的需求，我们将平台从“工具流”升级为 **"Agent-Native" 协作平台**。核心理念是：**用户是导演，Agent 是制片人兼编剧团队，系统是数字化片场。**

## 1. 核心交互范式转变

| 传统模式 (Terminal/Form) | Agent-Native 模式 (Interactive Canvas) |
| :--- | :--- |
| **即时响应** | **异步长流程 (Long-Running Process)** |
| 用户等待 spinner 转圈 | Agent 在后台工作，实时推送进度卡片 |
| 审核是“通过/拒绝”按钮 | 审核是 **"待办任务 (Inbox)"** 和 **"批注 (Annotation)"** |
| 记忆是后台数据库 | 记忆是 **"可视化知识图谱"**，Agent 主动引用并展示 |

## 2. 关键流程设计

### 2.1 项目启动 (Onboarding)
*   **保持不变**: 支持上传剧本/灵感/文字。
*   **新增**: Agent 立即介入，进行 **"初始设定构建"**。
    *   Agent: "收到你的灵感。我正在生成初步的世界观和人物小传... 完成。请确认或修改。" (推送一个可交互的设定卡片)

### 2.2 剧集创作 (Execution & Planning)
*   **用户动作**: 点击 "开始创作第 X 集"。
*   **Agent 行为**:
    1.  **规划 (Planning)**: Agent 生成一个 "创作计划书" (ToDo List)。
        *   *示例*: "1. 回顾上一集伏笔; 2. 构思本集大纲; 3. 撰写初稿; 4. 自查一致性。"
    2.  **透明化执行**: 用户在界面右侧看到 Agent 正在打钩完成这些步骤。
    3.  **流式输出**: 左侧编辑器实时显示 Agent 正在写的内容 (Ghost-writing)。

### 2.3 记忆系统 (Active Memory) - "Agent 记得什么"
*   **不是后台黑盒**，而是 **前台高亮**。
*   **交互**: 当 Agent 写到 "主角拔出了那把生锈的剑" 时，界面侧边栏自动弹出记忆卡片：
    *   *记忆引用*: "关联记忆: EP01 - 主角在废墟中捡到了生锈的剑 (Confidence: 98%)"
*   **作用**: 让用户知道 Agent 是基于记忆在写作，而不是瞎编。

### 2.4 审核系统 (Human-in-the-Loop) - "导演请过目"
*   **拒绝 Terminal 形式**: 不要让用户在聊天框里打 "通过"。
*   **任务流形式**:
    *   Agent 发现潜在问题 (如: "这句台词可能有点OOC")，但它不确定。
    *   Agent **不中断流程**，而是生成一个 **"审核任务 (Review Task)"** 推送到用户的 **"导演信箱"**。
    *   用户可以在方便时处理这些任务：点击 "忽略" (Agent 继续) 或 "修正" (Agent 根据修正重写)。
*   **最终交付**: Agent 完成初稿后，提交 "验收申请"。系统自动跑一遍 `ReviewManager`，把高风险问题标记在文本上 (类似 Word 的批注)。

## 3. 页面架构重构

建议将 `ProjectWorkspace.tsx` 改造为 **三栏式布局**：

*   **左栏 (Navigation & Context)**:
    *   剧集列表
    *   **动态上下文**: 当前生效的世界观、活跃的人物状态 (随剧情进度变化)。
*   **中栏 (Canvas - 创作区)**:
    *   **剧本编辑器**: 多人(人+AI) 协作编辑器。
    *   **流式内容**: Agent 的输出实时上屏。
    *   **批注层**: 审核系统发现的问题直接高亮显示。
*   **右栏 (Agent Command Center - 导演控制台)**:
    *   **Chat**: 与 Agent 对话 ("把这段改得悲伤一点")。
    *   **Plan**: Agent 的当前执行计划 (Step 1/2/3)。
    *   **Inbox**: **需要用户决策的任务** (审核请求、分支选择、设定确认)。

## 4. 技术实现要点

### 4.1 异步任务与 WebSocket
*   Agent 的运行是长流程 (可能持续几分钟)。
*   后端使用 Celery/TaskQueue 执行 Agent 逻辑。
*   前端通过 WebSocket 接收：
    *   `token`: 文本生成流。
    *   `plan_update`: 步骤状态变更。
    *   `memory_hit`: 记忆引用通知。
    *   `review_request`: 审核任务推送。

### 4.2 记忆与审核的 Tool 封装
*   **Memory Tool**: 不仅返回文本，还返回 `metadata` (引用来源 ID)，前端据此渲染引用卡片。
*   **Review Tool**: 生成结构化的 `ReviewIssue` 对象，前端将其渲染为编辑器中的 **Annotation (批注)**。

---

### 总结
你的直觉非常敏锐。**Terminal 是给程序员用的，Dashboard 是给创作者用的。**

通过 **"任务流 (Inbox)"** 和 **"可视化批注"** 替代简单的对话交互，将记忆和审核无缝融入创作流，这才是真正的 Enterprise-grade Agent 平台。
