Files
yawan-workbench/源码交付说明-2026-08-28.md

104 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 雅文内容创造工作台源码交付说明
> 交付日期:2026-08-28
> 交付类型:当前磁盘源码快照
> 代码仓库状态:当前目录不是 Git 仓库,因此本包不包含提交历史与分支信息。
## 1. 打包范围
压缩包包含:
- `server/app/`:FastAPI、SQLModel、Agent Runtime、RAG、QC、计费和权限源码。
- `server/scripts/`:知识导入与维护脚本。
- `server/tests/`:31 项后端单元测试。
- `server/requirements.txt`:后端依赖声明。
- `web/src/`:React + TypeScript 前端源码。
- `web/package.json`、锁文件及 Vite/TypeScript 配置。
- 当前根目录设计文档、流程图、验收报告和启动脚本。
- 本交付说明。压缩包外随附同名 `.sha256` 文件,用于核对 ZIP 完整性。
压缩包明确排除:
- `server/.venv/`、`web/node_modules/`、`web/dist/`。
- `server/data/` 下的数据库、知识库原文、向量索引、日志、备份与生成内容。
- `.env`、密钥、证书、Token 和 Provider 真实凭据。
- 旧版源码压缩包、缓存、`__pycache__` 和测试临时文件。
## 2. 本轮已经修改
1. 为内容任务新增 `objective` 和 `success_criteria`,新任务必须同时填写唯一业务目标与验收标准。
2. SQLite 幂等迁移新增对应字段,历史任务保留并使用兼容默认值。
3. 任务契约贯穿 Coordinator 拆解、生产 Agent、四道 QC 和 Composer 总检。
4. `CampaignRun.config_snapshot` 冻结目标、验收标准和导图 SHA-256,减少配置漂移。
5. 任务页新增目标与验收标准输入和详情展示。
6. 增加 `/api/health` 公共健康探针,只返回服务状态与版本,不暴露业务数据。
7. 增加任务契约回归测试,后端测试从 30 项增至 31 项。
8. 更新《从 0 到 1 核心逻辑设计文档 v6》,补充任务契约章节。
## 3. 验证结果
| 检查 | 结果 |
| --- | --- |
| 后端 Python 编译 | 通过 |
| 后端单元测试 | 31 项全部通过 |
| 前端 TypeScript 检查 | 通过 |
| 前端 Vite 生产构建 | 通过,196 个模块 |
| SQLite 迁移 | 通过,已确认 `objective`、`success_criteria` 两列存在 |
| 后端健康探针 | `GET /api/health` 返回 `status=ok` |
| 服务监听 | 前端 `127.0.0.1:5173`,后端 `127.0.0.1:8010` |
| 页面级检查 | 管理端登录页可加载;当前浏览器没有有效登录会话,未继续提交业务表单 |
## 4. 仍未修改的问题
### P0:正式企业部署前必须完成
1. **Provider 密钥仍保存在本地 SQLite 字段中。** 应改为 KMS、系统密钥环或独立 Secret Manager,数据库只保存密钥引用和掩码。
2. **业务文件仍是本地磁盘存储。** 当前没有 COS/S3/MinIO 对象存储适配器、临时签名下载、生命周期、跨节点共享和灾备恢复实现。
3. **后台任务仍由进程内线程执行。** 服务重启或多实例部署时缺少可靠队列、租约、重试退避、死信队列和 worker 心跳;应迁移到持久任务队列。
4. **租户边界尚未做数据库级强制。** 当前主要依赖应用层过滤;正式多租户需要数据库约束、服务层统一策略与越权集成测试。
5. **备份恢复没有达到生产标准。** 现有本地数据库和向量文件没有自动备份、恢复演练、RPO/RTO 指标和对象存储版本控制。
### P1:影响稳定性和运营质量
1. **任务启动前准备度检查未完成。** 仍需在运行前一次性检查模型、Provider、Agent、知识库索引、可用知识片段、QC/Composer 和点数余额,并在 UI 显示阻断原因。
2. **模型能力验证还不够强。** 已有模型目录和能力状态,但仍需结构化输出、工具调用、上下文长度、超时与速率限制的自动化探测和定期复测。
3. **前端主要逻辑集中在 `App.tsx`。** 文件体量较大,任务、Agent、知识库、记忆、访问控制、计费和 Trace 应拆成独立路由、页面模块、数据 hooks 与错误边界。
4. **后端路由主要集中在 `main.py`。** 应按认证、任务、Agent、知识、计费、审计拆分 router/service/repository,降低单文件修改风险。
5. **部分读取异常被静默忽略。** QC/Composer 读取产物失败时存在 `except Exception: pass`,应写 Trace 并把段落标为明确失败,避免空内容进入下游。
6. **向量存储降级不可观测。** Chroma 写入失败会使用本地 fallback,但没有告警、健康状态和修复任务,运营人员难以发现降级。
7. **集成和端到端测试覆盖不足。** 当前 31 项以单元测试为主,还需要认证、RBAC、任务完整生成、知识消费锁、计费扣点、服务重启恢复和浏览器流程测试。
8. **接口文档和版本管理不足。** 服务仍标记 `0.1.0-M1`,需要正式 API 版本、迁移版本、变更日志和兼容策略。
### P2:体验与长期演进
1. 增加任务级成本预算、预计 Token、预计耗时和知识可用量预估。
2. 增加人工确认项的逐条确认、修改和审计记录。
3. 增加知识库命中率、重复消费率、引用覆盖率和无依据内容率指标。
4. 增加 Trace 跨服务关联、指标看板、告警和审计导出。
5. 增加正式部署配置、容器镜像、反向代理、HTTPS、日志轮转和升级回滚流程。
## 5. 启动方式
首次部署先安装依赖:
```powershell
cd server
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
cd ..\web
pnpm install --frozen-lockfile
```
本地开发可运行根目录的 `启动工作台.bat`,也可分别启动:
```powershell
cd server
.\.venv\Scripts\python.exe -m uvicorn app.main:app --host 127.0.0.1 --port 8010
cd ..\web
pnpm dev --host 127.0.0.1 --port 5173
```
打开 `http://127.0.0.1:5173/admin`。业务数据库和知识资料不包含在源码包内,需要在目标环境重新初始化或单独通过受控迁移交付。