feat: 实现Operation-Agent核心功能及电商平台适配器

refactor: 重构项目结构,分离server和dashboard代码
style: 统一代码风格,修复lint警告
test: 添加平台适配器工厂测试用例
ci: 更新CI/CD流程,增加语义验证和性能测试
docs: 添加语义中心文档,定义统一数据模型和状态机
This commit is contained in:
2026-03-19 15:23:56 +08:00
parent aa2cf560c6
commit 8de9ea0aaa
41 changed files with 5615 additions and 497 deletions

View File

@@ -0,0 +1,43 @@
import { Router } from 'express';
import { AISelfImprovementController } from '../controllers/AISelfImprovementController';
import { Container } from 'typedi';
const router = Router();
const aiSelfImprovementController = Container.get(AISelfImprovementController);
// 生成改进建议
router.get('/suggestions/generate', (req, res, next) => {
aiSelfImprovementController.generateSuggestions()
.then(result => res.json(result))
.catch(next);
});
// 获取所有改进建议
router.get('/suggestions', (req, res, next) => {
aiSelfImprovementController.getSuggestions()
.then(result => res.json(result))
.catch(next);
});
// 更新建议状态
router.put('/suggestions/:id/status', (req, res, next) => {
aiSelfImprovementController.updateSuggestionStatus(req.params.id, req.params.status)
.then(result => res.json(result))
.catch(next);
});
// 自动应用改进建议
router.get('/suggestions/apply', (req, res, next) => {
aiSelfImprovementController.applySuggestions()
.then(result => res.json(result))
.catch(next);
});
// 执行定期优化
router.get('/optimize', (req, res, next) => {
aiSelfImprovementController.performOptimization()
.then(result => res.json(result))
.catch(next);
});
export default router;

View File

@@ -0,0 +1,22 @@
import { Router } from 'express';
import { MonitoringController } from '../controllers/MonitoringController';
import { Container } from 'typedi';
const router = Router();
const monitoringController = Container.get(MonitoringController);
// 获取当前监控指标
router.get('/metrics', (req, res, next) => {
monitoringController.getMetrics()
.then(result => res.json(result))
.catch(next);
});
// 手动收集和记录指标
router.get('/collect', (req, res, next) => {
monitoringController.collectMetrics()
.then(result => res.json(result))
.catch(next);
});
export default router;

View File

@@ -0,0 +1,64 @@
import { Router } from 'express';
import { OperationAgentController } from '../controllers/OperationAgentController';
import { Container } from 'typedi';
const router = Router();
const operationAgentController = Container.get(OperationAgentController);
// 绑定店铺
router.post('/stores', (req, res, next) => {
operationAgentController.bindStore(req.body)
.then(result => res.json(result))
.catch(next);
});
// 获取商户的店铺列表
router.get('/stores/:merchantId', (req, res, next) => {
operationAgentController.getStores(req.params.merchantId)
.then(result => res.json(result))
.catch(next);
});
// 获取店铺详情
router.get('/stores/detail/:storeId', (req, res, next) => {
operationAgentController.getStore(req.params.storeId)
.then(result => res.json(result))
.catch(next);
});
// 同步店铺商品
router.post('/stores/:storeId/products/sync', (req, res, next) => {
operationAgentController.syncProducts(req.params.storeId)
.then(result => res.json(result))
.catch(next);
});
// 同步店铺订单
router.post('/stores/:storeId/orders/sync', (req, res, next) => {
operationAgentController.syncOrders(req.params.storeId)
.then(result => res.json(result))
.catch(next);
});
// 更新商品价格
router.put('/stores/:storeId/products/:productId/price', (req, res, next) => {
operationAgentController.updateProductPrice(req.params.storeId, req.params.productId, req.body.price)
.then(result => res.json(result))
.catch(next);
});
// 停用店铺
router.put('/stores/:storeId/deactivate', (req, res, next) => {
operationAgentController.deactivateStore(req.params.storeId)
.then(result => res.json(result))
.catch(next);
});
// 重新激活店铺
router.put('/stores/:storeId/reactivate', (req, res, next) => {
operationAgentController.reactivateStore(req.params.storeId)
.then(result => res.json(result))
.catch(next);
});
export default router;