refactor: 移除 Team 和 Swarm 协作功能
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

功能论证结论:Team(团队)和 Swarm(协作)为零后端支持的
纯前端 localStorage 空壳,Pipeline 系统已完全覆盖其全部能力。

删除 16 个文件,约 7,950 行代码:
- 5 个组件:TeamCollaborationView, TeamOrchestrator, TeamList, DevQALoop, SwarmDashboard
- 1 个 Store:teamStore.ts
- 3 个 Client/库:team-client.ts, useTeamEvents.ts, agent-swarm.ts
- 1 个类型文件:team.ts
- 4 个测试文件
- 1 个文档(归档 swarm-coordination.md)

修改 4 个文件:
- Sidebar.tsx:移除"团队"和"协作"导航项
- App.tsx:移除 team/swarm 视图路由
- types/index.ts:移除 team 类型导出
- chatStore.ts:移除 dispatchSwarmTask 方法

更新 CHANGELOG.md 和功能文档 README.md
This commit is contained in:
iven
2026-03-26 20:27:19 +08:00
parent 978dc5cdd8
commit c3996573aa
22 changed files with 11 additions and 7689 deletions

View File

@@ -4,7 +4,6 @@ import type { AgentStreamDelta } from '../lib/gateway-client';
import { getClient } from './connectionStore';
import { intelligenceClient } from '../lib/intelligence-client';
import { getMemoryExtractor } from '../lib/memory-extractor';
import { getAgentSwarm } from '../lib/agent-swarm';
import { getSkillDiscovery } from '../lib/skill-discovery';
import { useOfflineStore, isOffline } from './offlineStore';
import { useConnectionStore } from './connectionStore';
@@ -98,7 +97,6 @@ interface ChatState {
newConversation: () => void;
switchConversation: (id: string) => void;
deleteConversation: (id: string) => void;
dispatchSwarmTask: (description: string, style?: 'sequential' | 'parallel' | 'debate') => Promise<string | null>;
searchSkills: (query: string) => { results: Array<{ id: string; name: string; description: string }>; totalAvailable: number };
}
@@ -545,39 +543,6 @@ export const useChatStore = create<ChatState>()(
}
},
dispatchSwarmTask: async (description: string, style?: 'sequential' | 'parallel' | 'debate') => {
try {
const swarm = getAgentSwarm();
const task = swarm.createTask(description, {
communicationStyle: style || 'parallel',
});
// Set up executor that uses the connected client
swarm.setExecutor(async (agentId: string, prompt: string, context?: string) => {
const client = getClient();
const fullPrompt = context ? `${context}\n\n${prompt}` : prompt;
const result = await client.chat(fullPrompt, { agentId: agentId.startsWith('clone_') ? undefined : agentId });
return result?.response || '(无响应)';
});
const result = await swarm.execute(task);
// Add swarm result as assistant message
const swarmMsg: Message = {
id: `swarm_${Date.now()}`,
role: 'assistant',
content: result.summary || '协作任务完成',
timestamp: new Date(),
};
get().addMessage(swarmMsg);
return result.task.id;
} catch (err) {
log.warn('Swarm dispatch failed:', err);
return null;
}
},
searchSkills: (query: string) => {
const discovery = getSkillDiscovery();
const result = discovery.searchSkills(query);