KaibanJS
用看板式界面编排、运行并观察 JavaScript 多智能体工作流。
按维度查看评分与理由
证据显示框架需要API密钥(如OPENAI_API_KEY)并可能执行外部CLI命令(如claude-code),但未提供权限最小化、用户确认或数据流透明度的机制。敏感数据处理(如API密钥)未明确说明存储和传输方式。依赖众多(如langchain、zustand),但未提供安全审计或漏洞扫描证据。外部效果(如调用外部API、执行CLI)未明确限制或提示。回滚机制未提及。来源归属(如作者、版权)在LICENSE中明确,但发布者身份未验证。因此所有信任标准得分为0。
自一致性:README和package.json基本一致,但存在一些不一致(如README提到'Kaiban Board',package.json中无对应脚本)。依赖可用性:依赖列表完整,但未提供锁定文件或完整性校验。失败消息:代码中可能有错误处理,但未提供具体示例。因此各得1分。
受众和场景:README明确面向JavaScript开发者,提供多种集成场景(React、Node.js等),得2分。能力边界:文档描述了多种功能(如WorkflowDrivenAgent、ExternalCodingAgent),但未明确限制或边界,得1分。触发精度:任务和代理定义明确,但未提供精确的触发条件,得1分。环境适配:支持多种框架和Node.js,但未提供浏览器端支持细节,得2分。
信息架构:README结构清晰,有目录和详细章节,得2分。安装说明:提供npm安装和初始化命令,得2分。命名稳定性:版本号存在,但未提供命名规范或稳定性说明,得1分。示例和FAQ:提供多个代码示例,但无FAQ,得2分。已知限制:未明确列出,得1分。许可证:MIT许可证明确,得2分。版本和变更日志:有版本号,但无CHANGELOG文件,得1分。维护责任:有贡献指南和社区支持,但发布者未验证,得1分。
输出可用性:提供清晰的输出示例(如workflowResult),得2分。边际价值:针对JavaScript生态提供多代理框架,有独特价值,得2分。成本效益:未提供性能或成本数据,得1分。
声明可追溯性:README中的功能声明未链接到具体代码或测试,得1分。跨来源佐证:有测试文件(如opentelemetry测试),但未覆盖所有声明,得1分。事实与推断分离:文档中区分了功能描述和示例,但未明确标注推断,得1分。
- 框架需要API密钥,但未提供安全存储或传输的指导,存在泄露风险。
- 外部CLI执行(如claude-code)可能带来安全风险,需谨慎使用。
- 依赖众多,但未提供安全审计或漏洞扫描证据,供应链风险未知。
- 发布者身份未验证,需谨慎评估信任度。
这个 Agent 能做什么,适合哪些场景?
KaibanJS 是面向 JavaScript 的多智能体系统框架,核心对象为 Agent、Task 与 Team。Team 负责启动任务流、在任务之间传递结果,并可通过 Kaiban Board 实时展示任务状态和最终结果。开发者既可将其作为 npm 库接入 React、Node.js 等项目,也可创建自定义 UI 或在无 UI 的环境中运行。框架提供团队级 memory、Redux-inspired 状态管理、工作流日志以及多模型配置。它还包含 WorkflowDrivenAgent,用于执行确定性工作流,以及在 Node 或服务器运行时调用 Claude Code、OpenCode 或 Codex 本地 CLI 的 ExternalCodingAgent。
开发者用 new Agent() 定义角色、目标、背景、工具或 llmConfig,用 new Task() 指定 description、expectedOutput 和负责的 agent,再用 new Team() 汇集 agents、tasks、inputs、env 与 memory。调用 team.start() 会执行工作流,并返回含 result 的输出;后续任务可用 {taskResult:taskN} 引用前序任务结果。Kaiban Board 可显示任务从“To Do”到“Done”的过程,useStore() 可读取 agents、tasks、workflowResult 和 workflowLogs,并订阅状态变化、耗时、LLM 用量及成本信息。Tool 可接入 LangchainJS-compatible tools;WorkflowDrivenAgent 通过 @kaibanjs/workflow 的 createStep 与 createWorkflow 执行定义好的步骤;ExternalCodingAgent 则使用 child_process 启动本地编码 CLI。
- JavaScript 团队要把研究、撰写、编辑拆成连续任务,并将研究任务结果传给后续内容任务。
- React 应用需要以 useStore() 把智能体、任务状态和 workflowResult 显示在自建界面中。
- Node.js 服务需要运行无界面的 Team 工作流,并从 team.start() 获取最终结果。
- 需要为不同职责选择 Google、Anthropic 和 OpenAI 模型的团队,希望在同一 Team 中配置各 Agent 的 llmConfig。
- 本地开发者希望把某个任务委派给 Claude Code、OpenCode 或 Codex CLI,而非通过 LangChain 发起 LLM 调用。
- 需要人工介入、暂停和恢复的确定性多步骤流程,可将 @kaibanjs/workflow 包装为 WorkflowDrivenAgent。
这个 Agent 有哪些优点和局限?
- 以 Agent、Task、Team 三个明确对象组织工作流,并支持 {taskResult:taskN} 的任务结果传递。
- Kaiban Board 将任务状态可视化;useStore() 和 workflowLogs 还可用于自建监控界面与订阅日志。
- 同一团队可为不同 Agent 配置 Google、Anthropic 或 OpenAI 模型,并可使用 LangchainJS-compatible tools。
- WorkflowDrivenAgent 为无需 LLM 推理的确定性流程提供步骤执行、暂停和恢复能力。
- ExternalCodingAgent 可将任务交给 Claude Code、OpenCode、Codex 或 mock 后端。
- README 标注稳定性为 beta,采用前应为接口和行为变化预留验证与升级成本。
- 运行 LLM 工作流需要相应服务的 API 凭据;示例要求配置 VITE_OPENAI_API_KEY。
- 外部编码代理依赖本机 CLI、认证和 Node 或服务器运行时;浏览器 bundle 会将 node:child_process 标为 external。
- 框架声称面向 React、Vue、Angular、NextJS 和 Node.js 的兼容性,但所给材料未说明各环境的版本要求或完整部署矩阵。
如何安装或部署这个 Agent?
在项目目录运行:
npx kaibanjs@latest init将 AI 服务密钥写入 .env,例如:
VITE_OPENAI_API_KEY=your-api-key-here然后运行:
npm run kaiban也可手动安装:
npm install kaibanjsExternalCodingAgent 仅适用于 Node 或服务器运行时;使用 Codex 时,先执行 codex login,或提供 OPENAI_API_KEY。
如何使用这个 Agent?
导入 import { Agent, Task, Team } from 'kaibanjs';,创建 Agent、关联该 Agent 的 Task,并用 agents、tasks 和 env 创建 Team。调用 team.start(),从成功结果读取 output.result;失败时处理 Promise rejection。首次使用看板时运行 npm run kaiban,点击“Start Workflow”执行默认示例,并在 Task Board 与 Results Overview 查看进度和结果。若任务要使用前序输出,在描述中写入 {taskResult:taskN};是否自动提供历史任务结果由 Team 的 memory: true 或 false 决定。
这个 Agent 与同类方案有什么区别?
README 将 Kaiban Board 类比为面向智能体和人的 Trello 或 Asana:共同点是用看板跟踪工作项;KaibanJS 的具体对象是 Agent、Task 与 Team,并可执行工作流。