BAARA Next运行Claude驱动的代理任务,在进程崩溃后继续运行 从检查点,并在失败时自动重试。通过a控制任务 以聊天为中心的web UI、Claude Code MCP集成或完整的REST API-所有 从一个单一 bun start.
“baara”在曼丁卡语中意为“工作”。
______________________________________________________________________
快速开始
git clone https://github.com/fakoli/baara-next.git
cd baara-next
bun install
ANTHROPIC_API_KEY=sk-ant-... bun start打开 http://localhost:3000 在您的浏览器中。
______________________________________________________________________
BAARA接下来是什么?
BAARA Next是一个持久代理任务执行引擎:您可以使用 提示,它在可配置的沙盒隔离中运行Claude Code SDK代理 (Native、Wasm或Docker),每5轮检查一次对话,以及 崩溃后自动恢复。任务在11个状态的生命周期中流动 具有指数级回退重试和永久故障的死信队列。
web UI为您提供了一个由27个MCP工具支持的聊天界面——创建任务、运行 他们检查日志,回答循环中的问题,并监控队列深度, 所有这些都没有离开谈话。Claude Code连接到相同的27个工具 通过 .mcp.json 以及stdio传输。
BAARA Next是Bun上100%的TypeScript。没有Go,没有Rust,没有原生插件。跑吧 只需一个命令即可完成整个系统。
______________________________________________________________________
特性
- 持久化执行 --对话级检查点是指代理
恢复到崩溃或重新启动后停止的位置。
- 11状态生命周期 —
created → queued → assigned → running → waiting_for_input → completed / failed / timed_out / cancelled / retry_scheduled → dead_lettered - 指数级回退重试 --配置
maxRetries每项任务;精疲力竭
任务落在死信队列(DLQ)中。
- 可插拔沙盒 --本地(主机进程)、Wasm(外部隔离)或
Docker容器——在不改变业务逻辑的情况下按任务交换。
- 27工具MCP服务器 --Claude Code通过以下方式直接连接
.mcp.json(标准版本)
传输)或HTTP(/mcp 端点)。
- 以聊天为中心的用户界面 --实时SSE的React/Vite/Tailwind前端
流媒体、内联执行卡和持久对话线程。
- JSONL日志记录 --每次执行都会写入结构化日志;按级别查询,
搜索和偏移。
- 循环中的人类 --代理可以在执行过程中暂停,提出问题,以及
回复后继续。
- 单二进制开发模式 --编排器、代理和HTTP服务器在一个平台上运行
过程。无需Docker即可开始使用。
- 完整CLI奇偶校验 --所有操作均可用
baara子命令
除了HTTP API之外。
- Claude代码集成 --将整个27刀具表面直接连接到内部
克劳德代码通过 .mcp.json.
______________________________________________________________________
建筑
看 docs/architecture.md 对于完整的组件图, 状态机和数据流。
______________________________________________________________________
Claude代码集成
将BAARA Next添加为项目的MCP服务器 .mcp.json:
{
"mcpServers": {
"baara-next": {
"command": "bun",
"args": ["run", "/path/to/baara-next/packages/cli/src/index.ts", "mcp-server"],
"env": {
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}"
}
}
}
}然后在Claude Code中:“创建一个克隆我的仓库并运行测试的任务。”
看 docs/mcp-integration.md 完整的27工具 参考。
______________________________________________________________________
CLI快速参考
| 命令 | 描述 |
|---|---|
bun start | 启动服务器(编排器+代理+HTTP API) |
bun start --port 8080 | 从自定义端口开始 |
bun start --data-dir ./data | 自定义数据目录 |
baara tasks list | 列出所有任务 |
| `baara tasks create --name --prompt | |
| ` | 创建任务 |
baara tasks run | 直接运行任务 |
baara executions list | 列出最近执行的死刑 |
baara executions logs | 尾部执行日志 |
baara queues list | 显示队列深度 |
baara admin dlq | 检查死信队列 |
baara chat | 开始交互式聊天REPL |
baara mcp-server | 在stdio上运行MCP服务器(用于克劳德代码) |
______________________________________________________________________
配置
| 变量 | 默认值 | 描述 |
|---|---|---|
ANTHROPIC_API_KEY | -- | 代理执行和聊天所需 |
BAARA_API_KEY | - | 在所有上启用API密钥身份验证 /api/* 路线 |
BAARA_SHELL_ENABLED | false | 允许执行shell任务 |
PORT | 3000 | HTTP服务器端口 |
HOST | 0.0.0.0 | 要绑定的主机名 |
NEXUS_DIR | ~/.baara | SQLite和日志的数据目录 |
看 docs/configuration.md 以获取完整参考。
______________________________________________________________________
文档
| 文件 | 主题 |
|---|---|
| docs/architecture.md | 10包概述、数据流、状态机 |
| docs/sandbox-guide.md | ISandbox接口,三种实现,添加一个沙盒 |
| docs/mcp-integration.md | 27工具MCP目录,克劳德代码设置 |
| docs/api-reference.md | 每个带有请求/响应的REST端点 |
| docs/chat-architecture.md | SSE协议、事件类型、线程模型 |
| docs/durability.md | 检查点模型、恢复流程、时间比较 |
| docs/configuration.md | 环境变量、CLI标志 |
| docs/contributing.md | 开发设置、运行测试、PR指南 |
______________________________________________________________________
贡献
______________________________________________________________________
许可证
麻省理工学院——见 许可证.
