feat: 支付闭环 + 运营助手 Tool Calling + 管理后台完善
- 支付系统:微信支付 mock 自动完成、NATIVE 扫码支付、JSAPI 集成 - 运营助手:Tool Calling 架构,19 个可执行工具,AI 驱动操作 - 角色管理:表格布局 + Dialog 表单 + 权限勾选 - 配置统一:config.ts 单一数据源 - API 审计:补齐 status toggle / comments 端点 - 暗黑模式硬件编码颜色全部替换为 CSS 变量
This commit is contained in:
@@ -28,8 +28,9 @@ const MODEL_CATALOG: Record<string, ModelInfo> = {
|
||||
'openai': { id: 'openai', provider: 'OpenAI 兼容', capabilities: ['chat', 'code'], contextWindow: 8192 },
|
||||
'gpt-3.5': { id: 'gpt-3.5', provider: 'OpenAI', capabilities: ['chat', 'code'], contextWindow: 16384 },
|
||||
'gpt-4': { id: 'gpt-4', provider: 'OpenAI', capabilities: ['chat', 'code', 'vision'], contextWindow: 32768 },
|
||||
'opencode-go': { id: 'opencode-go', provider: 'OpenCode Go', capabilities: ['chat', 'code'], contextWindow: 32768 },
|
||||
'deepseek-v4-flash': { id: 'deepseek-v4-flash', provider: 'OpenCode Go', capabilities: ['chat', 'code'], contextWindow: 32768 },
|
||||
'deepseek-v4-flash': { id: 'deepseek-v4-flash', provider: '商汤科技', capabilities: ['chat', 'code'], contextWindow: 32768 },
|
||||
'sensenova-6.7-flash-lite': { id: 'sensenova-6.7-flash-lite', provider: '商汤科技', capabilities: ['chat', 'code'], contextWindow: 32768 },
|
||||
'sensenova-u1-fast': { id: 'sensenova-u1-fast', provider: '商汤科技', capabilities: ['chat', 'code', 'vision'], contextWindow: 65536 },
|
||||
}
|
||||
|
||||
@Injectable()
|
||||
@@ -58,19 +59,21 @@ export class AIGatewayService {
|
||||
this.logger.log(`OpenAI 兼容接口已注册: ${defaultModel}`);
|
||||
}
|
||||
|
||||
if (process.env.OPENCODE_API_KEY) {
|
||||
let apiUrl = process.env.OPENCODE_API_URL || 'https://opencode.ai/zen/go/v1';
|
||||
if (process.env.SENSENOVA_API_KEY) {
|
||||
let apiUrl = process.env.SENSENOVA_API_URL || 'https://token.sensenova.cn/v1';
|
||||
if (!apiUrl.endsWith('/chat/completions')) {
|
||||
apiUrl = apiUrl.replace(/\/+$/, '') + '/chat/completions';
|
||||
}
|
||||
const defaultModel = process.env.OPENCODE_MODEL || 'deepseek-v4-flash';
|
||||
this.providers.set('opencode', new OpenAICompatibleProvider(
|
||||
process.env.OPENCODE_API_KEY!,
|
||||
apiUrl,
|
||||
defaultModel,
|
||||
'OpenCode Go',
|
||||
));
|
||||
this.logger.log(`OpenCode Go 已注册: ${defaultModel}`);
|
||||
const models = ['deepseek-v4-flash', 'sensenova-6.7-flash-lite', 'sensenova-u1-fast'];
|
||||
for (const modelName of models) {
|
||||
this.providers.set(modelName, new OpenAICompatibleProvider(
|
||||
process.env.SENSENOVA_API_KEY!,
|
||||
apiUrl,
|
||||
modelName,
|
||||
'商汤科技',
|
||||
));
|
||||
}
|
||||
this.logger.log(`商汤科技已注册: ${models.join(', ')}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,9 +85,9 @@ export class AIGatewayService {
|
||||
'gpt-4': 'openai',
|
||||
'longcat': 'openai',
|
||||
'meituan/longcat-flash-lite': 'openai',
|
||||
'opencode-go': 'opencode',
|
||||
'opencode': 'opencode',
|
||||
'deepseek-v4-flash': 'opencode',
|
||||
'deepseek-v4-flash': 'deepseek-v4-flash',
|
||||
'sensenova-6.7-flash-lite': 'sensenova-6.7-flash-lite',
|
||||
'sensenova-u1-fast': 'sensenova-u1-fast',
|
||||
};
|
||||
|
||||
const providerKey = modelMap[model.toLowerCase()] || (model.includes('/') ? 'openai' : model);
|
||||
|
||||
Reference in New Issue
Block a user