B4.run Agent Framework
用 TypeScript 和 LangGraph.js 构建可测试、可控并可部署的智能体应用。
- Star 数
- ★ 311
- 最近更新
- 今天
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 69/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配OpenAI API(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 希望把现有 LangGraph.js 图逐步接入应用路由的 TypeScript 团队,可将其作为 raw
graphroute 并逐个验证 checkpointer 行为。 - 不适合
- 需要 Python 原生框架的团队
- 希望直接使用托管 AI 平台的团队
- 源码审查
- 69/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
B4.run 是围绕 LangGraph.js 构建的 TypeScript 框架,为智能体和工作流提供文件系统路由、生成类型、本地开发与测试约定及持久化原语。开发者在路由的 `src/app/**/index.ts` 中定义 `agent`、`workflow`、`graph` 或 `chain`,并可配置共享工具、路由级工具和运行策略。测试可通过固定响应夹具离线回放;状态默认由 SQLite 支持,具体行为取决于应用根目录和数据库文件是否持久保存。默认构建会输出可运行的 Node 服务器、Dockerfile 和 LangSmith graph artifacts。它需要 Node.js 和 LangGraph.js;B4.run 不托管应用、不配置基础设施,也不管理密钥。
使用 npm create b4-app@latest 创建 TypeScript 项目,在路由的 index.ts 导出 agent() 或其他受支持入口,B4.run 据此发现路由并生成路由、参数、状态和工具声明。把共享工具放在 src/tools/,或将工具放在路由目录中,再通过 tools.deny 限制工具、用 tools.approve 要求人工批准;权限可限制工作区外的 shell 命令和文件路径,选择启用的 sandbox 可隔离工作区工具。运行 b4 dev 开发并用固定夹具执行离线测试;构建时可生成 Node 服务器、Dockerfile 和 LangSmith graph artifacts。部署方需要自行验证目标环境的运行时、存储、认证和模型提供方边界。
- 希望把现有 LangGraph.js 图逐步接入应用路由的 TypeScript 团队,可将其作为 raw
graphroute 并逐个验证 checkpointer 行为。 - 需要在本地确定性测试智能体的开发团队,可用固定响应夹具回放交互,并让未匹配的交互直接失败。
- 构建需要限制工具权限的智能体的团队,可在路由中禁用工具、要求人工批准,并为工作区外操作设置权限。
- 需要在开发服务器重启后保留状态的应用,可使用默认 SQLite 存储,并确保应用根目录和 SQLite 文件持续存在。
- 需要生成可部署 Node 服务的 TypeScript 项目,可从默认构建获得服务器和 Dockerfile,再自行选择并验证部署环境。
如何安装或部署这个 Agent?
需要 Node.js 24 或更高版本和 npm 11。创建并安装入门项目:
npm create b4-app@latest my-agent
cd my-agent
npm install
npm test入门测试使用夹具离线运行,无需 API 密钥或模型调用。若要运行 README 中的 OpenAI 实时 navlog 示例,需在 server/.env 中设置 OPENAI_API_KEY。
如何使用这个 Agent?
在路由文件中定义智能体,例如:
import { agent } from "@b4run/sdk"
export default agent({
model: "gpt-5-mini",
recursionLimit: 100,
description: "A VFR flight planner for a Cessna 172N…",
tools: { deny: ["runBash"], approve: [{ tool: "fileFlightPlan", allowAlways: false }] },
systemPrompt: "You are a VFR flight-planning assistant for a Cessna 172N…",
})使用 npm run dev 启动基本入门应用;设置 OPENAI_API_KEY 后可运行实时模型路径。navlog 模板使用两个工作区包,可分别启动服务器和 Workbench:
npm run dev:server
npm run dev:webnavlog 服务器监听 3002 端口,Workbench 监听 3010 端口。生产构建与启动命令为:
npm run build
npm start模型服务凭据因提供方而异;README 也说明本地 Ollama 路由不需要提供方密钥。
这个 Agent 有哪些优点和局限?
- 文件系统路由自动发现智能体和图入口,并在 typegen 和构建时生成路由、参数、状态及工具类型。
- 固定响应夹具提供离线确定性测试;遇到未匹配交互会失败,而不是悄悄调用模型提供方。
- 路由策略支持禁用工具和人工批准;权限与可选 sandbox 为 shell 命令、文件路径及工作区工具提供限制。
- 默认构建输出 Node 服务器、Dockerfile 和 LangSmith graph artifacts,可将应用源码延伸到部署产物。
- 框架依赖 LangGraph.js,目标为 TypeScript 和 Node.js;需要 Python 的项目应使用其他方案。
- 项目处于 pre-1.0 阶段,API 仍在变化,团队需要固定版本并留意升级说明。
- B4.run 不托管应用、不配置基础设施,也不管理密钥;部署方须自行处理目标环境的存储、认证和提供方边界。
- 实时模型调用可能需要提供方凭据和按使用量付费;README 的 OpenAI navlog 实时路径要求
OPENAI_API_KEY。
这个 Agent 与同类方案有什么区别?
与直接使用 LangGraph.js 相比,B4.run 增加文件系统路由、生成类型、本地开发与测试约定、持久化原语和构建目标;希望保留自有应用约定或需要 Python 的团队可直接使用 LangGraph.js。现有 LangGraph.js 图可逐步作为 graph 路由迁移,迁移后需验证各部署目标的 checkpointer 行为。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| B4.run Agent Framework 当前 | 69 · 存在缺口 | 开发框架免费 + 模型费 | ★ 311 | 今天 | TypeScript | — |
| TrueForge | 67 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 6.1k | 今天 | TypeScript | OpenAI API · Claude API |
| Sandbox Agent | 67 · 存在缺口 | 自托管服务免费 + 模型费 | ★ 1.6k | 1 天前 | TypeScript | Codex · Claude Code |
| FastClaw | 43 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.4k | 今天 | Go | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 描述了工具 deny/approve、审批授权、路径与 shell 权限及可选沙箱;这些为最小权限和高影响操作审批提供了可见机制,但给出的材料未完整说明所有运行时权限与用户数据流。README 说明密钥由用户配置、平台不托管密钥,SECURITY.md 提供私密漏洞报告渠道;不过敏感数据处理细节、依赖风险缓解的完整证据不足。工作流权限较窄且有依赖版本覆盖,图表测试覆盖部分防护;但回滚方案与来源归属信息有限,因此未给满分。
README 说明 fixture 测试默认离线、未匹配交互会失败,并提供构建、类型检查和多类 CI 验证脚本;工作流还明确处理 Docker 跳过和失败情形。包管理器和 Node 版本有明确要求,依赖锁定与覆盖可见。扣分是本次静态审查不能证明 CI 实际通过,且不同部署目标需自行验证运行时、存储、认证及 provider 边界。
README 清楚指出面向 TypeScript/Node.js 与 LangGraph.js 团队,并给出 raw LangGraph、Python、迁移路径等适用边界;多个示例覆盖不同任务。扣分是路由发现规则和部分触发行为仅作概述,特定能力会随构建目标变化;环境适配说明存在,但仍要求用户自行验证目标部署。
README 组织了快速开始、架构、示例、部署、成熟度与支持信息;有安装命令、MIT 许可、迁移指南、升级指南和发布说明入口。明确标注 pre-1.0 与 API 变动,支持责任和安全报告路径也有说明。扣分是给定材料中没有具体 changelog 内容、FAQ 或较完整的维护者身份与责任承诺;示例与说明也未覆盖所有情形。
框架将文件系统路由、类型生成、测试回放、持久化原语和构建产物组合为可用工作流,示例展示了审批、工具与子代理等场景。README 同时明确说明不托管应用、不配置基础设施或管理密钥。扣分是性能宣传标题没有所给材料中的量化佐证,且效益取决于团队接受框架约定和自行完成部署验证。
README 的功能与边界陈述可与 package scripts、CI 工作流、图表测试及安全策略交叉对照;测试脚本包含具体断言和失败处理。扣分是本次材料没有运行结果、revision 级发布记录或完整实现文件,CI 配置不能证明当前提交的实际结果;性能与若干安全能力的陈述仍需更多直接证据。
- 该项目标注为 pre-1.0,API 仍在变化;使用前应固定版本并查看升级说明。
- 项目提供框架与构建产物,不托管应用或管理密钥;认证、存储、provider 与部署边界需要按目标环境自行验证。
- 性能描述未在所给材料中提供量化证据;本评估仅为低置信度静态审查,未执行代码或验证 CI 结果。
常见问题
使用 B4.run 是否必须购买模型 API?
npm test 使用固定夹具离线运行。实时模型路径的凭据因提供方而异;README 的 OpenAI navlog 示例需要 OPENAI_API_KEY,而本地 Ollama 路由不需要提供方密钥。B4.run 会替我托管应用或配置生产基础设施吗?
工具能否要求人工批准或限制文件与 shell 操作?
tools.approve 可暂停工具调用等待人工响应,每个答案消耗一次性 approval grant;权限可限制工作区外 shell 命令和文件路径,sandbox 可选启用。