Files
ai-paas-comparison/shusheng-aiflow
T
2026-06-27 15:33:23 +08:00

384 lines
16 KiB
Plaintext
Raw 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.
# AI PaaS 平台项目规格说明书(专为 Qoder 设计)
**文档版本:** 1.0
**适用工具:** Qoder (Quest Mode / Agent Mode)
**目标:** 指导 Qoder 生成代码、设计架构、管理任务,完成 AI PaaS 平台开发
**策略:** 核心自研 + 外围开源
---
## 1. 项目概述 (Project Overview)
**项目名称:** AI PaaS Platform (AIPaaS)
**目标:** 构建一个面向个人用户的 AI 能力服务平台,支持 Agent 创建、MCP 接入、Skills 市场、IM Bot 机器人、CLI 工具及 AI 产品交易。
**核心差异化:** 能力注册中心、LLM 智能路由、统一计费系统、可视化 Agent 编排。
**开发模式:** 混合模式(核心逻辑自研,基础设施开源)。
---
## 2. 开发策略 (Development Strategy)
### 2.1 自研 vs 开源决策表
| 模块 | 策略 | 说明 | Qoder 行动指令 |
|------|------|------|----------------|
| **用户认证** | 70% 开源 + 30% 自研 | 使用 Keycloak,自研租户隔离适配器 | `Configure Keycloak, Build Tenant Adapter` |
| **API Gateway** | 80% 开源 + 20% 自研 | 使用 Kong,自研能力路由与计费插件 | `Setup Kong, Create Custom Plugins` |
| **数据库** | 100% 开源 | PostgreSQL + Redis + Milvus | `Initialize DB Schema, Configure Milvus` |
| **能力注册中心** | 100% 自研 | 核心模块,管理 Agent/MCP/Skill 元数据 | `Build Capability Registry Service` |
| **LLM Provider Router** | 100% 自研 | 核心模块,多模型路由、故障转移、计费 | `Build LLM Router Service` |
| **计费系统** | 100% 自研 | 订阅 + 按量混合计费,对接支付网关 | `Build Billing Service` |
| **Agent 编排引擎** | 100% 自研 | 可视化工作流,类似 LangFlow | `Build Frontend Editor + Backend Executor` |
| **Skills 市场** | 100% 自研 | 发布、审核、交易、分成逻辑 | `Build Skill Marketplace API` |
| **IM Bot 网关** | 100% 自研 | 多平台适配(微信/QQ/钉钉)+ 统一路由 | `Build IM Gateway with Adapters` |
| **知识库 (RAG)** | 开源 + 自研 | Milvus 向量库 + 自研检索逻辑 | `Setup Milvus, Build RAG Service` |
| **基础设施** | 100% 开源 | Docker, K8s, Nginx, Kafka, Prometheus | `Generate Docker Compose, K8s Helm Charts` |
### 2.2 Qoder 工作流建议
1. **阶段一 (架构设计):** 使用 **Qoder Quest Mode**。输入本规格书,生成项目骨架、目录结构、配置文件。
2. **阶段二 (核心开发):** 使用 **Qoder Agent Mode**。逐模块开发(如先开发认证,再开发注册中心)。
3. **阶段三 (知识沉淀):** 使用 **Qoder Repo Wiki**。自动生成架构图、API 文档、依赖关系图,并定期更新。
4. **阶段四 (测试验证):** 使用 **Qoder Code Review** 和 **Test Generation**。确保代码质量。
---
## 3. 技术栈 (Tech Stack)
### 3.1 后端服务
* **核心服务:** Go (1.21+) (高性能,适合网关、Router、注册中心)
* **业务服务:** Python (3.10+) (FastAPI) (适合 Agent 编排、Skills 市场、数据处理)
* **API Gateway:** Kong (3.x) (Lua 插件,高性能)
* **消息队列:** Kafka (高吞吐用量日志) + Redis Stream (轻量任务)
* **任务队列:** Celery (Python) (异步审核、结算)
### 3.2 前端与工具
* **Dashboard:** React 18 + TypeScript + Ant Design 5
* **CLI:** Python (Click 库)
* **开发工具:** Qoder (IDE 插件 / CLI)
### 3.3 基础设施
* **数据库:** PostgreSQL 15 (业务数据), Redis 7 (缓存/限流), Milvus 2.4 (向量)
* **认证:** Keycloak 24 (OAuth2.0/OIDC)
* **容器:** Docker + Kubernetes (K8s)
* **存储:** MinIO (S3 兼容,对象存储)
* **监控:** Prometheus + Grafana + ELK Stack
* **CI/CD:** GitHub Actions
---
## 4. 系统架构 (System Architecture)
### 4.1 逻辑架构图 (文本描述)
```
[Web Dashboard] [Mobile App] [CLI]
│
▼
[API Gateway (Kong)] ←── [Custom Plugins (Auth, RateLimit, UsageCheck)]
│
├─ [Auth Service (Keycloak + Tenant Adapter)]
├─ [LLM Router (Self-Research)] ←── [LLM Providers (DeepSeek, Qwen, etc.)]
├─ [Capability Registry (Self-Research)] ←── [Agent/MCP/Skill Services]
├─ [Billing Service (Self-Research)] ←── [Payment Gateways (Alipay, Stripe)]
├─ [Usage Tracker (Redis + Kafka)]
└─ [Admin Console (React)]
```
### 4.2 多租户隔离策略
* **数据库:** Shared-schema 模式,所有表增加 `tenant_id` 字段。
* **ORM:** 自动注入 `tenant_id` 过滤器(MyBatis Plus / GORM)。
* **认证:** Keycloak Realm 隔离(每个租户独立 Realm)或 单 Realm + 租户标签(推荐单 Realm 降低复杂度,通过 API 层过滤)。
* **资源:** 独立 Redis Key 命名空间 (`tenant:{id}:usage`)。
---
## 5. 模块规格说明书 (Module Specifications)
### 5.1 用户认证与授权 (Auth Service)
**功能:**
1. OAuth2.0 登录 (微信、QQ、Google)
2. JWT Token 生成 (HS256)
3. API Key 管理系统 (按 tenant 隔离)
4. RBAC 权限 (Admin, User, Developer)
**Qoder 指令:**
* `Configure Keycloak with OAuth2.0 providers (WeChat, QQ).`
* `Build a Go-based Tenant Adapter for Keycloak to manage tenant isolation.`
* `Implement JWT middleware for API Gateway validation.`
* `Create API Key generation endpoint (POST /api/keys) with revoke support.`
### 5.2 API Gateway (Kong)
**功能:**
1. JWT 认证插件
2. API Key 认证插件
3. 限流插件 (基于 tenant 的 QPS 限制)
4. 熔断插件
5. 自定义插件:能力路由 (Capability Router)、用量检查 (Usage Check)
**Qoder 指令:**
* `Generate Kong configuration file (kong.yml) with services for LLM Router and Capability Registry.`
* `Create a custom Kong plugin in Go for Usage Check (query Redis before routing).`
* `Create a custom Kong plugin for Capability Routing (route based on capability_id header).`
### 5.3 能力注册中心 (Capability Registry) - **核心自研**
**功能:**
1. 能力注册 (POST /v1/capabilities/register)
2. 能力查询 (GET /v1/capabilities?tag=travel)
3. 元数据存储 (PostgreSQL)
4. 缓存 (Redis, 5 分钟 TTL)
5. 健康检查 (定期心跳)
6. 版本管理 (语义化版本 v1.0.0)
**数据模型 (PostgreSQL):**
```sql
CREATE TABLE capabilities (
id UUID PRIMARY KEY,
tenant_id UUID NOT NULL,
capability_id VARCHAR(100) UNIQUE NOT NULL, -- Agent ID / Skill ID
name VARCHAR(255) NOT NULL,
type VARCHAR(50) NOT NULL, -- 'agent', 'mcp', 'skill', 'bot'
version VARCHAR(20) NOT NULL,
description TEXT,
tags JSONB,
api_endpoint VARCHAR(500),
protocol VARCHAR(20) DEFAULT 'rest',
dependencies JSONB,
status VARCHAR(20) DEFAULT 'active',
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW(),
INDEX idx_tenant_type (tenant_id, type),
INDEX idx_capability_id (capability_id)
);
```
**Qoder 指令:**
* `Generate Go service for Capability Registry with CRUD API.`
* `Implement Redis caching layer for capability metadata.`
* `Create API endpoints: POST /v1/capabilities/register, GET /v1/capabilities, DELETE /v1/capabilities/{id}.`
* `Implement semantic versioning validation for registration.`
### 5.4 LLM Provider Router - **核心自研**
**功能:**
1. 多模型适配器 (DeepSeek, Qwen, Doubao, Baidu, Yuanbao, Zhipu, Ollama)
2. OpenAI 兼容接口 (POST /v1/chat/completions)
3. 路由策略 (成本优先、性能优先、智能路由)
4. 故障转移 (自动切换备用模型)
5. 用量追踪 (记录输入/输出 Token)
**Qoder 指令:**
* `Define LLM Provider Interface in Go (ChatCompletion, Stream, HealthCheck).`
* `Implement Adapters for DeepSeek, Qwen, Ollama (follow OpenAI format conversion).`
* `Build Router Service with Strategy Pattern for model selection.`
* `Implement Circuit Breaker for failover using Redis.`
* `Add Usage Tracking hook before calling model adapter (record to Kafka).`
### 5.5 计费系统 (Billing System) - **核心自研**
**功能:**
1. 订阅管理 (Free, Pro, Business, Enterprise)
2. Token 配额管理 (月配额、剩余量)
3. 混合计费 (订阅 + 超出部分按量)
4. 支付集成 (支付宝、微信支付、Stripe)
5. 账单生成 (月度)
**数据模型 (PostgreSQL):**
```sql
CREATE TABLE subscriptions (
id UUID PRIMARY KEY,
user_id UUID NOT NULL,
tenant_id UUID NOT NULL,
plan_type VARCHAR(20) NOT NULL, -- 'free', 'pro', 'business'
tokens_quota INT,
start_date DATE,
end_date DATE,
status VARCHAR(20) -- 'active', 'expired', 'cancelled'
);
CREATE TABLE usage_records (
id UUID PRIMARY KEY,
tenant_id UUID NOT NULL,
capability_id VARCHAR(100),
model_id VARCHAR(50),
input_tokens INT,
output_tokens INT,
cost DECIMAL(10, 4),
timestamp TIMESTAMP
);
```
**Qoder 指令:**
* `Generate Billing Service with subscription management API.`
* `Implement Usage Tracker middleware (check quota before allowing API call).`
* `Create Stripe/Alipay webhook handlers for payment confirmation.`
* `Build monthly billing report generator (run via Celery task).`
### 5.6 Agent 编排引擎 (Agent Engine)
**功能:**
1. 可视化工作流编辑器 (React)
2. 工作流定义 (JSON/YAML)
3. 执行引擎 (支持异步、重试、断点)
4. 节点类型:LLM 调用、条件分支、循环、工具调用
**Qoder 指令:**
* `Create React frontend component for Workflow Editor (drag-and-drop).`
* `Define JSON schema for Workflow Definition (nodes, edges).`
* `Build Go backend executor for workflow definition (parse JSON, execute nodes).`
* `Implement state persistence for long-running workflows (store in PostgreSQL).`
### 5.7 Skills 市场 (Skills Market)
**功能:**
1. Skill 发布 (代码包 + 元数据)
2. 安全扫描 (静态分析)
3. 审核流程 (自动 + 人工)
4. 交易 (购买、分成)
5. 版本管理 (v1.0, v1.1)
**Qoder 指令:**
* `Build Skill Upload Service with code validation (static analysis).`
* `Implement Skill Marketplace API (Publish, Buy, Rate).`
* `Create Admin Dashboard for Skill Review (Approve/Reject).`
* `Implement Revenue Sharing logic (Platform 30%, Developer 70%).`
### 5.8 IM Bot 网关 (IM Bot Gateway)
**功能:**
1. 平台适配器 (WeChat, QQ, DingTalk)
2. 统一消息格式 (内部标准化)
3. 会话管理 (跨平台状态)
4. 消息路由 (到对应 Agent)
**Qoder 指令:**
* `Create Adapter Interface for IM Platforms (WeChatAdapter, QQAdapter).`
* `Implement Message Router to translate platform format to internal format.`
* `Build Session Manager for user conversation state (Redis).`
* `Integrate with LLM Router for AI response generation.`
---
## 6. API 规格 (API Specifications)
### 6.1 通用头 (Common Headers)
```
Authorization: Bearer <JWT-Token>
X-Tenant-ID: <tenant_id>
X-User-ID: <user_id>
Content-Type: application/json
```
### 6.2 关键端点
| 方法 | 路径 | 描述 | 模块 |
|------|------|------|------|
| `POST` | `/v1/auth/login` | 用户登录 (OAuth2.0) | Auth |
| `POST` | `/v1/auth/keys` | 生成 API Key | Auth |
| `POST` | `/v1/capabilities/register` | 注册能力 (Agent/MCP) | Registry |
| `GET` | `/v1/capabilities/{id}` | 查询能力详情 | Registry |
| `POST` | `/v1/chat/completions` | LLM 统一入口 (Router) | LLM Router |
| `GET` | `/v1/usage/stats` | 用量统计 | Usage Tracker |
| `POST` | `/v1/agents` | 创建 Agent (工作流) | Agent Engine |
| `GET` | `/v1/skills` | 浏览 Skill | Skills Market |
| `POST` | `/v1/skills/{id}/purchase` | 购买 Skill | Billing |
| `POST` | `/v1/im/connect` | IM 机器人连接 | IM Bot |
---
## 7. 开发路线图 (Development Roadmap)
### 阶段 1:基础架构与核心中间件 (Week 1-4)
* [ ] 项目初始化 (目录结构、CI/CD 配置)
* [ ] 部署基础设施 (Docker Compose: Keycloak, Kong, PostgreSQL, Redis, Milvus)
* [ ] 实现用户认证系统 (Keycloak + Tenant Adapter)
* [ ] 实现 API Gateway (Kong + Auth Plugins)
* [ ] 实现能力注册中心 (CRUD + Redis Cache)
### 阶段 2:核心 AI 能力与计费 (Week 5-8)
* [ ] 实现 LLM Provider Router (多模型适配 + 路由策略)
* [ ] 实现用量追踪系统 (Redis + Kafka)
* [ ] 实现计费系统 (订阅 + 配额检查 + 支付集成)
* [ ] 实现 Agent 编排引擎 (前端编辑器 + 后端执行器)
### 阶段 3:市场与集成 (Week 9-12)
* [ ] 实现 Skills 市场 (发布 + 审核 + 交易)
* [ ] 实现 IM Bot 网关 (微信/QQ/钉钉适配)
* [ ] 实现知识库 (RAG + Milvus 集成)
* [ ] 实现 Dashboard (React + 数据展示)
### 阶段 4:测试与优化 (Week 13-14)
* [ ] 全链路测试 (端到端流程)
* [ ] 性能优化 (限流、缓存、数据库索引)
* [ ] 安全审计 (渗透测试、代码审查)
* [ ] 文档编写 (Repo Wiki, API 文档)
---
## 8. Qoder 交互指南 (How to Use with Qoder)
### 8.1 初始提问 (Initial Prompt)
**请将以下指令直接发送给 Qoder:**
> "你是 AI PaaS 平台的架构师。请根据我提供的《AI PaaS 平台项目规格说明书》,使用 Qoder 的 Quest Mode 完成以下任务:
> 1. 生成项目目录结构。
> 2. 生成 Docker Compose 文件,包含 Keycloak, Kong, PostgreSQL, Redis, Milvus。
> 3. 生成 PostgreSQL 数据库 schema (users, capabilities, subscriptions, usage_records)。
> 4. 生成 Go 项目骨架 (capability-registry, llm-router, billing)。
> 5. 使用 Repo Wiki 保存生成的架构图和依赖关系。
> 项目核心策略是:核心逻辑自研,基础设施开源。请优先生成基础设施配置和核心中间件骨架。"
### 8.2 模块开发指令 (Module Specific Prompt)
**当完成基础架构后,逐模块开发时,使用以下格式:**
> "请开发 [模块名称] 模块。
> 需求描述:[复制规格书中的功能描述]。
> 技术栈:[如 Go + PostgreSQL + Redis]。
> 关键接口:[列出关键 API 端点]。
> 数据模型:[要求生成 SQL Schema]。
> 注意事项:[如租户隔离、配额检查、错误处理]。
请生成完整的代码文件,并编写单元测试。"
### 8.3 代码审查与优化 (Code Review)
> "请审查 [文件路径] 的代码。
> 检查点:[如安全性、性能、租户隔离、错误处理、代码规范]。
> 建议:[列出具体问题]。
> 请提供重构建议并生成优化后的代码。"
### 8.4 Repo Wiki 使用
> "请分析当前项目结构,生成 Repo Wiki 文档。
> 内容包括:系统架构图、模块依赖关系图、API 端点列表、数据模型说明。
> 确保 Wiki 与代码保持同步,每次重大修改后更新 Wiki。"
---
## 9. 可行性验证 (Feasibility Check)
本方案基于以下前提,确保 Qoder 可执行:
1. **代码生成能力:** Qoder 能够生成 Go/Python/React 代码片段及完整文件。
2. **配置生成能力:** Qoder 能够编写 Docker Compose、K8s Helm Chart、Kong 配置。
3. **数据库操作:** Qoder 能够编写 SQL Schema 及 ORM 模型。
4. **测试生成:** Qoder 能够编写单元测试 (GoTest / PyTest / Jest)。
5. **迭代开发:** Qoder 支持多轮对话,可逐步完善代码 (如先写接口,再写实现)。
**风险控制:**
* 对于复杂的前端工作流编辑器 (React),Qoder 可能生成基础框架,需人工细化交互逻辑。
* 对于第三方平台接入 (微信/QQ),需 Qoder 调用官方 API 文档生成适配器代码。
* 对于支付网关,需 Qoder 生成 webhook 处理逻辑,密钥由用户配置。
---
## 10. 附录:初始任务清单 (First Step Checklist)
在将此文档投喂给 Qoder 前,请确保用户已准备:
- [ ] 注册 Qoder 账号并配置 API Key (如果需要云端模式)
- [ ] 准备好本地开发环境 (Docker, Git, Code Editor)
- [ ] 准备好第三方平台 API Key (微信、QQ、Stripe 等,可在后期配置)
- [ ] 准备好模型 API Key (DeepSeek、Qwen 等)
**Qoder 启动命令示例 (如果使用 CLI):**
```bash
qoder project create --spec "AI PaaS Platform Specification" --mode quest
```