kimi25-opensource
v1.0.0
Published
Agent swarm orchestrator inspired by Moonshot AI's Kimi K2.5 model. Lightweight toolkit for coordinating autonomous agent swarms with 256K context window support.
Downloads
93
Maintainers
Readme
AgentSwarm Orchestrator - Node.js Implementation
This Node.js implementation of AgentSwarm Orchestrator was inspired by https://kimik25.com. It provides an async-first, event-driven approach to agent management with EventEmitter-based messaging.
Features
- Promise-based API: Seamless async/await integration
- EventEmitter architecture: Reactive message passing between agents
- 256K context support: Inspired by Kimi K2.5's extended context window
- Multiple topologies: Hierarchical, mesh, and hybrid patterns
- Type-safe: JSDoc annotations for better IDE support
Installation
npm install kimi25-opensourceUsage
const { AgentSwarm } = require('kimi25-opensource');
// Initialize swarm with 256K context window
const swarm = new AgentSwarm({
maxAgents: 100,
contextWindow: 256000,
topology: 'mesh'
});
// Spawn specialized agents
const agent = swarm.spawnAgent('data-processor', 'analysis', 'transform');
// Dispatch messages
await agent.dispatchMessage({
type: 'process',
payload: { data: 'example' }
});
// Get swarm statistics
console.log(swarm.getStats());
// Clean shutdown
await swarm.shutdown();API Reference
Classes
AgentSwarm
Main swarm coordinator class.
Constructor Options:
maxAgents(number): Maximum number of agents (default: 100)contextWindow(number): Token context limit (default: 256000)topology(string): Swarm topology - 'hierarchical', 'mesh', 'hybrid' (default: 'mesh')
Methods:
spawnAgent(id, ...capabilities)- Create and register a new agentbroadcastMessage(from, type, payload)- Send message to all agentsgetAgent(id)- Retrieve agent by IDgetStats()- Get current swarm statisticsshutdown()- Gracefully shutdown the swarm
Events:
agent-spawned- Emitted when a new agent is createdagent-message- Emitted when any agent dispatches a messagebroadcast- Emitted on broadcast messagescontext-warning- Emitted when context window is nearly fullshutdown- Emitted when swarm is shut down
Agent
Individual agent class extending EventEmitter.
Methods:
dispatchMessage(msg)- Send a message from this agentprocessMessages(handler)- Process queued messages asynchronously
Functions
createSwarm(config)
Factory function to create a new AgentSwarm instance.
Examples
Event-Driven Architecture
const swarm = new AgentSwarm();
swarm.on('agent-spawned', ({ id, capabilities }) => {
console.log(`New agent: ${id} with ${capabilities.join(', ')}`);
});
swarm.on('context-warning', ({ used, limit }) => {
console.warn(`Context at ${used}/${limit} tokens`);
});
const agent = swarm.spawnAgent('worker', 'processing');Async Message Processing
const agent = swarm.spawnAgent('processor');
await agent.processMessages(async (msg) => {
console.log(`Processing ${msg.type}`);
// Handle message
return { result: 'processed' };
});Performance
The Node.js implementation is optimized for:
- Non-blocking I/O: Async operations don't block the event loop
- Memory efficiency: Minimal memory overhead per agent
- Scalability: Handles 100+ concurrent agents efficiently
Links
- Source: https://kimik25.com
- Repository: https://onedao/wddaily/kimi25-opensource
- Documentation: https://onedao/wddaily/kimi25-opensource#readme
- NPM Package: https://www.npmjs.com/package/kimi25-opensource
License
MIT License - See LICENSE file for details.
