90 lines
2.8 KiB
JavaScript
Raw Normal View History

/**
* 🔗 光湖后端中间层 · 通道B 入口
*
* 实时调用 Notion API / GitHub API为前端提供数据代理
* 包含读取层 + 写入层 + 意图路由 + 权限沙箱 + 认知引导 + 执行保护
* 只监听 127.0.0.1通过 Nginx 反向代理对外暴露
*
* 版权国作登字-2026-A-00037559
*/
'use strict';
const express = require('express');
const cors = require('cors');
const executionLock = require('./middleware/execution-lock');
const skyeyeReview = require('./middleware/skyeye-review');
const watchdog = require('./services/execution-watchdog');
const app = express();
// CORS只允许自己的域名
app.use(cors({
origin: [
'https://guanghulab.com',
'https://www.guanghulab.com',
'https://qinfendebingshuo.github.io'
],
credentials: true
}));
app.use(express.json());
// 执行锁取消拦截(全局中间件,在所有路由之前)
app.use(executionLock.blockCancellation);
// 天眼指令审核S7/S8/S9 全局强制前置,不可关闭,不可绕过)
app.use(skyeyeReview.skyeyeReview);
// 读取类路由(公开,无需认证)
app.use('/api', require('./routes/health'));
app.use('/api', require('./routes/dev'));
app.use('/api', require('./routes/databases'));
app.use('/api', require('./routes/chat'));
app.use('/api', require('./routes/receipt'));
// 开发者编号免配置登录路由
app.use('/api', require('./routes/auth'));
// 写入类路由(需认证 + 权限 + 审计)
app.use('/api', require('./routes/write'));
// 认知引导 + 工具列表路由
app.use('/api', require('./routes/onboarding'));
// 执行状态查询路由(需认证)
app.use('/api/execution', require('./routes/execution'));
// 部署授权流程路由(需认证)
app.use('/api/approval', require('./routes/approval'));
// 行业代表制路由(需认证)
app.use('/api', require('./routes/industry'));
// 根路由
app.get('/', function(_req, res) {
res.json({
status: 'ok',
service: 'guanghu-api-server',
version: '5.0.0',
channel: 'B',
description: '光湖后端中间层 · 语言驱动操作系统',
capabilities: [
'read', 'write', 'intent-routing', 'permission-sandbox',
'onboarding', 'execution-guard', 'approval-flow', 'autonomy',
'skyeye-review', 'identity-verification'
]
});
});
const PORT = process.env.PORT || 3001;
app.listen(PORT, '127.0.0.1', function() {
console.log('🔗 光湖后端中间层启动 · 端口 ' + PORT);
console.log(' 通道B · 语言驱动操作系统 v5.0.0');
console.log(' 能力:读取 + 写入 + 意图路由 + 权限沙箱 + 认知引导 + 执行保护 + 授权流程 + 系统自治 + 天眼审核 + 身份验证');
console.log(' 监听地址127.0.0.1:' + PORT + '(仅本机访问)');
// 启动执行看门狗
watchdog.startWatchdog();
});