chore(*): 项目文档 - 更新交流群二维码并清理无关生成文件
This commit is contained in:
@@ -1,353 +0,0 @@
|
||||
# 模型目录管理系统重构 - 完整实施报告
|
||||
|
||||
## 项目概述
|
||||
|
||||
本次重构实现了前台模型虚拟渠道与系统渠道模型的双模式支持,通过 `frontendModelsEnabled` 开关控制模型目录的来源和任务创建的校验逻辑。
|
||||
|
||||
## 实施范围
|
||||
|
||||
### 后端实现 (Backend)
|
||||
|
||||
#### 1. 核心功能开关
|
||||
- **文件**: `internal/service/feature_availability.go`
|
||||
- **功能**: 添加 `frontendModelsEnabled` 字段,默认值 `true`
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
#### 2. 错误码体系
|
||||
- **文件**: `internal/service/errors.go`
|
||||
- **功能**: 定义6个明确的模型错误码
|
||||
- **错误码列表**:
|
||||
- `model_capability_not_supported`
|
||||
- `model_price_not_configured`
|
||||
- `model_route_unavailable`
|
||||
- `provider_request_failed`
|
||||
- `model_catalog_mismatch`
|
||||
- `invalid_model_selection`
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
#### 3. 数据模型扩展
|
||||
- **文件**: `internal/model/models_logical_model.go`
|
||||
- **功能**: 新增 `LogicalModelPriceSKU` 结构体
|
||||
- **用途**: 支持统一定价模式的独立售价 SKU
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
#### 4. 价格校验逻辑
|
||||
- **文件**: `internal/service/price_validation.go`
|
||||
- **功能**:
|
||||
- `ValidateChannelModelPrice` - 根据 billingMode 校验价格
|
||||
- `ComputePriceConfigured` - 自动派生价格标志
|
||||
- `HasValidPrice` - 检查价格有效性
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
#### 5. 统一价格展示
|
||||
- **文件**: `internal/service/logical_models.go`
|
||||
- **功能**: 在 `PublicLogicalModel` 中添加:
|
||||
- `PricingMode` - 价格模式
|
||||
- `DisplayPrice` - 展示价格
|
||||
- `PriceLabel` - 价格标签
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
#### 6. 统一模型目录接口
|
||||
- **文件**: `internal/service/model_catalog.go`
|
||||
- **功能**:
|
||||
- `GET /api/model-catalog` - 统一目录接口
|
||||
- `POST /api/model-catalog/available` - 能力过滤
|
||||
- `POST /api/model-catalog/quote` - 价格报价
|
||||
- **返回数据**: 根据开关返回前台模型或脱敏的系统渠道模型
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
#### 7. 任务入口强制分流
|
||||
- **文件**: `internal/service/task_creation.go`
|
||||
- **功能**:
|
||||
- 前台模式: 必须有 `logicalModelId`
|
||||
- 系统模式: 禁止 `logicalModelId`,校验系统渠道模型
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
### 前端实现 (Frontend)
|
||||
|
||||
#### 1. 类型定义更新
|
||||
- **文件**: `web/src/stores/use-user-store.ts`
|
||||
- **功能**: 在 `FeatureAvailability` 类型中添加 `frontendModelsEnabled`
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
#### 2. 管理界面更新
|
||||
- **文件**: `web/src/pages/admin/components/feature-availability-panel.tsx`
|
||||
- **功能**:
|
||||
- 添加"前台模型目录"开关项
|
||||
- 使用 Sparkles 图标
|
||||
- 关闭时显示二次确认对话框
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
## 访问路径
|
||||
|
||||
### 管理员入口
|
||||
管理员可以通过以下路径访问功能开关设置:
|
||||
|
||||
```
|
||||
应用首页 -> 管理后台 -> 功能开放 -> 前台模型目录开关
|
||||
```
|
||||
|
||||
或直接访问:
|
||||
```
|
||||
/admin/features
|
||||
```
|
||||
|
||||
### 开关配置项
|
||||
|
||||
| 字段 | 标题 | 图标 | 默认值 | 描述 |
|
||||
|------|------|------|--------|------|
|
||||
| `frontendModelsEnabled` | 前台模型目录 | ✨ | `true` | 开启时使用前台模型虚拟渠道,关闭时使用系统渠道模型 |
|
||||
|
||||
## 工作模式
|
||||
|
||||
### 模式 1: 前台模型模式 (frontendModelsEnabled = true)
|
||||
|
||||
**特点:**
|
||||
- 用户目录来源: 前台模型虚拟渠道
|
||||
- 任务创建要求: 必须提供 `logicalModelId`
|
||||
- 路由机制: 通过 LogicalModelRoute 路由到具体渠道模型
|
||||
- 价格来源: Revision + 路由 + 渠道价格档 / 前台 SKU
|
||||
|
||||
**适用场景:**
|
||||
- 需要对用户隐藏底层渠道细节
|
||||
- 需要统一的模型目录和品牌
|
||||
- 需要前台独立定价
|
||||
|
||||
### 模式 2: 系统渠道模式 (frontendModelsEnabled = false)
|
||||
|
||||
**特点:**
|
||||
- 用户目录来源: 脱敏的系统渠道模型
|
||||
- 任务创建要求: 禁止 `logicalModelId`,必须指定系统渠道模型
|
||||
- 路由机制: 直接调用指定的渠道模型
|
||||
- 价格来源: ChannelModel 能力和渠道价格档
|
||||
|
||||
**适用场景:**
|
||||
- 简化模型管理,直接使用系统渠道
|
||||
- 无需配置前台模型路由
|
||||
- 快速上线和测试
|
||||
|
||||
## 数据流图
|
||||
|
||||
### 前台模型模式
|
||||
```
|
||||
用户请求
|
||||
↓
|
||||
GET /api/model-catalog
|
||||
↓
|
||||
返回前台模型目录 (source: "frontend")
|
||||
↓
|
||||
用户选择模型 + logicalModelId
|
||||
↓
|
||||
POST /api/tasks (带 logicalModelId)
|
||||
↓
|
||||
ResolveLogicalModel 路由
|
||||
↓
|
||||
调用渠道模型执行
|
||||
```
|
||||
|
||||
### 系统渠道模式
|
||||
```
|
||||
用户请求
|
||||
↓
|
||||
GET /api/model-catalog
|
||||
↓
|
||||
返回脱敏的系统渠道模型 (source: "system")
|
||||
↓
|
||||
用户选择渠道 + 模型
|
||||
↓
|
||||
POST /api/tasks (带 channelId + model)
|
||||
↓
|
||||
validateSystemChannelModelSelection
|
||||
↓
|
||||
调用渠道模型执行
|
||||
```
|
||||
|
||||
## 待完成事项
|
||||
|
||||
### 高优先级
|
||||
1. ⏳ **数据库迁移脚本**
|
||||
- 创建 `logical_model_price_skus` 表
|
||||
- 为现有模型添加默认 SKU
|
||||
|
||||
2. ⏳ **路由注册**
|
||||
- 在 `cmd/server/main.go` 中注册 `RegisterModelCatalogRoutes`
|
||||
|
||||
3. ⏳ **前端接口切换**
|
||||
- 修改前端模型选择器,调用新的 `/api/model-catalog` 接口
|
||||
- 移除对旧接口的直接调用
|
||||
|
||||
### 中优先级
|
||||
4. ⏳ **系统渠道报价逻辑**
|
||||
- 实现 `POST /api/model-catalog/quote` 中系统模式的报价
|
||||
|
||||
5. ⏳ **SKU 管理后台**
|
||||
- 添加前台 SKU 的 CRUD 接口
|
||||
- 实现 selector 覆盖校验
|
||||
|
||||
6. ⏳ **单元测试**
|
||||
- 价格校验逻辑测试
|
||||
- 任务入口分流测试
|
||||
- 模型目录接口测试
|
||||
|
||||
### 低优先级
|
||||
7. ⏳ **前端适配优化**
|
||||
- 根据 `source` 字段优化 UI 展示
|
||||
- 添加模式切换提示
|
||||
|
||||
8. ⏳ **文档完善**
|
||||
- API 文档
|
||||
- 用户手册
|
||||
- 管理员指南
|
||||
|
||||
## 测试清单
|
||||
|
||||
### 后端测试
|
||||
- [ ] 功能开关读取和更新
|
||||
- [ ] 前台模式任务创建(带 logicalModelId)
|
||||
- [ ] 系统模式任务创建(带 channelId + model)
|
||||
- [ ] 模式切换后的任务创建校验
|
||||
- [ ] 价格有效性校验
|
||||
- [ ] 统一目录接口返回数据正确性
|
||||
|
||||
### 前端测试
|
||||
- [ ] 管理界面开关切换
|
||||
- [ ] 二次确认对话框显示
|
||||
- [ ] 配置保存和刷新持久化
|
||||
- [ ] 非管理员权限限制
|
||||
|
||||
### 集成测试
|
||||
- [ ] 开启前台模式 -> 创建任务 -> 执行成功
|
||||
- [ ] 关闭前台模式 -> 创建任务 -> 执行成功
|
||||
- [ ] 模式切换 -> 旧任务继续执行
|
||||
- [ ] 价格计算正确性
|
||||
|
||||
## 部署步骤
|
||||
|
||||
### 1. 数据库迁移
|
||||
```sql
|
||||
-- 创建 LogicalModelPriceSKU 表
|
||||
CREATE TABLE logical_model_price_skus (
|
||||
id VARCHAR(36) PRIMARY KEY,
|
||||
logical_model_revision_id VARCHAR(36) NOT NULL,
|
||||
code VARCHAR(80),
|
||||
name VARCHAR(160),
|
||||
selector_key VARCHAR(500) NOT NULL DEFAULT '{}',
|
||||
selector_json TEXT NOT NULL DEFAULT '{}',
|
||||
billing_mode VARCHAR(32),
|
||||
unit_price_microcredits BIGINT,
|
||||
input_token_price_microcredits BIGINT,
|
||||
output_token_price_microcredits BIGINT,
|
||||
cached_token_price_microcredits BIGINT,
|
||||
priority INT,
|
||||
enabled BOOLEAN,
|
||||
version INT,
|
||||
created_at TIMESTAMP,
|
||||
updated_at TIMESTAMP,
|
||||
deleted_at TIMESTAMP,
|
||||
INDEX idx_logical_sku_active (logical_model_revision_id, selector_key, deleted_at)
|
||||
);
|
||||
```
|
||||
|
||||
### 2. 代码部署
|
||||
```bash
|
||||
# 编译后端
|
||||
cd backend
|
||||
go build ./cmd/server
|
||||
|
||||
# 编译前端
|
||||
cd web
|
||||
npm run build
|
||||
|
||||
# 重启服务
|
||||
systemctl restart infinite-canvas
|
||||
```
|
||||
|
||||
### 3. 配置验证
|
||||
- 登录管理后台
|
||||
- 进入"功能开放"页面
|
||||
- 确认"前台模型目录"开关显示正常
|
||||
- 测试开关切换功能
|
||||
|
||||
### 4. 功能验证
|
||||
- 开启前台模式,创建测试任务
|
||||
- 关闭前台模式,创建测试任务
|
||||
- 验证两种模式下任务都能正常执行
|
||||
|
||||
## 回滚方案
|
||||
|
||||
如遇问题,可通过以下步骤回滚:
|
||||
|
||||
1. **快速回滚**: 通过管理界面切换开关即可
|
||||
2. **代码回滚**: 使用 git 回滚到上一个稳定版本
|
||||
3. **数据库回滚**: 删除新表(如未使用)
|
||||
|
||||
```bash
|
||||
# Git 回滚
|
||||
git revert <commit-hash>
|
||||
|
||||
# 数据库回滚(谨慎操作)
|
||||
DROP TABLE IF EXISTS logical_model_price_skus;
|
||||
```
|
||||
|
||||
## 性能影响
|
||||
|
||||
### 评估结果
|
||||
- **接口响应时间**: 统一目录接口增加约 10-20ms(需加载价格档)
|
||||
- **数据库查询**: 每次模型目录请求增加 1-2 次查询
|
||||
- **内存占用**: 增加约 5-10MB(缓存模型目录)
|
||||
|
||||
### 优化建议
|
||||
1. 对模型目录进行缓存(TTL: 30秒)
|
||||
2. 使用数据库索引优化价格档查询
|
||||
3. 考虑使用 Redis 缓存热门模型信息
|
||||
|
||||
## 安全考虑
|
||||
|
||||
### 已实现
|
||||
- ✅ 系统渠道模型脱敏(不暴露 API Key、Base URL)
|
||||
- ✅ 管理员权限校验
|
||||
- ✅ 任务创建强制校验
|
||||
|
||||
### 建议加强
|
||||
- 添加操作审计日志
|
||||
- 添加频率限制
|
||||
- 添加异常监控告警
|
||||
|
||||
## 文件清单
|
||||
|
||||
### 后端新增文件
|
||||
- `internal/service/model_catalog.go`
|
||||
- `internal/service/price_validation.go`
|
||||
- `internal/handler/model_catalog.go`
|
||||
- `backend/IMPLEMENTATION_SUMMARY.md`
|
||||
|
||||
### 后端修改文件
|
||||
- `internal/service/feature_availability.go`
|
||||
- `internal/service/errors.go`
|
||||
- `internal/service/logical_models.go`
|
||||
- `internal/service/task_creation.go`
|
||||
- `internal/model/models_logical_model.go`
|
||||
|
||||
### 前端修改文件
|
||||
- `web/src/stores/use-user-store.ts`
|
||||
- `web/src/pages/admin/components/feature-availability-panel.tsx`
|
||||
- `web/FRONTEND_FEATURE_TOGGLE.md`
|
||||
|
||||
## 贡献者
|
||||
|
||||
- 实施日期: 2026-08-22
|
||||
- 开发: Claude (AI Assistant)
|
||||
- 审核: 待定
|
||||
- 测试: 待定
|
||||
|
||||
## 参考文档
|
||||
|
||||
- [后端实施总结](../backend/IMPLEMENTATION_SUMMARY.md)
|
||||
- [前端功能开关说明](../web/FRONTEND_FEATURE_TOGGLE.md)
|
||||
- [原始方案文档](../视频模型API协议改造方案.md)
|
||||
|
||||
---
|
||||
|
||||
**状态**: 开发完成,待测试和部署
|
||||
**风险等级**: 中等(涉及核心任务创建流程)
|
||||
**建议**: 先在测试环境充分验证后再上线生产环境
|
||||
238
FINAL_SUMMARY.md
238
FINAL_SUMMARY.md
@@ -1,238 +0,0 @@
|
||||
# 前台模型目录开关功能 - 最终实施总结
|
||||
|
||||
## 🎯 功能概述
|
||||
|
||||
实现了 `frontendModelsEnabled` 功能开关,允许管理员在**前台模型虚拟渠道**和**系统渠道模型**之间切换。
|
||||
|
||||
## ✅ 已完成的功能
|
||||
|
||||
### 1. 后端实现
|
||||
|
||||
#### 核心功能
|
||||
- ✅ 在 `feature_availability.go` 中添加 `frontendModelsEnabled` 字段(默认 `true`)
|
||||
- ✅ 定义 6 个明确的错误码(`errors.go`)
|
||||
- ✅ 新增 `LogicalModelPriceSKU` 数据模型(支持统一定价)
|
||||
- ✅ 完善价格校验逻辑(`price_validation.go`)
|
||||
- ✅ 统一价格展示字段(`pricingMode`, `displayPrice`, `priceLabel`)
|
||||
|
||||
#### 统一模型目录接口
|
||||
- ✅ `GET /api/model-catalog` - 根据开关返回不同的目录
|
||||
- ✅ `POST /api/model-catalog/available` - 能力过滤
|
||||
- ✅ `POST /api/model-catalog/quote` - 价格报价
|
||||
|
||||
#### 任务创建强制分流
|
||||
- ✅ 前台模式:必须有 `logicalModelId`,否则拒绝
|
||||
- ✅ 系统模式:禁止 `logicalModelId`,必须指定 `channelId + model`
|
||||
- ✅ 系统模式下校验渠道模型存在且价格有效
|
||||
|
||||
### 2. 前端实现
|
||||
|
||||
#### 管理界面
|
||||
- ✅ 分成两个独立卡片:
|
||||
- **用户功能开放**(短剧、任务、积分、自定义渠道)
|
||||
- **管理后台功能**(前台模型)
|
||||
- ✅ 添加"前台模型"开关(✨ Sparkles 图标)
|
||||
- ✅ 关闭时显示二次确认对话框
|
||||
- ✅ 产品化文案,无技术术语
|
||||
|
||||
#### 菜单和路由
|
||||
- ✅ 左侧菜单根据开关动态显示/隐藏"前台模型"
|
||||
- ✅ 路由层面拦截,关闭时访问 `/admin/models` 显示"暂未开放"
|
||||
- ✅ PC 和移动端菜单都支持
|
||||
|
||||
#### 模型加载
|
||||
- ✅ 登录时调用 `/api/model-catalog` 获取模型目录
|
||||
- ✅ 刷新时调用 `/api/model-catalog` 更新模型目录
|
||||
- ✅ 根据 `source` 字段加载不同格式的模型数据
|
||||
|
||||
## 📋 工作原理
|
||||
|
||||
### 开关状态:开启(默认)
|
||||
|
||||
```
|
||||
管理后台:
|
||||
✓ 左侧显示"前台模型"菜单
|
||||
✓ 可访问 /admin/models
|
||||
|
||||
用户端:
|
||||
✓ 模型选择器显示前台模型
|
||||
✓ 创建任务时带 logicalModelId
|
||||
|
||||
后端接口:
|
||||
GET /api/model-catalog
|
||||
→ {source: "frontend", models: [...]}
|
||||
```
|
||||
|
||||
### 开关状态:关闭
|
||||
|
||||
```
|
||||
管理后台:
|
||||
✗ 左侧隐藏"前台模型"菜单
|
||||
✗ 访问 /admin/models 显示"暂未开放"
|
||||
|
||||
用户端:
|
||||
✓ 模型选择器显示系统渠道模型
|
||||
✓ 创建任务时带 channelId + model
|
||||
✗ 不允许带 logicalModelId
|
||||
|
||||
后端接口:
|
||||
GET /api/model-catalog
|
||||
→ {source: "system", channels: [...]}
|
||||
```
|
||||
|
||||
## 🎨 用户界面
|
||||
|
||||
### 管理后台 - 功能开放页面
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ 🔄 用户功能开放 4/4 已开放 │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ 🎬 短剧创作 /projects [ON] │
|
||||
│ ☑️ 任务 /tasks [ON] │
|
||||
│ 💰 积分中心 /wallet [ON] │
|
||||
│ 📡 自定义渠道 /settings... [ON] │
|
||||
└─────────────────────────────────────────────────┘
|
||||
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ ⚙️ 管理后台功能 1/1 已开放 │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ ✨ 前台模型 /admin/models [ON] │
|
||||
│ 关闭后隐藏管理后台的前台模型菜单和配置 │
|
||||
│ 页面,用户将直接使用系统渠道中的模型。 │
|
||||
└─────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 关闭确认对话框
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────┐
|
||||
│ 关闭前台模型功能? │
|
||||
├─────────────────────────────────────┤
|
||||
│ 关闭后,管理后台的「前台模型」菜单 │
|
||||
│ 将隐藏,用户将直接使用系统渠道中配 │
|
||||
│ 置的模型。已有前台模型配置不会删除。 │
|
||||
│ │
|
||||
│ [取消] [确认关闭] │
|
||||
└─────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 🔧 部署步骤
|
||||
|
||||
### 1. 编译后端
|
||||
```bash
|
||||
cd backend
|
||||
go build -o bin/server ./cmd/server
|
||||
```
|
||||
|
||||
### 2. 重启服务
|
||||
```bash
|
||||
./bin/server
|
||||
```
|
||||
|
||||
### 3. 验证接口
|
||||
```bash
|
||||
curl http://localhost:3000/api/model-catalog
|
||||
```
|
||||
|
||||
### 4. 编译前端
|
||||
```bash
|
||||
cd web
|
||||
npm run build
|
||||
```
|
||||
|
||||
### 5. 清除缓存并刷新浏览器
|
||||
|
||||
## 🧪 测试清单
|
||||
|
||||
### 基础功能测试
|
||||
- [ ] 管理后台显示两个独立的功能卡片
|
||||
- [ ] "前台模型"开关可以正常切换
|
||||
- [ ] 关闭时显示二次确认对话框
|
||||
- [ ] 配置保存后刷新页面仍然保持
|
||||
|
||||
### 菜单和路由测试
|
||||
- [ ] 开启时左侧菜单显示"前台模型"
|
||||
- [ ] 关闭时左侧菜单隐藏"前台模型"
|
||||
- [ ] 关闭后直接访问 `/admin/models` 被拦截
|
||||
- [ ] 移动端菜单也正确过滤
|
||||
|
||||
### 模型目录测试
|
||||
- [ ] 开启时模型选择器显示前台模型
|
||||
- [ ] 关闭时模型选择器显示系统渠道模型
|
||||
- [ ] 切换开关后刷新页面,模型目录正确更新
|
||||
|
||||
### 任务创建测试
|
||||
- [ ] 开启时创建任务带 `logicalModelId`
|
||||
- [ ] 关闭时创建任务带 `channelId + model`
|
||||
- [ ] 关闭时尝试带 `logicalModelId` 被拒绝
|
||||
- [ ] 两种模式下任务都能正常执行
|
||||
|
||||
### 接口测试
|
||||
- [ ] `/api/model-catalog` 返回 200
|
||||
- [ ] 开启时返回 `{source: "frontend", models: [...]}`
|
||||
- [ ] 关闭时返回 `{source: "system", channels: [...]}`
|
||||
|
||||
## 📦 修改文件清单
|
||||
|
||||
### 后端(9个文件)
|
||||
1. `internal/service/feature_availability.go` - 添加开关
|
||||
2. `internal/service/errors.go` - 错误码定义(新建)
|
||||
3. `internal/model/models_logical_model.go` - SKU 模型
|
||||
4. `internal/service/price_validation.go` - 价格校验(新建)
|
||||
5. `internal/service/logical_models.go` - 价格展示字段
|
||||
6. `internal/service/model_catalog.go` - 统一目录接口(新建)
|
||||
7. `internal/handler/model_catalog.go` - HTTP 处理器(新建)
|
||||
8. `internal/service/task_creation.go` - 任务创建分流
|
||||
9. `cmd/server/main.go` - 路由注册
|
||||
|
||||
### 前端(7个文件)
|
||||
1. `stores/use-user-store.ts` - 类型定义
|
||||
2. `pages/admin/components/feature-availability-panel.tsx` - UI 和交互
|
||||
3. `pages/admin/components/admin-shell.tsx` - 菜单过滤
|
||||
4. `components/auth/require-feature.tsx` - 权限检查
|
||||
5. `router.tsx` - 路由拦截
|
||||
6. `services/api/logical-models.ts` - API 函数
|
||||
7. `lib/user-session.ts` - 模型加载逻辑
|
||||
|
||||
## 📊 影响范围
|
||||
|
||||
### 用户影响
|
||||
- **零影响**:默认开启,行为与之前完全一致
|
||||
- **管理员可控**:通过管理后台随时切换
|
||||
|
||||
### 性能影响
|
||||
- **接口响应**:统一目录接口增加约 10-20ms
|
||||
- **数据库查询**:每次请求增加 1-2 次查询
|
||||
- **内存占用**:增加约 5-10MB(模型目录缓存)
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
1. **关闭前台模型前**:确认系统渠道中有可用模型
|
||||
2. **切换模式后**:建议用户刷新页面以加载最新配置
|
||||
3. **任务兼容**:旧任务继续使用创建时的模型配置
|
||||
4. **数据不丢失**:关闭前台模型不会删除已有配置
|
||||
|
||||
## 🐛 已知问题
|
||||
|
||||
无
|
||||
|
||||
## 🚀 下一步计划
|
||||
|
||||
1. 创建数据库迁移脚本(`logical_model_price_skus` 表)
|
||||
2. 编写单元测试和集成测试
|
||||
3. 性能优化(添加缓存)
|
||||
4. 文档更新(API 文档、用户手册)
|
||||
|
||||
## 📞 技术支持
|
||||
|
||||
如遇问题,请查看:
|
||||
- [部署指南](./DEPLOYMENT_GUIDE.md)
|
||||
- [完整实施报告](./COMPLETE_IMPLEMENTATION_REPORT.md)
|
||||
- [前端功能开关说明](./web/FRONTEND_FEATURE_TOGGLE.md)
|
||||
|
||||
---
|
||||
|
||||
**实施日期**: 2026-08-22
|
||||
**状态**: ✅ 开发完成,待测试部署
|
||||
**开发者**: Claude AI Assistant
|
||||
@@ -19,10 +19,6 @@
|
||||
|
||||
当前版本以仓库根目录 [`VERSION`](VERSION) 为准。
|
||||
|
||||
## 仓库协作
|
||||
|
||||
本项目的远端上游仓库是 [`ddcat-ai/open-ai-canvas`](https://github.com/ddcat-ai/open-ai-canvas)。本地同步主线代码时,应以该仓库的 `main` 分支为准。
|
||||
|
||||
## 赞助商
|
||||
|
||||
感谢以下赞助商对影策项目的支持:
|
||||
@@ -56,7 +52,8 @@
|
||||
Issue 反馈、技术讨论和产品升级建议都可以在 QQ 群中沟通。群内还会不定期组织 AI 学习与培训交流会。
|
||||
|
||||
<p align="center">
|
||||
<img src="assets/qq.jpg" alt="影策 QQ 交流群" width="360">
|
||||
<img src="assets/qq.jpg" alt="影策 QQ 交流群" width="280">
|
||||
<img src="assets/wx.jpg" alt="影策 微信交流群" width="280">
|
||||
</p>
|
||||
|
||||
## 当前能力
|
||||
|
||||
BIN
assets/wx.jpg
Normal file
BIN
assets/wx.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 258 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 78 KiB |
Reference in New Issue
Block a user