evolve-memory-system
Version:
一个集成了LlamaIndex RAG, LMCE和MCP工具的本地记忆系统,专为小说《进化》设计。
43 lines (33 loc) • 928 B
JavaScript
const { spawn } = require('child_process');
const path = require('path');
// 获取项目根目录
const projectRoot = path.join(__dirname, '..');
// 设置环境变量
process.env.PYTHONPATH = projectRoot;
// 使用Python启动stdio版本的MCP服务器
const pythonPath = process.env.VIRTUAL_ENV ?
path.join(process.env.VIRTUAL_ENV, 'bin', 'python') :
'python3';
const mcpProcess = spawn(pythonPath, [
'-u',
path.join(__dirname, 'start-novel-mcp-stdio.py')
], {
cwd: projectRoot,
stdio: ['pipe', 'pipe', 'pipe']
});
// 转发stdin
process.stdin.pipe(mcpProcess.stdin);
// 转发stdout和stderr
mcpProcess.stdout.pipe(process.stdout);
mcpProcess.stderr.pipe(process.stderr);
// 处理退出信号
process.on('SIGINT', () => {
mcpProcess.kill('SIGINT');
});
process.on('SIGTERM', () => {
mcpProcess.kill('SIGTERM');
});
mcpProcess.on('close', (code) => {
process.exit(code);
});