feat: 新增 compute_gateway、compute_poller、agent 模块,重构前端 dist

- 新增 backend/app/modules/compute_gateway(client/sync)计算网关模块
- 新增 backend/app/workers/compute_poller 计算轮询 worker
- 新增 compute/agent/process_manager 进程管理器
- 新增 scripts/ 脚本目录
- 更新 Docker 部署配置(app/compute/nginx)
- 更新后端平台 API、数据库 SQL、core 配置
- 更新前端多个视图组件及 API 模块
- 重构 frontend/dist 构建产物(新 hash)
- 更新多项文档

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
wuyongtao
2026-07-22 17:32:59 +08:00
parent 1e438164c1
commit 836343b29e
180 changed files with 3352 additions and 263 deletions

View File

@@ -16,7 +16,16 @@ export interface ComputeNode {
data_root: string
model_root: string
log_root: string
api_version?: string
capabilities?: string[]
description?: string
last_health_check_at?: string
health_detail?: Record<string, unknown>
}
export type ComputeNodePayload = Partial<ComputeNode> & {
code?: string
api_base_url?: string
}
export interface ComputeGpu {
@@ -66,11 +75,14 @@ export interface ResourceReplica {
export const getComputeNodes = () => get<ComputeNode[]>('/compute/nodes')
export const createComputeNode = (data: ComputeNodePayload) =>
post<ComputeNode>('/compute/nodes', data)
export const updateComputeNode = (id: string, data: Partial<ComputeNode>) =>
put<ComputeNode>(`/compute/nodes/${id}`, data)
export const testComputeNode = (id: string) =>
post<{ node_id: string; success: boolean; latency_ms: number }>(`/compute/nodes/${id}/test-connection`)
post<{ node_id: string; success: boolean; latency_ms: number; gpu_count: number; error?: string }>(`/compute/nodes/${id}/test-connection`)
export const enableComputeNode = (id: string) => post<ComputeNode>(`/compute/nodes/${id}/enable`)

View File

@@ -1,5 +1,5 @@
import { get, post, put, del } from '../request'
import type { FineTuneStartPayload, FineTuneTask, TrainingProgress } from '@/types'
import type { FineTuneStartPayload, FineTuneTask, TrainingProgress, LogContent } from '@/types'
/** 训练任务列表 */
export const getFineTuneList = () => get<FineTuneTask[]>('/fine-tune')
@@ -32,6 +32,11 @@ export const deleteFineTune = (id: string | number) => del(`/fine-tune/${id}`)
export const getFineTuneProgress = (id: string | number) =>
get<TrainingProgress>(`/fine-tune/progress/${id}`)
export const getFineTuneLogs = (
id: string | number,
params: { tail_lines?: number; offset?: number; limit?: number } = {},
) => get<LogContent & { job_id?: string; source?: string }>(`/fine-tune/${id}/logs`, params)
/** 启动 TensorBoard */
export const startTensorboard = () => post('/fine-tune/tensorboard/start')

View File

@@ -12,7 +12,7 @@ export const getModelByName = (name: string) => get<ModelItem>(`/model-manage/na
/** 本地模型路径列表 */
export const getLocalModels = () =>
get<{ models: { path: string; name: string }[] }>('/model-manage/local-models')
get<{ models: { path: string; name: string; source?: string }[] }>('/model-manage/local-models')
/** 已训练模型列表 */
export const getTrainedModels = () =>