AI 功能
AI 功能概览
对话、图像和视频生成的实现方式,以及不同路由对应的 AI 提供商。
两条 AI 路径
本项目以两条独立的路径提供 AI 能力:
1. 光标生成(主产品)
光标生成流水线使用 GRS AI(gpt-image-2)做 image-to-image 生成。
对应路由是 /api/cursor-generator/generate-all(和 /generate-preview)。
代码位置:lib/cursor-generator/generator.ts 和 lib/ai-providers/grsai.ts。
背景移除是客户端用 @imgly/background-removal 跑的,不需要 server token。
2. Demo 路由(可选)
/api/chat、/api/image/generate、/api/video/* 这几个路由服务于
/demo 营销页。它们用 火山引擎(豆包),与光标生成流水线完全独立。
如果不发布 demo 页面,可以直接跳过。
| 路径 | 提供商 | 模型 | 端点 |
|---|---|---|---|
| 光标生成(图像) | GRS AI | gpt-image-2 | /api/cursor-generator/generate-all |
| Demo 对话 | 火山引擎 | doubao-1-5-thinking-pro-250415 | /api/chat/stream |
| Demo 图像 | 火山引擎 | doubao-seededit-3-0-i2i-250628 | /api/image/generate |
| Demo 视频 | 火山引擎 | doubao-seedance-1-0-pro-250528 | /api/video/generate |
配置
# 光标生成(主产品必需)
GRSAI_API_KEY="sk-your-grsai-key"
GRSAI_API_HOST="https://grsai.dakka.com.cn"
# Demo 路由可选,不发布 /demo 就跳过
# VOLCANO_ENGINE_API_KEY="your-volcano-engine-api-key"
# VOLCANO_ENGINE_API_URL="https://ark.cn-beijing.volces.com/api/v3"架构
lib/
├── ai-providers/
│ └── grsai.ts # 光标生成的图像接口
├── cursor-generator/
│ ├── generator.ts # 主流水线
│ └── image-processor.ts # 客户端背景移除
└── volcano-engine/ # 仅 demo 路由用
├── config.ts
├── chat.ts
├── image.ts
└── video.ts积分集成
每个 AI 操作遵循先扣除、失败后退还模式:
- 检查用户是否有足够积分
- 从余额中扣除积分
- 调用 AI API
- 如果 API 失败,自动退还积分
替换光标生成的 AI 提供商
把 GRS AI 换成其它 image-to-image 提供商:
- 替换
lib/cursor-generator/generator.ts里的调用 - 改
lib/ai-providers/(保持generateImage(prompt, imageUrl)函数签名) - 更新
lib/env.ts和.env.example里的环境变量 - 保持积分扣除模式不变