🤖 Agenite
🤖 使用 TypeScript 构建强大的 AI 代理。Agenite 可以轻松创建、组合和控制 AI 代理,并提供对工具、流式传输和多代理架构的一流支持。在 OpenAI、Anthropic、AWS Bedrock 和 Ollama 等提供商之间无缝切换。
subeshb1
README
🤖 Agenite
<div align="center"> <img src="./apps/docs/images/hero-dark.png" alt="Agenite Logo" height="200"/> <p><strong>一个使用 Typescript 构建 AI Agent 的现代、模块化和类型安全的框架</strong></p> </div>
<div align="center">
</div>
什么是 Agenite?
Agenite 是一个强大的 TypeScript 框架,专为构建复杂的 AI Agent 而设计。它提供了一个模块化、类型安全和灵活的架构,可以轻松创建、组合和控制具有高级功能的 AI Agent。
✨ 主要特性
-
类型安全和开发者体验
- 从头开始使用 TypeScript 构建
- 针对工具和 Agent 配置的强大类型检查
- 出色的 IDE 支持和自动完成
-
工具集成
- 一流的函数调用支持
- 内置 JSON Schema 验证
- 结构化错误处理
- 轻松的 API 集成
-
Provider 无关
- 支持 OpenAI、Anthropic、AWS Bedrock 和 Ollama
- 跨 Provider 的一致接口
- 易于扩展以支持新的 Provider
-
高级架构
- 使用 JavaScript 生成器的双向流
- 基于步骤的执行模型
- 内置的带有 Reducer 的状态管理
- 灵活的中间件系统
-
模型上下文协议 (MCP)
- 用于将 LLM 连接到数据源的标准化协议
- 用于与 MCP 服务器交互的客户端实现
- 访问 Web 内容、文件系统、数据库等
📦 可用包
包 | 描述 | 安装 |
---|---|---|
核心包 | ||
@agenite/agent |
用于管理 LLM 交互、工具执行和状态管理的核心 Agent 编排框架 | npm install @agenite/agent |
@agenite/tool |
具有类型安全、模式验证和错误处理的工具定义框架 | npm install @agenite/tool |
@agenite/llm |
基础 Provider 接口层,可实现跨不同 LLM Provider 的抽象 | npm install @agenite/llm |
Provider 包 | ||
@agenite/openai |
与 OpenAI 的 API 集成,用于支持函数调用的 GPT 模型 | npm install @agenite/openai |
@agenite/anthropic |
与 Anthropic 的 API 集成,用于 Claude 模型 | npm install @agenite/anthropic |
@agenite/bedrock |
AWS Bedrock 集成,支持 Claude 和其他模型 | npm install @agenite/bedrock |
@agenite/ollama |
与 Ollama 集成,用于在本地运行模型 | npm install @agenite/ollama |
MCP 包 | ||
@agenite/mcp |
模型上下文协议客户端,用于连接到标准化的数据源和工具 | npm install @agenite/mcp |
中间件包 | ||
@agenite/pretty-logger |
用于调试 Agent 执行的彩色控制台日志记录中间件 | npm install @agenite/pretty-logger |
对于典型的设置,您需要核心包和至少一个 Provider:
# 安装核心包
npm install @agenite/agent @agenite/tool @agenite/llm
# 安装您首选的 Provider
npm install @agenite/openai
# 或者
npm install @agenite/bedrock
🚀 快速开始
import { Agent } from '@agenite/agent';
import { Tool } from '@agenite/tool';
import { BedrockProvider } from '@agenite/bedrock';
import { prettyLogger } from '@agenite/pretty-logger';
// 创建一个计算器工具
const calculatorTool = new Tool<{ expression: string }>({
name: 'calculator',
description: '执行基本数学运算',
inputSchema: {
type: 'object',
properties: {
expression: { type: 'string' },
},
required: ['expression'],
},
execute: async ({ input }) => {
try {
const result = new Function('return ' + input.expression)();
return { isError: false, data: result.toString() };
} catch (error) {
if (error instanceof Error) {
return { isError: true, data: error.message };
}
return { isError: true, data: 'Unknown error' };
}
},
});
// 创建一个 Agent
const agent = new Agent({
name: 'math-buddy',
provider: new BedrockProvider({
model: 'anthropic.claude-3-5-sonnet-20240620-v1:0',
}),
tools: [calculatorTool],
instructions: '你是一个有用的数学助手。',
middlewares: [prettyLogger()],
});
// 示例用法
const result = await agent.execute({
messages: [
{
role: 'user',
content: [{ type: 'text', text: '1234 * 5678 等于多少?' }],
},
],
});
🏗️ 核心概念
Agents
Agent 是 Agenite 中的中心构建块。一个 Agent:
- 协调 LLM 和工具之间的交互
- 管理对话状态和上下文
- 处理工具执行和结果
- 支持嵌套执行以实现复杂的工作流程
- 提供流式传输功能以实现实时交互
Tools
工具通过提供特定功能来扩展 Agent 的能力:
- 使用 TypeScript 的强大类型安全性
- 用于输入的 JSON Schema 验证
- 灵活的错误处理
- 轻松的 API 集成
Providers
当前支持的 LLM Provider:
- OpenAI API (GPT 模型)
- Anthropic API (Claude 模型)
- AWS Bedrock (Claude, Titan 模型)
- 通过 Ollama 的本地模型
模型上下文协议 (MCP)
MCP 是用于将 LLM 连接到数据源的标准化协议:
- 用于与 MCP 服务器交互的客户端实现
- 访问 Web 内容、文件系统、数据库等
- 类似于 USB-C 提供通用硬件连接的方式
🔄 高级特性
多 Agent 系统
// 创建专家 Agent
const calculatorAgent = new Agent({
name: 'calculator-specialist',
provider,
tools: [calculatorTool],
description: '专门从事数学计算',
});
const weatherAgent = new Agent({
name: 'weather-specialist',
provider,
tools: [weatherTool],
description: '提供天气信息',
});
// 创建一个协调 Agent
const coordinatorAgent = new Agent({
name: 'coordinator',
provider,
agents: [calculatorAgent, weatherAgent],
instructions: '在专家 Agent 之间进行协调以解决复杂问题。',
});
基于步骤的执行
// 创建一个迭代器以进行细粒度控制
const iterator = agent.iterate({
messages: [{ role: 'user', content: [{ type: 'text', text: '计算 25 除以 5,然后乘以 3' }] }],
stream: true,
});
// 使用自定义处理来处理流
for await (const chunk of iterator) {
switch (chunk.type) {
case 'agenite.llm-call.streaming':
console.log(chunk.content);
break;
case 'agenite.tool-call.params':
console.log('使用工具:', chunk.toolUseBlocks);
break;
case 'agenite.tool-result':
console.log('工具结果:', chunk.result);
break;
}
}
📚 文档
有关全面的文档,请访问 docs.agenite.com:
🤝 社区
🛠️ 开发
git clone https://github.com/subeshb1/agenite.git
cd agenite
pnpm install
pnpm build
📄 许可证
MIT
🌟 Star 历史
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。