feat(remote): 添加 XCOpenCodeWeb 服务管理

- 新增 XCOpenCodeWebService.js 服务模块
- 支持启动/停止/健康检测(每10秒)
- 随 remote 服务启动/退出
- 配置文件添加 xcopencodeweb 配置
- 修复 opencode 默认端口配置
This commit is contained in:
2026-03-14 16:02:05 +08:00
parent 50cd1e29c9
commit 9b22b647f2
3 changed files with 172 additions and 2 deletions

View File

@@ -124,7 +124,17 @@ class App {
const opencodeConfig = config.getSection('opencode') || {};
return new OpenCodeService({
enabled: opencodeConfig.enabled !== false,
port: opencodeConfig.port || 3002
port: opencodeConfig.port
});
});
this.container.register('xcOpenCodeWebService', (c) => {
const XCOpenCodeWebService = require('../services/opencode/XCOpenCodeWebService');
const config = c.resolve('config');
const xcopencodewebConfig = config.getSection('xcopencodeweb') || {};
return new XCOpenCodeWebService({
enabled: xcopencodewebConfig.enabled !== false,
port: xcopencodewebConfig.port
});
});
@@ -206,6 +216,10 @@ class App {
openCodeService.start();
logger.info('OpenCode service started');
const xcOpenCodeWebService = this.container.resolve('xcOpenCodeWebService');
xcOpenCodeWebService.start();
logger.info('XCOpenCodeWeb service started');
const giteaService = this.container.resolve('giteaService');
giteaService.start();
logger.info('Gitea service started');
@@ -488,6 +502,10 @@ class App {
openCodeService.stop();
logger.info('OpenCode service stopped');
const xcOpenCodeWebService = this.container.resolve('xcOpenCodeWebService');
xcOpenCodeWebService.stop();
logger.info('XCOpenCodeWeb service stopped');
const giteaService = this.container.resolve('giteaService');
giteaService.stop();
logger.info('Gitea service stopped');