Files
2026-06-08 17:32:34 +08:00
..
2026-06-08 17:32:34 +08:00
2026-06-08 17:32:34 +08:00
2026-06-08 17:32:34 +08:00
2026-06-08 17:32:34 +08:00
2026-06-08 17:32:34 +08:00

HeiCode Swarm 桌面客户端

基于 Electron + React + TypeScript 的桌面客户端,是蜂群系统面向用户的入口。它负责提交任务、连接并展示 Orchestrator 的运行状态,分析任务复杂度以推荐 Agent 数量,并对生成结果进行聚合与查看。

环境要求

  • Node.js 18+ 与 npm
  • 可访问的 Kubernetes 集群与有效的 kubeconfig(如使用 K8s 调度)
  • 已正确配置的 kubectl

安装与开发

npm install      # 安装依赖
npm run build    # 编译 TypeScript
npm run dev      # 开发模式启动
npm run type-check
npm run lint

配置

应用按以下顺序加载 kubeconfig:

  1. 环境变量 KUBECONFIG(若设置)
  2. 默认位置 ~/.kube/config

请确保 kubeconfig 指向正确的集群且凭据有效。

目录结构

desktop-client/
├── src/
│   ├── main.ts                  # Electron 主进程
│   ├── App.tsx                  # React 根组件
│   ├── index.html               # 入口页面
│   ├── api/
│   │   └── orchestrator-client.ts   # 调用 Orchestrator REST 接口
│   ├── ai/                      # 任务复杂度分析(见该目录 README)
│   ├── components/              # 界面组件
│   │   ├── TaskSubmissionForm.tsx   # 任务提交
│   │   ├── AgentDashboard.tsx       # Agent 与运行状态看板
│   │   ├── ResultViewer.tsx         # 结果查看
│   │   └── CostControlDialog.tsx    # 成本/规模确认
│   ├── analytics/usage-tracker.ts   # 用量统计
│   ├── git/                     # Git 工作区与分支合并
│   │   ├── workspace-manager.ts
│   │   └── merge-manager.ts
│   └── k8s/                     # K8s 接入
│       ├── kubeconfig-loader.ts     # 鉴权/集群配置加载
│       └── auto-scaler.ts           # 按复杂度自动伸缩 Agent 规模
├── package.json
├── tsconfig.json
└── tailwind.config.js

主要能力

  • 任务提交:用户输入需求后,通过 orchestrator-client 创建蜂群部署。
  • 复杂度分析:ai/ 模块评估任务规模并推荐 Agent 数量(详见 src/ai/README.md)。
  • 成本控制:超过阈值时通过 CostControlDialog 提示并要求确认,避免规模失控。
  • 状态展示:AgentDashboard 实时展示 Agent、任务与工作流阶段。
  • 结果聚合:git/merge-manager 合并各 Agent 的结果分支,ResultViewer 统一查看。
  • 弹性伸缩:k8s/auto-scaler 依据复杂度分析结果调整 Agent 数量。

工作方式

  1. 用户在客户端提交需求并(可选)查看复杂度分析与推荐规模。
  2. 客户端调用 Orchestrator 创建部署,Orchestrator 分解任务并调度 Agent 执行。
  3. 客户端轮询/订阅运行状态,展示阶段进度与各 Agent 产出。
  4. 运行完成后,聚合各结果分支并在结果视图中呈现最终交付物。