Skip to content

ADK TypeScript 快速入门

本指南展示如何开始使用 Agent Development Kit TypeScript 版。开始之前,请确保已安装以下内容:

  • Node.js 24.13.0 或更高版本
  • Node Package Manager (npm) 11.8.0 或更高版本

为你的项目创建一个空的 my-agent 目录:

my-agent/
使用命令行创建此项目结构
mkdir -p my-agent/
mkdir my-agent

配置项目和依赖项

使用 npm 工具为你的项目安装和配置依赖项,包括 package 文件、ADK TypeScript 主库和开发工具。在你的 my-agent/ 目录下运行以下命令来创建 package.json 文件并安装项目依赖项:

cd my-agent/
# 将项目初始化为 ES module
npm init --yes
npm pkg set type="module"
npm pkg set main="agent.ts"
# 安装 ADK npm install @google/adk
# 将开发工具安装为开发依赖项
npm install -D @google/adk-devtools

定义智能体代码

为一个基础智能体编写代码,包括一个简单的 ADK 函数工具实现,名为 getCurrentTime。在你的项目目录中创建一个 agent.ts 文件并添加以下代码:

my-agent/agent.ts
import {FunctionTool, LlmAgent} from '@google/adk';
import {z} from 'zod';

/* 模拟工具实现 */
const getCurrentTime = new FunctionTool({
  name: 'get_current_time',
  description: '返回指定城市中的当前时间。',
  parameters: z.object({
    city: z.string().describe("要检索当前时间的城市名称。"),
  }),
  execute: ({city}) => {
    return {status: 'success', report: `${city} 的当前时间是上午 10:30`};
  },
});

export const rootAgent = new LlmAgent({
  name: 'hello_time_agent',
  model: 'gemini-2.5-flash',
  description: '告诉指定城市中的当前时间。',
  instruction: `你是一个有帮助的助手,会告知指定城市中的当前时间。
                请为此目的使用 'getCurrentTime' 工具。`,
  tools: [getCurrentTime],
});

设置你的 API 密钥

此项目使用 Gemini API,需要一个 API 密钥。如果你还没有 Gemini API 密钥,请在 Google AI Studio 的 API 密钥 页面创建一个。

在终端窗口中,将你的 API 密钥写入项目的 .env 文件以设置环境变量:

更新:my-agent/.env
echo 'GEMINI_API_KEY="你的个人 API 密钥"' > .env
在 ADK 中使用其他 AI 模型

ADK 支持使用多种生成式 AI 模型。有关在 ADK 智能体中配置其他模型的更多信息,请参阅 模型与身份验证

运行你的智能体

你可以使用 @google/adk-devtools 库以交互式命令行界面运行你的 ADK 智能体(使用 run 命令),或使用 ADK Web 用户界面(使用 web 命令)。这两个选项都允许你测试并与你的智能体交互。

使用命令行界面运行

使用 ADK TypeScript 命令行界面工具,通过以下命令运行你的智能体:

npx adk run agent.ts

adk-run.png

使用网页界面运行

使用以下命令通过 ADK Web 界面运行你的智能体:

npx adk web

此命令会启动一个带有聊天界面的网页服务器供你的智能体使用。你可以在 http://localhost:8000 访问网页界面。在右上角选择你的智能体并输入请求。

adk-web-dev-ui-chat.png

注意:ADK Web 仅供开发使用

ADK Web 不适用于生产部署。你应该仅将 ADK Web 用于开发和调试目的。

下一步:构建你的智能体

现在你已经安装了 ADK 并运行了你的第一个智能体,尝试使用我们的指南来构建你自己的智能体: