fix: unblock local news page generation
This commit is contained in:
+45
-8
@@ -8,14 +8,28 @@ import {
|
||||
describeMemindRuntimeProfile,
|
||||
loadMemindEnvFiles,
|
||||
} from './memind-runtime-profile.mjs';
|
||||
import {
|
||||
deepseekDisableThinkingEnabled,
|
||||
resolveDeepseekNoThinkListenPort,
|
||||
} from '../deepseek-no-think-proxy.mjs';
|
||||
|
||||
const root = path.join(path.dirname(fileURLToPath(import.meta.url)), '..');
|
||||
const opsDir = path.join(root, 'ops');
|
||||
|
||||
// Load .env before reading ports — otherwise ADMIN_PORT defaults to 8082 and
|
||||
// split-service MindSpace (also on 8082) gets killed by freePort().
|
||||
loadMemindEnvFiles(root);
|
||||
applyMemindRuntimeProfile({ rootDir: root });
|
||||
console.log(`==> Runtime profile: ${describeMemindRuntimeProfile()}`);
|
||||
|
||||
const portalPort = Number(process.env.H5_PORT ?? 8081);
|
||||
const vitePort = Number(process.env.VITE_PORT ?? 5173);
|
||||
const plazaPort = Number(process.env.PLAZA_PORT ?? 3001);
|
||||
const opsPort = Number(process.env.OPS_PORT ?? 3002);
|
||||
const adminPort = Number(process.env.ADMIN_PORT ?? 8082);
|
||||
const deepseekNoThinkEnabled = deepseekDisableThinkingEnabled();
|
||||
const deepseekNoThinkPort = resolveDeepseekNoThinkListenPort();
|
||||
const deepseekNoThinkUrl = `http://127.0.0.1:${deepseekNoThinkPort}`;
|
||||
const portalUrl = `http://127.0.0.1:${portalPort}`;
|
||||
const adminUrl = `http://127.0.0.1:${adminPort}`;
|
||||
const localMindSpacePublicBase = `http://127.0.0.1:${vitePort}`;
|
||||
@@ -23,10 +37,6 @@ const plazaPublicBase = (
|
||||
process.env.PLAZA_PUBLIC_BASE ?? `http://127.0.0.1:${plazaPort}`
|
||||
).replace(/\/$/, '');
|
||||
|
||||
loadMemindEnvFiles(root);
|
||||
applyMemindRuntimeProfile({ rootDir: root });
|
||||
console.log(`==> Runtime profile: ${describeMemindRuntimeProfile()}`);
|
||||
|
||||
function freePort(port) {
|
||||
try {
|
||||
execSync(`lsof -ti TCP:${port} -sTCP:LISTEN | xargs kill -9`, { stdio: 'ignore' });
|
||||
@@ -55,6 +65,7 @@ let server;
|
||||
let admin;
|
||||
let ops;
|
||||
let vite;
|
||||
let deepseekNoThinkProxy;
|
||||
let stopping = false;
|
||||
|
||||
function shutdown(code = 0) {
|
||||
@@ -64,6 +75,7 @@ function shutdown(code = 0) {
|
||||
admin?.kill('SIGTERM');
|
||||
ops?.kill('SIGTERM');
|
||||
vite?.kill('SIGTERM');
|
||||
deepseekNoThinkProxy?.kill('SIGTERM');
|
||||
setTimeout(() => process.exit(code), 300);
|
||||
}
|
||||
|
||||
@@ -105,17 +117,39 @@ const opsEnv = {
|
||||
VITE_MINDSPACE_BASE: mindSpacePublicBase,
|
||||
};
|
||||
|
||||
console.log(`==> 清理端口 ${portalPort} / ${adminPort} / ${vitePort} / ${opsPort}...`);
|
||||
const managedPorts = [
|
||||
portalPort,
|
||||
adminPort,
|
||||
vitePort,
|
||||
opsPort,
|
||||
...(deepseekNoThinkEnabled ? [deepseekNoThinkPort] : []),
|
||||
];
|
||||
console.log(`==> 清理端口 ${managedPorts.join(' / ')}...`);
|
||||
freePort(portalPort);
|
||||
freePort(adminPort);
|
||||
freePort(vitePort);
|
||||
freePort(opsPort);
|
||||
if (deepseekNoThinkEnabled) freePort(deepseekNoThinkPort);
|
||||
await new Promise((resolve) => setTimeout(resolve, 500));
|
||||
|
||||
console.log('==> 启动 portal (server.mjs)...');
|
||||
server = spawnChild('node', [path.join(root, 'server.mjs')], 'portal');
|
||||
|
||||
try {
|
||||
if (deepseekNoThinkEnabled) {
|
||||
console.log('==> 启动 DeepSeek no-thinking proxy...');
|
||||
deepseekNoThinkProxy = spawnChild(
|
||||
'node',
|
||||
[path.join(root, 'deepseek-no-think-proxy.mjs')],
|
||||
'deepseek-no-think',
|
||||
);
|
||||
await waitFor(
|
||||
deepseekNoThinkUrl,
|
||||
async (url) => (await fetch(`${url}/health`)).ok,
|
||||
'DeepSeek no-thinking proxy',
|
||||
);
|
||||
console.log(`==> DeepSeek no-thinking proxy 就绪: ${deepseekNoThinkUrl}`);
|
||||
}
|
||||
|
||||
console.log('==> 启动 portal (server.mjs)...');
|
||||
server = spawnChild('node', [path.join(root, 'server.mjs')], 'portal');
|
||||
await waitFor(portalUrl, async (url) => (await fetch(`${url}/auth/status`)).ok, 'Portal');
|
||||
console.log(`==> Portal 就绪: ${portalUrl}`);
|
||||
|
||||
@@ -156,6 +190,9 @@ try {
|
||||
console.log(` Ops 审核后台 http://127.0.0.1:${opsPort}/ops/`);
|
||||
console.log(` API / Portal ${portalUrl}`);
|
||||
console.log(` memind_adm ${adminUrl}`);
|
||||
if (deepseekNoThinkEnabled) {
|
||||
console.log(` DeepSeek Proxy ${deepseekNoThinkUrl}`);
|
||||
}
|
||||
console.log('');
|
||||
console.log('Plaza 已独立出去:请另开终端运行 pnpm dev:plaza 或 pnpm start:plaza');
|
||||
} catch (err) {
|
||||
|
||||
Reference in New Issue
Block a user