Files
Agentswarm/desktop-client/README.md
T
2026-06-08 17:32:34 +08:00

72 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HeiCode Swarm 桌面客户端
基于 **Electron + React + TypeScript** 的桌面客户端,是蜂群系统面向用户的入口。它负责提交任务、连接并展示 Orchestrator 的运行状态,分析任务复杂度以推荐 Agent 数量,并对生成结果进行聚合与查看。
## 环境要求
- Node.js 18+ 与 npm
- 可访问的 Kubernetes 集群与有效的 kubeconfig(如使用 K8s 调度)
- 已正确配置的 kubectl
## 安装与开发
```bash
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. 运行完成后,聚合各结果分支并在结果视图中呈现最终交付物。