11 KiB
Agents Council Integration for QwenClaw
Overview
This skill integrates Agents Council into QwenClaw, enabling multi-agent collaboration while maintaining full RAG (Retrieval-Augmented Generation) capabilities.
Version: 1.6.0
Category: Multi-Agent Orchestration
Dependencies: agents-council
What is Agents Council?
Agents Council is the simplest way to bridge and collaborate across AI Agent sessions like Claude Code, Codex, Gemini, Cursor, or Qwen Code. It allows your agents to combine their strengths to solve complex tasks without extra infrastructure.
Key Features
- ✅ Centralized agent communication via MCP stdio server
- ✅ Session Preservation - Start agents with specific context, resume when done
- ✅ Human Participation - Monitor or join discussions via desktop app
- ✅ Private & Local - State stored at
~/.agents-council/state.json - ✅ Flexibility - Markdown or JSON text output
Installation
1. Install Agents Council
# Using npm
npm install -g agents-council
# Or using bun
bun add -g agents-council
2. Add MCP Server to Qwen Code
# Add Agents Council MCP server
claude mcp add council npx agents-council@latest mcp
# Or with specific agent name
claude mcp add council -s user -- npx agents-council@latest mcp -n Opus
3. Update QwenClaw Configuration
Add to ~/.qwen/settings.json:
{
"mcpServers": {
"council": {
"command": "npx",
"args": ["agents-council@latest", "mcp"]
},
"qwenclaw": {
"command": "bun",
"args": ["run", "start", "--web"],
"cwd": "~/qwenclaw"
}
}
}
Architecture
┌─────────────────────────────────────────────────────────┐
│ QWENCLAW DAEMON │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ RAG Engine │ │ Agent Skills │ │ Tools API │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────┘
│
│ MCP
▼
┌─────────────────────────────────────────────────────────┐
│ AGENTS COUNCIL │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Qwen Code │ │ Claude Code │ │ Codex │ │
│ │ Agent │ │ Agent │ │ Agent │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │
│ ┌───────┴───────┐ │
│ │ Council Hall │ │
│ │ (Desktop) │ │
│ └───────────────┘ │
└─────────────────────────────────────────────────────────┘
│
│ RAG
▼
┌─────────────────────────────────────────────────────────┐
│ VECTOR STORE │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Documents │ │ Skills │ │ Sessions │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────┘
Usage
From Qwen Code CLI
/council start - Start Agents Council
/council status - Check council status
/council summon claude - Summon Claude to council
/council summon codex - Summon Codex to council
/council discuss - Start multi-agent discussion
/council monitor - Open Council Hall desktop app
Programmatic Usage
import { AgentsCouncil } from './agents-council-integration';
const council = new AgentsCouncil();
// Start council
await council.start();
// Summon agents
await council.summon('claude');
await council.summon('codex');
// Start discussion
const result = await council.discuss({
topic: "Review this architecture",
context: "We need to scale to 1M users...",
agents: ['claude', 'codex', 'qwen'],
});
console.log(result.summary);
RAG Integration
Full RAG Capabilities Maintained
| Feature | Status | Description |
|---|---|---|
| Vector Store | ✅ Enabled | SQLite/Chroma/Pinecone support |
| Document Retrieval | ✅ Enabled | Semantic search across documents |
| Skill Context | ✅ Enabled | Share skill context across agents |
| Session Memory | ✅ Enabled | Persistent sessions with RAG |
| Cross-Agent RAG | ✅ Enabled | Share retrieved context between agents |
RAG Configuration
{
"rag": {
"enabled": true,
"vectorStore": {
"type": "sqlite",
"path": "~/.qwen/qwenclaw/vector-store.db"
},
"embedding": {
"model": "qwen-embedding",
"dimensions": 768
},
"retrieval": {
"topK": 5,
"threshold": 0.7,
"shareAcrossAgents": true
}
}
}
Multi-Agent Workflows
Workflow 1: Code Review Council
const council = new AgentsCouncil();
await council.discuss({
topic: "Code Review",
context: `
Review this pull request for:
1. Security vulnerabilities
2. Performance issues
3. Code quality
4. Best practices
`,
agents: ['claude', 'codex', 'qwen'],
roles: {
claude: 'Security expert',
codex: 'Performance expert',
qwen: 'Code quality expert',
},
ragContext: true, // Include RAG context
});
Workflow 2: Architecture Design
await council.discuss({
topic: "System Architecture Design",
context: "Design a scalable microservices architecture for...",
agents: ['claude', 'codex'],
output: 'markdown',
ragContext: {
documents: ['architecture-patterns.md', 'scalability-guide.md'],
topK: 10,
},
});
Workflow 3: Debugging Session
await council.discuss({
topic: "Debug Production Issue",
context: `
Error: Connection timeout in production
Stack trace: ${errorStack}
Logs: ${logs}
`,
agents: ['claude', 'codex', 'qwen'],
roles: {
claude: 'Root cause analysis',
codex: 'Fix implementation',
qwen: 'Testing strategy',
},
ragContext: {
searchQuery: 'connection timeout production',
topK: 5,
},
});
Configuration
council-config.json
Create ~/.agents-council/config.json:
{
"council": {
"autoStart": true,
"desktopApp": true,
"statePath": "~/.agents-council/state.json"
},
"agents": {
"claude": {
"enabled": true,
"model": "claude-sonnet-4-5-20250929",
"autoSummon": false
},
"codex": {
"enabled": true,
"model": "codex-latest",
"autoSummon": false
},
"qwen": {
"enabled": true,
"model": "qwen-plus",
"autoSummon": true
}
},
"rag": {
"enabled": true,
"vectorStore": "sqlite",
"shareAcrossAgents": true
},
"output": {
"format": "markdown",
"saveDiscussion": true,
"discussionPath": "~/.agents-council/discussions"
}
}
API Reference
AgentsCouncil Class
start(): Promise<void>
Start the Agents Council MCP server.
summon(agent: string): Promise<void>
Summon a specific agent to the council.
Agents:
claude- Claude Codecodex- OpenAI Codexqwen- Qwen Codegemini- Gemini CLI
discuss(options: DiscussionOptions): Promise<DiscussionResult>
Start a multi-agent discussion.
Options:
interface DiscussionOptions {
topic: string;
context: string;
agents: string[];
roles?: Record<string, string>;
ragContext?: boolean | RAGOptions;
output?: 'markdown' | 'json';
timeout?: number;
}
monitor(): Promise<void>
Open the Council Hall desktop app for monitoring.
getStatus(): Promise<CouncilStatus>
Get current council status.
Examples
Example 1: Simple Multi-Agent Chat
import { AgentsCouncil } from 'qwenclaw-agents-council';
const council = new AgentsCouncil();
await council.start();
// Start discussion
const result = await council.discuss({
topic: "Best practices for API design",
agents: ['claude', 'qwen'],
});
console.log(result.summary);
Example 2: Code Review with RAG
const council = new AgentsCouncil();
const result = await council.discuss({
topic: "Code Review",
context: "Review this PR for security issues",
agents: ['claude', 'codex'],
ragContext: {
searchQuery: "security best practices API",
topK: 5,
includeInContext: true,
},
});
// Access RAG-retrieved documents
console.log(result.ragDocuments);
Example 3: Architecture Design Session
const council = new AgentsCouncil();
const result = await council.discuss({
topic: "Design scalable microservices",
context: "We need to handle 1M concurrent users",
agents: ['claude', 'codex', 'qwen'],
roles: {
claude: 'Architecture expert',
codex: 'Implementation expert',
qwen: 'Testing expert',
},
output: 'markdown',
ragContext: {
documents: ['microservices-patterns.md', 'scaling-guide.md'],
},
});
// Save discussion
await council.saveDiscussion(result, 'architecture-session.md');
Troubleshooting
Issue: "Council MCP server not found"
Solution:
# Install agents-council globally
npm install -g agents-council
# Or add MCP server manually
claude mcp add council npx agents-council@latest mcp
Issue: "RAG context not shared"
Solution:
// In council config
{
"rag": {
"shareAcrossAgents": true
}
}
Issue: "Desktop app not launching"
Solution:
# Install desktop dependencies
cd agents-council
bun install
# Launch desktop
council desktop
Resources
- Agents Council: https://github.com/MrLesk/agents-council
- MCP Protocol: https://modelcontextprotocol.io/
- QwenClaw Docs:
README.mdin qwenclaw directory
License
MIT License - See LICENSE file for details.
Agents Council + Full RAG integration ready for QwenClaw! 🏛️🤖