TypeScript SDK

前提条件

项目
包名@joytoken/agent-sdk-ts
Node.js18+
API KeyJOY_TOKEN_API_KEY
默认模型auto

第 1 步:安装

$npm install @joytoken/agent-sdk-ts

第 2 步:创建 provider

1import { createJoyTokenProvider } from "@joytoken/agent-sdk-ts";
2
3const model = createJoyTokenProvider({
4 apiKey: process.env.JOY_TOKEN_API_KEY,
5 defaultModel: "auto",
6});

第 3 步:定义工具

1import { defineTool } from "@joytoken/agent-sdk-ts";
2
3const lookup = defineTool({
4 name: "lookup",
5 description: "Look up a record by id.",
6 parameters: {
7 type: "object",
8 properties: { id: { type: "string" } },
9 required: ["id"],
10 },
11 execute: async ({ id }) => `record:${id}`,
12});

第 4 步:运行 agent

1import { Agent, stepCountIs } from "@joytoken/agent-sdk-ts";
2
3const agent = new Agent({
4 model,
5 modelName: "auto",
6 tools: [lookup],
7 stopWhen: [stepCountIs(6)],
8});
9
10const result = await agent.run("Summarize record 42.");
11console.log(result.finalText);

第 5 步:持久化状态

1const result = await agent.run({
2 messages: previousMessages,
3 input: "Continue.",
4});
5
6await saveMessages(result.messages);

常见错误

错误处理方式
工具没有被调用检查工具 namedescriptionparameters 是否清晰
循环过长使用 stepCountIsmaxToolCallsmaxCost
请求失败查看 JoyToken Logs 和 result.steps