feat: 重构前后端架构,添加Go后端和Python Agent服务
- 新增 Go 语言后端服务(server/),包含用户认证、Agent管理、数据库连接等API - 新增 Python Agent 服务(agent/),实现Agent核心逻辑和工具集 - 前端从原生HTML迁移到Vue.js框架(web/src/) - 添加 Docker Compose 支持(docker-compose.yml) - 添加项目架构文档(docs/ARCHITECTURE.md) - 添加环境变量示例(.env.example)和本地启动脚本(start-local.ps1) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
60
server/internal/handler/system_helper.go
Normal file
60
server/internal/handler/system_helper.go
Normal file
@@ -0,0 +1,60 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"github.com/shirou/gopsutil/v3/cpu"
|
||||
"github.com/shirou/gopsutil/v3/mem"
|
||||
"x-agents/server/internal/model"
|
||||
)
|
||||
|
||||
func getCPUPercent() (float64, error) {
|
||||
percent, err := cpu.Percent(0, false)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
if len(percent) > 0 {
|
||||
return percent[0], nil
|
||||
}
|
||||
return 0, nil
|
||||
}
|
||||
|
||||
func getCPUCoreCount() (int, error) {
|
||||
count, err := cpu.Counts(false)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return count, nil
|
||||
}
|
||||
|
||||
func getCPUModelName() (string, error) {
|
||||
info, err := cpu.Info()
|
||||
if err != nil {
|
||||
return "Unknown", err
|
||||
}
|
||||
if len(info) > 0 {
|
||||
return info[0].ModelName, nil
|
||||
}
|
||||
return "Unknown", nil
|
||||
}
|
||||
|
||||
func getMemoryInfo() (*model.MemoryInfo, error) {
|
||||
v, err := mem.VirtualMemory()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 计算使用率
|
||||
percent := 0.0
|
||||
if v.Total > 0 {
|
||||
percent = float64(v.Used) / float64(v.Total) * 100
|
||||
}
|
||||
|
||||
return &model.MemoryInfo{
|
||||
Total: v.Total,
|
||||
Used: v.Used,
|
||||
Available: v.Available,
|
||||
Percent: percent,
|
||||
TotalGB: float64(v.Total) / 1024 / 1024 / 1024,
|
||||
UsedGB: float64(v.Used) / 1024 / 1024 / 1024,
|
||||
AvailableGB: float64(v.Available) / 1024 / 1024 / 1024,
|
||||
}, nil
|
||||
}
|
||||
Reference in New Issue
Block a user