fix: 修复 ai 模块中 Python 脚本路径问题

使用 PROJECT_ROOT 替代 __dirname 计算,确保打包后能正确找到 tools 文件夹
This commit is contained in:
2026-03-13 20:31:54 +08:00
parent 8d4a9a3704
commit 986ecb2561

View File

@@ -1,16 +1,13 @@
import express, { type Request, type Response } from 'express'
import { spawn } from 'child_process'
import path from 'path'
import { fileURLToPath } from 'url'
import fs from 'fs/promises'
import fsSync from 'fs'
import { asyncHandler } from '../../utils/asyncHandler.js'
import { successResponse } from '../../utils/response.js'
import { resolveNotebookPath } from '../../utils/pathSafety.js'
import { ValidationError, NotFoundError, InternalError } from '../../../shared/errors/index.js'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
import { PROJECT_ROOT } from '../../config/paths.js'
const router = express.Router()
@@ -89,8 +86,7 @@ router.post(
const content = await fs.readFile(fullPath, 'utf-8')
const projectRoot = path.resolve(__dirname, '..', '..', '..')
const scriptPath = path.join(projectRoot, 'tools', 'doubao', 'main.py')
const scriptPath = path.join(PROJECT_ROOT, 'tools', 'doubao', 'main.py')
if (!fsSync.existsSync(scriptPath)) {
throw new InternalError(`Python script not found: ${scriptPath}`)