Procházet zdrojové kódy

fix(deploy): test-tools.controller.js 被 deploy.sh 误排除导致线上 502

deploy.sh 的 tar --exclude='test-*.js' 会把 test-tools.controller.js 误伤。
本次会话提交时此 controller 还在旧路径下,未被识别为业务文件。

修复:
- 把 test-tools.controller.{ts,js} 重命名为 llm-tools.controller.{ts,js}
  (避免 test- 前缀被 deploy.sh 误杀)
- src/app.ts 同步更新 import 路径
- deploy.sh 改用更精准的排除规则(test-*.spec.js / verify-*.js)

线上验证:/api/navigation/config 200, /api/test-tools/llm 200

Co-Authored-By: Claude <noreply@anthropic.com>
MyFramework User před 2 měsíci
rodič
revize
bd0d8fa6cd

+ 2 - 1
deploy.sh

@@ -41,7 +41,8 @@ ssh -p $REMOTE_SSH_PORT root@$REMOTE_HOST "mkdir -p $TEMP_DIR"
 # 同步后端(先打包排除node_modules/.git/.ts/test-*.js)
 echo "打包后端文件..."
 cd "$LOCAL_PROJECT/server"
-tar --exclude='node_modules' --exclude='.git' --exclude='*.ts' --exclude='test-*.js' -czf /tmp/server.tar.gz .
+# 注意:不要 exclude 'test-*.js',会把 test-tools.controller.js 这种业务 controller 误伤
+tar --exclude='node_modules' --exclude='.git' --exclude='*.ts' --exclude='test-*.spec.js' --exclude='verify-*.js' -czf /tmp/server.tar.gz .
 cd "$LOCAL_PROJECT"
 
 echo "同步后端文件..."

+ 1 - 1
server/src/app.ts

@@ -33,7 +33,7 @@ import { apiRateLimiter } from './middleware/rate-limiter';
 import logRoutes from './services/log.controller';
 import authRoutes from './modules/auth/auth.controller';
 import ttsRoutes from './modules/tts/tts.controller';
-import testToolsRoutes from './modules/test-tools/test-tools.controller';
+import testToolsRoutes from './modules/test-tools/llm-tools.controller';
 import memberRoutes from './modules/member/member.controller';
 import shareRoutes from './modules/share/share.controller';
 import playerRoutes from './modules/player/player.controller';

+ 0 - 0
server/src/modules/test-tools/test-tools.controller.ts → server/src/modules/test-tools/llm-tools.controller.ts


+ 0 - 31
server/verify-real.js

@@ -1,31 +0,0 @@
-process.chdir(__dirname);
-const { ChatOpenAI } = require('@langchain/openai');
-const config = require('./dist/config/models.json');
-
-const LONG_PROMPT = `请生成一本关于"小兔子不肯睡"的儿童绘本完整富信息大纲。要求:
-1. 必须生成65个章节,从第1章连续输出到第65章
-2. 每个章节包含:编号、标题、摘要、知识点列表、预估字数、写作指令
-3. 总字数约130000字
-4. 返回格式必须是严格的JSON。
-
-请直接输出JSON。`;
-
-// 修复后的 client:maxTokens=16000 (从 48000 cap 下来)
-const llm = new ChatOpenAI({
-  model: 'MiniMax-M2.7',
-  apiKey: config.vendors.minimax.apiKey,
-  maxTokens: 16000,  // 修复值
-  timeout: 5 * 60 * 1000,
-  configuration: { baseURL: config.vendors.minimax.baseUrl },
-});
-
-const start = Date.now();
-console.log('=== 真实调用(带修复:maxTokens=16000, timeout=5min)===');
-llm.invoke(LONG_PROMPT).then(result => {
-  const elapsed = ((Date.now() - start) / 1000).toFixed(1);
-  console.log(`✅ 成功!耗时: ${elapsed}s, 响应长度: ${result.content.length}`);
-  console.log('响应开头:', result.content.substring(0, 200).replace(/\n/g, ' '));
-}).catch(e => {
-  const elapsed = ((Date.now() - start) / 1000).toFixed(1);
-  console.log(`❌ 失败!耗时: ${elapsed}s, ${e.message}`);
-}).finally(() => process.exit(0));