修改前端架构到Electron ,增加llm_api页面,增加chat SSE渲染,修改若安按钮,卡片名称修改等小功能,增加agent-core,增加SQlite,增加llm UDS Pipe websocke
This commit is contained in:
+112
@@ -0,0 +1,112 @@
|
||||
'use strict';
|
||||
|
||||
var vite = require('vite');
|
||||
var colors = require('picocolors');
|
||||
var config = require('./lib-CMs-qhOt.cjs');
|
||||
require('node:path');
|
||||
require('node:fs');
|
||||
require('node:url');
|
||||
require('node:module');
|
||||
require('esbuild');
|
||||
require('node:child_process');
|
||||
require('node:crypto');
|
||||
require('node:fs/promises');
|
||||
require('magic-string');
|
||||
|
||||
async function createServer(inlineConfig = {}, options) {
|
||||
process.env.NODE_ENV_ELECTRON_VITE = 'development';
|
||||
const config$1 = await config.resolveConfig(inlineConfig, 'serve', 'development');
|
||||
if (config$1.config) {
|
||||
const logger = vite.createLogger(inlineConfig.logLevel);
|
||||
let server;
|
||||
let ps;
|
||||
const errorHook = (e) => {
|
||||
logger.error(`${colors.bgRed(colors.white(' ERROR '))} ${colors.red(e.message)}`);
|
||||
};
|
||||
const mainViteConfig = config$1.config?.main;
|
||||
if (mainViteConfig && !options.rendererOnly) {
|
||||
const watchHook = () => {
|
||||
logger.info(colors.green(`\nrebuild the electron main process successfully`));
|
||||
if (ps) {
|
||||
logger.info(colors.cyan(`\n waiting for electron to exit...`));
|
||||
ps.removeAllListeners();
|
||||
ps.kill();
|
||||
ps = config.startElectron(inlineConfig.root);
|
||||
logger.info(colors.green(`\nrestart electron app...`));
|
||||
}
|
||||
};
|
||||
await doBuild(mainViteConfig, watchHook, errorHook);
|
||||
logger.info(colors.green(`\nbuild the electron main process successfully`));
|
||||
}
|
||||
const preloadViteConfig = config$1.config?.preload;
|
||||
if (preloadViteConfig && !options.rendererOnly) {
|
||||
logger.info(colors.gray(`\n-----\n`));
|
||||
const watchHook = () => {
|
||||
logger.info(colors.green(`\nrebuild the electron preload files successfully`));
|
||||
if (server) {
|
||||
logger.info(colors.cyan(`\n trigger renderer reload`));
|
||||
server.ws.send({ type: 'full-reload' });
|
||||
}
|
||||
};
|
||||
await doBuild(preloadViteConfig, watchHook, errorHook);
|
||||
logger.info(colors.green(`\nbuild the electron preload files successfully`));
|
||||
}
|
||||
if (options.rendererOnly) {
|
||||
logger.warn(`\n${colors.yellow(colors.bold('warn'))}:${colors.yellow(' you have skipped the main process and preload scripts building')}`);
|
||||
}
|
||||
const rendererViteConfig = config$1.config?.renderer;
|
||||
if (rendererViteConfig) {
|
||||
logger.info(colors.gray(`\n-----\n`));
|
||||
server = await vite.createServer(rendererViteConfig);
|
||||
if (!server.httpServer) {
|
||||
throw new Error('HTTP server not available');
|
||||
}
|
||||
await server.listen();
|
||||
const conf = server.config.server;
|
||||
const protocol = conf.https ? 'https:' : 'http:';
|
||||
const host = config.resolveHostname(conf.host);
|
||||
const port = conf.port;
|
||||
process.env.ELECTRON_RENDERER_URL = `${protocol}//${host}:${port}`;
|
||||
const slogger = server.config.logger;
|
||||
slogger.info(colors.green(`dev server running for the electron renderer process at:\n`), {
|
||||
clear: !slogger.hasWarned && !options.rendererOnly
|
||||
});
|
||||
server.printUrls();
|
||||
}
|
||||
ps = config.startElectron(inlineConfig.root);
|
||||
logger.info(colors.green(`\nstart electron app...\n`));
|
||||
}
|
||||
}
|
||||
async function doBuild(config, watchHook, errorHook) {
|
||||
return new Promise(resolve => {
|
||||
if (config.build?.watch) {
|
||||
let firstBundle = true;
|
||||
const closeBundle = () => {
|
||||
if (firstBundle) {
|
||||
firstBundle = false;
|
||||
resolve();
|
||||
}
|
||||
else {
|
||||
watchHook();
|
||||
}
|
||||
};
|
||||
config = vite.mergeConfig(config, {
|
||||
plugins: [
|
||||
{
|
||||
name: 'vite:electron-watcher',
|
||||
closeBundle
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
vite.build(config)
|
||||
.then(() => {
|
||||
if (!config.build?.watch) {
|
||||
resolve();
|
||||
}
|
||||
})
|
||||
.catch(e => errorHook(e));
|
||||
});
|
||||
}
|
||||
|
||||
exports.createServer = createServer;
|
||||
Reference in New Issue
Block a user