feat: 添加 SDD (规范驱动开发) 模块

This commit is contained in:
2026-03-18 16:17:30 +08:00
parent 90517f2289
commit c83f23c319
7 changed files with 312 additions and 1 deletions

View File

@@ -7,6 +7,7 @@ import { generatePdf } from './services/pdfGenerator';
import { selectHtmlFile } from './services/htmlImport';
import { opencodeService } from './services/opencodeService';
import { xcOpenCodeWebService } from './services/xcOpenCodeWebService';
import { sddService } from './services/sddService';
import { electronState } from './state';
log.initialize();
@@ -387,6 +388,22 @@ ipcMain.handle('xc-opencode-web-stop', async () => {
return await xcOpenCodeWebService.stop();
});
ipcMain.handle('sdd-get-status', () => {
return sddService.getStatus();
});
ipcMain.handle('sdd-get-port', () => {
return { port: sddService.port };
});
ipcMain.handle('sdd-start', async () => {
return await sddService.start();
});
ipcMain.handle('sdd-stop', async () => {
return await sddService.stop();
});
async function startServer() {
if (electronState.isDevelopment()) {
log.info('In dev mode, assuming external servers are running.');
@@ -457,6 +474,7 @@ app.on('window-all-closed', () => {
globalShortcut.unregisterAll();
opencodeService.stop();
xcOpenCodeWebService.stop();
sddService.stop();
stopClipboardWatcher();
if (process.platform !== 'darwin') {
app.quit();
@@ -474,7 +492,8 @@ app.on('before-quit', async (event) => {
await Promise.all([
opencodeService.stop(),
xcOpenCodeWebService.stop()
xcOpenCodeWebService.stop(),
sddService.stop()
]);
log.info('[App] All services stopped');