KaibanJS
A JavaScript framework for orchestrating and observing multi-agent work through a Kanban-style workflow.
- Source repo
- kaiban-ai/KaibanJS
- Stars
- ★ 1.5k
- Last updated
- 5mo ago
- License
- MIT
- Primary language
- TypeScript
- FA score
- 33/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude Code · OpenAI API · Claude API
- Cost
- Free software; you pay for model usage
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A JavaScript content team wants separate research, writing, and editing tasks, with research output passed into later tasks.
- Not a fit if
- Teams needing stable production APIs, not beta-stage changes
- Browser-only developers wanting external coding agents
- Source review
- 33/100 · Major gaps 8 safety controls not found
What does this agent do, and when should you use it?
KaibanJS is a JavaScript-native framework built around Agent, Task, and Team objects for multi-agent systems. A Team starts the workflow, coordinates task-to-task result flow, and can be observed through the Kaiban Board in real time. It can be installed as an npm library in projects such as React and Node.js, used with a custom UI, or run without a UI. The repository documents team-level memory, Redux-inspired state management, workflow logs, and per-agent model configuration. It also provides WorkflowDrivenAgent for deterministic workflows and ExternalCodingAgent for local Claude Code, OpenCode, or Codex CLI delegation in Node or server runtimes.
You define roles, goals, backgrounds, tools, and llmConfig with new Agent(); define task descriptions, expected outputs, and assignees with new Task(); then assemble agents, tasks, inputs, env, and memory in new Team(). Calling team.start() executes the workflow and resolves to an output with result; later task descriptions can consume earlier output through {taskResult:taskN}. The Kaiban Board displays task movement from “To Do” to “Done,” while useStore() exposes agents, tasks, workflowResult, and workflowLogs for custom interfaces or subscriptions to state changes, duration, LLM usage, and cost details. Tool supports LangchainJS-compatible tools, WorkflowDrivenAgent runs workflows built with createStep and createWorkflow from @kaibanjs/workflow, and ExternalCodingAgent launches local coding CLIs through child_process.
- A JavaScript content team wants separate research, writing, and editing tasks, with research output passed into later tasks.
- A React application needs to render agent and task status plus workflowResult from useStore() in its own interface.
- A Node.js service needs to run a Team without a UI and consume the result returned by team.start().
- A team wants to assign Google, Anthropic, and OpenAI models to different roles through each agent’s llmConfig.
- A local developer wants one task delegated to Claude Code, OpenCode, or Codex instead of an LLM call through LangChain.
- A workflow needs deterministic steps with suspension and resumption for manual intervention, using WorkflowDrivenAgent.
How do you install or deploy this agent?
From the project directory, run:
npx kaibanjs@latest initAdd an AI-service key to .env, for example:
VITE_OPENAI_API_KEY=your-api-key-hereThen run:
npm run kaibanFor manual setup:
npm install kaibanjsExternalCodingAgent is intended for Node or a server runtime. For Codex, run codex login first or supply OPENAI_API_KEY.
How do you use this agent?
Import with import { Agent, Task, Team } from 'kaibanjs'; create an Agent, assign it to a Task, and create a Team with agents, tasks, and env. Call team.start() and read output.result from the resolved result; handle rejected promises for workflow errors. For the board flow, run npm run kaiban, select “Start Workflow,” and inspect progress in the Task Board and output in Results Overview. Use {taskResult:taskN} in a task description when it needs a preceding task’s output, and choose memory: true or memory: false to control automatic access to previous results.
What are this agent's strengths and limitations?
- Uses explicit Agent, Task, and Team objects, with documented {taskResult:taskN} passing between tasks.
- Provides both a Kaiban Board and useStore()/workflowLogs hooks for visual status and custom observability.
- Supports per-agent Google, Anthropic, and OpenAI model configuration alongside LangchainJS-compatible tools.
- WorkflowDrivenAgent supports deterministic step execution, suspension, and resumption without LLM reasoning.
- ExternalCodingAgent can delegate tasks to Claude Code, OpenCode, Codex, or a mock backend.
- The README labels the project beta, so adopters should plan for validation and potential interface changes.
- LLM workflows require provider credentials; the setup example requires VITE_OPENAI_API_KEY.
- External coding agents depend on local CLIs, authentication, and a Node or server runtime; browser bundles mark node:child_process as external.
- The material says it aims to work with React, Vue, Angular, NextJS, and Node.js, but does not provide a version matrix or complete deployment details for each environment.
How does this agent compare with similar options?
The README compares the Kaiban Board to Trello or Asana for agents and humans: both use a board to track work, while KaibanJS specifically models and executes work through Agent, Task, and Team objects.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| KaibanJS This agent | 33 · Major gaps | CLIFree + model costs | ★ 1.5k | 5mo ago | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
| Dynamiq Agent Orchestration | 61 · Some gaps | Library / SDKFree + model costs | ★ 1.1k | 1d ago | Python | OpenAI API |
| amux Agent Control Plane | 77 · Good | Self-hosted serviceFree + model costs | ★ 554 | today | Rust | Codex · Claude Code |
| acpx | 57 · Major gaps | CLIFree + model costs | ★ 3.4k | 1d ago | TypeScript | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows the framework requires API keys (e.g., OPENAI_API_KEY) and may execute external CLI commands (e.g., claude-code), but no mechanisms for least privilege, user confirmation, or data flow transparency are provided. Sensitive data handling (e.g., API keys) is not clearly specified for storage and transmission. Many dependencies (e.g., langchain, zustand) are present, but no security audit or vulnerability scanning evidence is provided. External effects (e.g., calling external APIs, executing CLI) are not clearly restricted or warned. Rollback mechanisms are not mentioned. Source attribution (e.g., author, copyright) is clear in LICENSE, but publisher identity is unverified. Therefore, all trust criteria score 0.
Self-consistency: README and package.json are mostly consistent, but some inconsistencies exist (e.g., README mentions 'Kaiban Board', but no corresponding script in package.json). Dependency availability: Dependency list is complete, but no lock file or integrity checks are provided. Failure messages: Code may have error handling, but no specific examples are provided. Hence each scores 1.
Audience and scenarios: README clearly targets JavaScript developers and provides multiple integration scenarios (React, Node.js, etc.), scoring 2. Capability boundaries: Documentation describes various features (e.g., WorkflowDrivenAgent, ExternalCodingAgent), but does not clearly define limitations or boundaries, scoring 1. Trigger precision: Tasks and agents are clearly defined, but no precise trigger conditions are provided, scoring 1. Environment fit: Supports multiple frameworks and Node.js, but no browser-side support details, scoring 2.
Information architecture: README is well-structured with a table of contents and detailed sections, scoring 2. Install notes: Provides npm installation and initialization commands, scoring 2. Naming stability: Version number exists, but no naming conventions or stability statements, scoring 1. Examples and FAQ: Provides multiple code examples, but no FAQ, scoring 2. Known limitations: Not explicitly listed, scoring 1. License: MIT license is clear, scoring 2. Versioning and changelog: Version number exists, but no CHANGELOG file, scoring 1. Maintenance responsibility: Contribution guidelines and community support exist, but publisher is unverified, scoring 1.
Output usability: Provides clear output examples (e.g., workflowResult), scoring 2. Marginal value: Offers a multi-agent framework for the JavaScript ecosystem, providing unique value, scoring 2. Cost-benefit: No performance or cost data provided, scoring 1.
Claim traceability: Feature claims in README are not linked to specific code or tests, scoring 1. Cross-source corroboration: Test files exist (e.g., opentelemetry tests), but do not cover all claims, scoring 1. Fact-inference separation: Documentation distinguishes feature descriptions and examples, but does not explicitly label inferences, scoring 1.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
- Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
- The framework requires API keys, but no guidance on secure storage or transmission is provided, posing a leak risk.
- External CLI execution (e.g., claude-code) may introduce security risks; use with caution.
- Many dependencies are present, but no security audit or vulnerability scanning evidence is provided, leaving supply chain risks unknown.
- Publisher identity is unverified; assess trustworthiness with caution.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
KaibanJS v0.24.1 🚀 🤖 External Coding Agents: delegate tasks to Claude Code & OpenCode KaibanJS introduces ExternalCodingAgent — a new agent type that runs your task prompt through a local coding CLI instead of routing inference through LangChain. Use it for headless coding workflows, repo-aware answers, and two-step “planner + reviewer” style teams where each step is a separate CLI invocation. The agent is built for Node / server runtimes (it uses child_process; browser bundles treat node:child_process as external). What you can plug in | Backend | Behavior | …View on GitHub ↗ -
Release notes excerpt
KaibanJS v0.23.0 🚀 🤖 WorkflowDrivenAgent: Deterministic Workflow Execution KaibanJS introduces WorkflowDrivenAgent — a revolutionary new agent type that executes predefined workflows instead of using traditional LLM-based reasoning. This enables deterministic, structured execution with full control over workflow patterns and state management. The WorkflowDrivenAgent is the centerpiece of this release, bringing workflow-driven automation to multi-agent systems with support for: - Sequential Processing: Linear workflow execution with step-by-step control …View on GitHub ↗ -
Release notes excerpt
KaibanJS v0.22.0 🚀 🤖 xAI Grok Model Support (Including Grok-4) KaibanJS now supports the latest Grok-4 model from [xAI](https://x.ai) — bringing advanced LLM reasoning into your multi-agent workflows. Alongside Grok-4, this release also adds compatibility with additional xAI variants: - grok-3 - grok-3-mini - grok-3-mini-fast Whether you're building lightweight prototypes or full-scale agentic systems, KaibanJS now offers native support for all current xAI model versions. 🌐 How to Use …View on GitHub ↗