Beta

AI Agents Javascript Framework

JavaScript-native framework for building multi-agent AI systems.

Why AI Agents for JavaScript?

Multi-agent AI systems promise to revolutionize how we build interactive and intelligent applications.

However, most AI frameworks cater to Python, leaving JavaScript developers at a disadvantage.

KaibanJS fills this void by providing a first-of-its-kind, JavaScript-native framework designed specifically for building and integrating AI Agents.

Agents

Initial Setup

  1. Install

    Install via npm or your preferred package manager.

    Terminal
    npm install kaibanjs
  2. Import

    Import KaibanJS in your JavaScript file using ES6 or CommonJS syntax.

    src/index.js
    // Using ES6 import syntax for NextJS, React, etc.
    import { Agent, Task, Team } from "kaibanjs";

    // Using CommonJS syntax for NodeJS
    const { Agent, Task, Team } = require("kaibanjs");

Key Features of KaibanJS

Role-Based Agent Design

Harness the power of specialization by configuring AI agents to excel in distinct, critical functions within your projects. This approach enhances the effectiveness and efficiency of each task, moving beyond the limitations of generic AI.

src/index.js
import { Agent } from 'kaibanjs';

const daveLoper = new Agent({
name: 'Dave Loper',
role: 'Developer',
goal: 'Write and review code',
background: 'Experienced in JavaScript, React, and Node.js',
});

const ella = new Agent({
name: 'Ella',
role: 'Product Manager',
goal: 'Define product vision and manage roadmap',
background: 'Skilled in market analysis and product strategy',
});

const quinn = new Agent({
name: 'Quinn',
role: 'QA Specialist',
goal: 'Ensure quality and consistency',
background: 'Expert in testing, automation, and bug tracking',
});

For a deeper dive visit the documentation.

Make Us Shine on GitHub!

Your Star Means Everything

Tool Integration

Just as professionals use specific tools to excel in their tasks, enable your AI agents to utilize tools like search engines, calculators, and more to perform specialized tasks with greater precision and efficiency.

src/index.js
import { Agent, Tool } from 'kaibanjs';

const tavilySearchResults = new Tool({
name: 'Tavily Search Results',
maxResults: 1,
apiKey: 'ENV_TRAVILY_API_KEY',
});

const peterAtlas = new Agent({
name: 'Peter Atlas',
role: 'City Selector',
goal: 'Choose the best city based on comprehensive travel data',
background: 'Experienced in geographical data analysis and travel trends',
tools: [tavilySearchResults],
});

KaibanJS supports all LangchainJS-compatible tools, offering a versatile approach to tool integration. For further details, visit the documentation.

Support Us on GitHub!

Your Star Makes a Difference

Multiple LLMs Support

Optimize your AI solutions by integrating a range of specialized AI models, each tailored to excel in distinct aspects of your projects.

src/index.js
import { Agent } from 'kaibanjs';

const emma = new Agent({
name: 'Emma',
role: 'Initial Drafting',
goal: 'Outline core functionalities',
llmConfig: {
provider: 'google',
model: 'gemini-1.5-pro',
}
});

const lucas = new Agent({
name: 'Lucas',
role: 'Technical Specification',
goal: 'Draft detailed technical specifications',
llmConfig: {
provider: 'anthropic',
model: 'claude-3-5-sonnet-20240620',
}
});

const mia = new Agent({
name: 'Mia',
role: 'Final Review',
goal: 'Ensure accuracy and completeness of the final document',
llmConfig: {
provider: 'openai',
model: 'gpt-4o',
}
});

For further details on integrating diverse AI models with KaibanJS, please visit the documentation.

Star Us on GitHub!

Help Us Grow Stronger

Robust State Management

KaibanJS employs a Redux-inspired architecture, enabling a unified approach to manage the states of AI agents, tasks, and overall flow within your applications. This method ensures consistent state management across complex agent interactions, providing enhanced clarity and control.

src/index.js
import myAgentsTeam from './agenticTeam';

const KaibanJSComponent = () => {
const useTeamStore = myAgentsTeam.useStore();

const {agents, workflowResult } = useTeamStore(state => ({
agents: state.agents,workflowResult: state.workflowResult,
}));

return (<div>
<button onClick={myAgentsTeam.start}>Start Team Workflow</button>
<p>Workflow Result: {workflowResult}</p>
<div>
<h2>🕵️‍♂️ Agents</h2>
{agents.map(agent => (
<p key={agent.id}>{agent.name} - {agent.role} - Status: ({agent.status})</p>
))}
</div></div>
);
};

export default KaibanJSComponent;

For a deeper dive into state management with KaibanJS, visit the documentation.

Click to Star on GitHub

Join The Journey

Integrate with Your Preferred JavaScript Frameworks

Easily add AI capabilities to your NextJS, React, Vue, Angular, and Node.js projects.

src/index.jsx
import React from 'react';
import myAgentsTeam from './agenticTeam';

const TaskStatusComponent = () => {
const useTeamStore = myAgentsTeam.useStore();

const { tasks } = useTeamStore(state => ({
tasks: state.tasks.map(task => ({
id: task.id,description: task.description,status: task.status
}))
}));

return (<div>
<h1>Task Statuses</h1>
<ul>
{tasks.map(task => (
<li key={task.id}>{task.description}: Status- {task.status}</li>
))}
</ul></div>
);
};

export default TaskStatusComponent;

For a deeper dive visit the documentation.

Give a Star on GitHub

Your Support Fuels Our Progress

Observability and Monitoring

Built into KaibanJS, the observability features enable you to track every state change with detailed stats and logs, ensuring full transparency and control. This functionality provides real-time insights into token usage, operational costs, and state changes, enhancing system reliability and enabling informed decision-making through comprehensive data visibility.

src/index.js
const useStore = myAgentsTeam.useStore();

useStore.subscribe(state => state.workflowLogs, (newLogs, previousLogs) => {
if (newLogs.length > previousLogs.length) {
const { task, agent, metadata } = newLogs[newLogs.length - 1];
if (newLogs} = newLogs[newLogs.length - 1].logType === 'TaskStatusUpdate') {
switch (task.status) {
case TASK_STATUS_enum.DONE:
console.log('Task Completed',{
taskDescription: task.description,agentName: agent.name,agentModel: agent.llmConfig.modelduration: metadata.duration,llmUsageStats: metadata.llmUsageStats,costDetails: metadata.costDetails,
});
break;
case TASK_STATUS_enum.DOING:
case TASK_STATUS_enum.BLOCKED:
case TASK_STATUS_enum.REVISE:
case TASK_STATUS_enum.TODO:
console.log('Task Status Update',{
taskDescription: task.description,taskStatus: task.status,agentName: agent.name
});
break;
default:
console.warn('Encountered an unexpected task status:', task.status);
break;
}
}
}
});

For more details on how to utilize observability features in KaibanJS, please visit the documentation.

Star KaibanJS on GitHub

Together, We Build the Future

Real-Time Agentic Kanban Board

Work, prototype, run, and share your AI agents effortlessly with your teams and clients—no installations, complex commands, or servers required. Who said that AI is hard anymore?

Why a Kanban Board?

Kanban boards are excellent tools for showcasing team workflows in real time, providing a clear and interactive snapshot of each member's progress.

We’ve adapted this concept for AI agents.

Now, you can visualize the workflow of your AI agents as team members, with tasks moving from "To Do" to "Done" right before your eyes. This visual representation simplifies understanding and managing complex AI operations, making it accessible to anyone, anywhere.

Kanban Board

Real Use Cases: You Can Develop Now!

art cover
AI Agents for Sports News

Deploy AI agents to search for sports information and craft in-depth sports articles.

art cover
AI Agents for Trip Planning

Utilize AI agents to select cities based on criteria and create personalized travel itineraries.

art cover
AI Agents for Resume Building

Assemble AI agents to extract professional details and construct tailored resumes efficiently.

Developer Advantages of KaibanJS

Native JavaScript Development

Harness your existing JavaScript skills to manage and implement AI agents efficiently. KaibanJS fits right into your current workflow, minimizing the need to learn new technologies.

Human-Friendly API Design

KaibanJS is designed with simplicity at its core. It minimizes unnecessary complexity, making it easier for JavaScript developers to adopt and implement AI Agents into their projects.

Browser and Server Compatibility

KaibanJS operates seamlessly in any modern browser, leveraging client-side JavaScript effectively. It also extends to server-side environments with Node.js, enabling robust full-stack JavaScript development.

Compatible with React, Vue, Angular, NextJS and beyond...

KaibanJS seamlessly integrates with major front-end frameworks including React, Vue, Angular, and NextJS. This compatibility enhances functionality and ensures flexibility across various web development projects.

Production Ready

KaibanJS has been rigorously benchmarked for performance to ensure reliability and efficiency in production environments. Everyone is tired of cool-looking AI demos that don’t deliver.

Enhanced Testing and Debugging

Thanks to its Redux-like state management architecture, KaibanJS offers robust tools and integrations that support comprehensive testing and effective debugging.

About Us

🏆

Hello! We are AI Champions, the team behind KaibanJS, we’re all about fostering warm, direct, and trustworthy connections with our community.

Over the past 15 years, members of our team have held various roles: Developers, Team Leads, and Entrepreneurs. This collective experience has equipped us with the knowledge and skills needed to quickly turn big ideas into reality.

Here are some of our key principles: Striving for excellence, keep it simple, iterate fast, be transparent, and build the best team. (I'm sure you've heard these many times, but putting them into practice is harder than it sounds 😉)

Acknowledgments

We are deeply grateful to Andrew Ng and Andrej Karpathy, who inspire us as role models through their dedication to the AI community.

Thanks to João Moura, CrewAI, and the LangChain Team for their innovative ideas that inspire our work; to the Built in Miami team for their essential support through our accelerator program; to OpenAI and Anthropic for pioneering the technologies fundamental to our development.

Special thanks also to Anton and Seth for their invaluable advice and mentorship, and to all the friends, family, and members of the AI Champions community who continually back and support us.