跳到主要内容
项目档案库 / SDK

codeany-ai/open-agent-sdk-typescript 开源库:用途、安装与使用指南

Open Agent SDK 是一个开源的 TypeScript 代理 SDK,支持在进程内运行完整代理循环,兼容 Anthropic 和 OpenAI 接口。本页提供安装指南、使用示例、内置工具列表及 MCP 集成方法,适用于构建可部署于云、无服务器或 Docker 的 AI 代理应用。

2,741TypeScriptStar 于 2026年4月1日2026年9月15日 更新

AI 总结

Open Agent SDK 是一个开源的 TypeScript 代理开发工具包,支持在进程内运行完整的代理循环,无需 CLI 依赖,兼容 Anthropic 和 OpenAI 接口,适用于构建可部署于云、无服务器或 Docker 环境的 AI 代理应用。

中文项目介绍

Open Agent SDK 是一个开源的 TypeScript 库,用于构建 AI 代理应用。它允许代理循环在进程内直接运行,无需外部 CLI 或子进程,简化了部署和集成。 该项目解决了传统 Agent SDK 依赖本地 CLI 工具的问题,作为 claude-agent-sdk 的开源替代,提供了纯进程内的解决方案,支持多模型提供商(Anthropic 和 OpenAI 兼容),并内置丰富的工具和技能系统。 适用场景包括:构建能操作文件系统、执行命令、搜索网络的 AI 代理;集成自定义业务逻辑工具;通过 MCP 协议连接外部服务;实现多轮对话和长期记忆;以及在云函数、Docker 或 CI/CD 环境中部署。 技术特征:包含 30+ 内置工具(文件读写、搜索、编辑等)、可扩展的技能系统(5 个捆绑技能)、MCP 集成支持、提供者抽象层(Anthropic/OpenAI),以及流式响应和多轮对话管理。依赖 @anthropic-ai/sdk、@modelcontextprotocol/sdk、zod,要求 Node.js >=18。

详细信息与使用说明

1. 项目定位与用途

Open Agent SDK 是一个开源的 TypeScript 代理开发工具包,核心定位是提供进程内(in-process)运行的 AI 代理解决方案,无需任何本地 CLI 或子进程依赖。它允许开发者通过简单的 API 创建能够自主执行任务的智能代理,支持与 Anthropic 和 OpenAI 兼容的模型进行交互。主要用途包括构建自动化编码助手、文件操作代理、网络搜索工具以及任何需要 LLM 驱动工具调用的应用场景。项目完全开源(MIT 许可证),并提供 Go 语言版本作为跨语言选择。

2. 解决的问题

传统 Agent SDK 通常依赖本地 CLI 工具或子进程管理,导致部署复杂、环境依赖性强且难以集成到无服务器或容器化环境。Open Agent SDK 通过纯进程内设计消除了这些痛点,代理循环直接在宿主进程中运行,简化了资源管理和错误处理。同时,它作为 claude-agent-sdk 的开源替代,避免了供应商锁定,并提供统一的抽象层支持多种 LLM 提供商(Anthropic 消息 API 和 OpenAI 补全 API),使模型切换更加灵活。

3. 适用场景

该 SDK 适用于多种 AI 代理应用场景:构建能读写文件、执行 shell 命令、搜索网络的自主编码代理;集成自定义业务逻辑工具(如天气查询、计算器)到 LLM 工作流;通过 Model Context Protocol (MCP) 连接外部工具和服务;实现多轮对话与长期会话记忆的交互式应用;以及部署到云平台(AWS Lambda、Vercel)、Docker 容器或 CI/CD 管道的自动化任务。示例代码覆盖了简单查询、多轮对话、自定义工具、MCP 服务器集成和 OpenAI 兼容模型使用等典型用例。

4. 安装方式

安装步骤基于 package.json 和 .env.example 文件:首先使用 npm 安装包:`npm install @codeany/open-agent-sdk`。然后设置环境变量,必需变量为 `CODEANY_API_KEY`(LLM API 密钥)。可选配置包括 `CODEANY_MODEL`(覆盖默认模型)、`CODEANY_BASE_URL`(自定义 API 端点,如第三方代理)和 `CODEANY_API_TYPE`(指定 API 类型,默认为 anthropic-messages)。Node.js 版本要求 >=18.0.0,TypeScript 编译后输出到 dist 目录。仓库未明确给出其他包管理器(如 yarn)的安装命令,但 npm 是官方示例使用的工具。

5. 使用方式

使用方式从 README 和 examples 目录可见:基础流式查询使用 `query` 函数,指定提示词、允许工具列表和权限模式;阻塞式单轮对话使用 `createAgent` 创建代理实例并调用 `prompt` 方法;多轮会话通过重复调用 `agent.prompt` 并管理 `agent.getMessages()` 实现。支持 OpenAI 兼容模型时,设置 `apiType: 'openai-completions'` 并配置 baseURL 和 apiKey。自定义工具可通过 `tool` 函数(基于 Zod schema)或 `defineTool`(低级别)定义,并集成到代理或 MCP 服务器(`createSdkMcpServer`)。内置技能(如 simplify、commit、review)通过 `skills` 模块注册和调用。

6. 实现特点与架构

从源代码结构可见核心架构:providers 目录提供 LLM 提供者抽象,通过工厂函数 `createProvider` 根据 apiType 创建 AnthropicProvider 或 OpenAIProvider;tools 目录包含 30+ 内置工具(如 read、write、bash、web-search),支持按允许/禁用列表过滤;skills 目录实现可复用提示模板系统,包含 5 个捆绑技能(commit、debug、review、simplify、test);mcp 目录集成 Model Context Protocol SDK,支持连接外部 MCP 服务器;agent 和 engine 模块驱动代理循环,协调 LLM 调用与工具执行,支持流式响应。项目严格类型化,使用 Zod 进行输入验证,并依赖 @anthropic-ai/sdk 和 @modelcontextprotocol/sdk。

思维导图

Open Agent SDK
核心模块
providers
agent & engine
session
工具系统
内置工具
自定义工具
tool-helper
技能系统
skills registry
bundled skills
MCP 集成
mcp client
sdk-mcp-server
示例与部署
examples
web demo
cloud/serverless

常见问题

如何安装和配置 Open Agent SDK?

运行 `npm install @codeany/open-agent-sdk` 安装包,然后设置环境变量 `CODEANY_API_KEY` 为你的 LLM API 密钥。可选配置包括 `CODEANY_BASE_URL`(自定义端点)、`CODEANY_MODEL`(模型名称)和 `CODEANY_API_TYPE`(API 类型)。Node.js 版本需 >=18。

支持哪些 LLM 提供商和模型?

SDK 支持两种 API 类型:'anthropic-messages'(用于 Anthropic 模型)和 'openai-completions'(用于 OpenAI 兼容模型)。后者可配合 OpenAI、DeepSeek、Qwen、Mistral 等模型使用,只需设置 `baseURL` 和 `apiKey`。模型名称包含 gpt-、o1、o3、deepseek、qwen、mistral 等会自动识别为 OpenAI 兼容类型。

如何定义和使用自定义工具?

自定义工具可通过两种方式定义:使用 `tool` 函数配合 Zod schema 快速创建(适合大多数场景),或使用 `defineTool` 进行底层控制(需手动定义 inputSchema)。定义后,工具可传递给 `createAgent` 的 tools 选项,或通过 `createSdkMcpServer` 暴露为 MCP 工具。示例包括天气查询和计算器工具。

是否支持流式响应和多轮对话?

是的。`query` 函数返回异步迭代器,可流式输出助手消息和工具调用事件;`createAgent` 创建的代理实例通过 `prompt` 方法支持多轮对话,内部自动管理消息历史,可通过 `getMessages()` 获取会话记录。示例代码展示了流式查询和多轮文件操作场景。

如何部署基于 Open Agent SDK 的应用?

由于 SDK 在进程内运行,不依赖本地 CLI,因此可轻松部署到任何支持 Node.js 的环境,包括云平台(AWS Lambda、Google Cloud Functions)、无服务器框架(Vercel、Netlify)、Docker 容器以及 CI/CD 管道。只需确保环境变量(如 API 密钥)正确配置即可。