这个项目能做什么

BareAgent是一个轻量级、零依赖的Node.js代理编排库,为AI代理提供思考→行动→观察循环。与LangChain、CrewAI或AutoGen等重型框架不同,BareAgent专注于可组合的构建块,而非单体框架,其核心不依赖任何外部库。 核心能力包括: - **循环**:核心的思考→行动→观察周期,运行至目标完成,并提供可选的策略治理、上下文工程和转录修剪接口。 - **规划器与runPlan**:将目标分解为步骤DAG,并在依赖感知和逐步重试的情况下,以并行波次执行步骤。 - **recurse(RLM)**:递归分解原语,分解困难任务、扇出子任务、验证结果并综合最终答案。支持模型驱动生成、强制扇出和数据驱动分区。通过基于扫描的检索实现语料库的诚实计数,该检索基于代码计数而非模型声明数字。 - **内存**:通过可替换的存储接口(JSON、SQLite或litextx)实现跨会话的持久存储和回忆。 - **治理**:可选的bareguard集成提供对所有LLM和工具调用的单一策略门,包括审计日志、预算上限和人工审批检查点。 - **弹性**:带退避和抖动的重试、熔断器和提供商故障转移。 - **提供商**:支持OpenAI兼容API、Anthropic、Gemini、Ollama、CLIPipe和自定义提供商。所有返回均采用规范化形状,包含诚实的令牌/成本指标,包括提示缓存层级报告。 - **工具**:任何函数均可作为工具。内置网页浏览(barebrowse)、移动控制(baremobile)和Shell执行。MCP桥接器从IDE配置自动发现MCP服务器。 - **跨语言**:可通过stdin/stdout上的JSONL从Python、Go、Rust、Ruby或Java作为子进程运行。 - **流式**:结构化JSONL事件用于实时进度。 - **评估器与细化**:通过谓词、评分标准或代理批评者判断输出,并带有有界的生成→评估→重新生成循环。 - **调度器**:Cron或相对触发器,支持跨重启的作业持久化。 - **检查点**:人工审批门,支持自带传输。 - **派生**:派生子代理,共享审计日志和预算。 - **延迟**:排队操作以供唤醒器稍后执行。 - **SkillRegistry**:通过元工具目录按需展示技能。 - **stash**:将已完成工作压缩出实时上下文窗口,或在令牌压力下自动折叠。 该库设计为足够轻量以完全理解,同时足够完整以避免重复造轮子。它零必需依赖;可选同伴包括用于治理的bareguard、用于SQLite存储的better-sqlite3和用于调度的cron-parser。采用Apache 2.0许可。