TypeScript SDK
前提条件
| 项目 | 值 |
|---|---|
| 包名 | @joytoken/agent-sdk-ts |
| Node.js | 18+ |
| API Key | JOY_TOKEN_API_KEY |
| 默认模型 | auto |
第 1 步:安装
$ npm install @joytoken/agent-sdk-ts
第 2 步:创建 provider
1 import { createJoyTokenProvider } from "@joytoken/agent-sdk-ts"; 2 3 const model = createJoyTokenProvider({ 4 apiKey: process.env.JOY_TOKEN_API_KEY, 5 defaultModel: "auto", 6 });
第 3 步:定义工具
1 import { defineTool } from "@joytoken/agent-sdk-ts"; 2 3 const 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
1 import { Agent, stepCountIs } from "@joytoken/agent-sdk-ts"; 2 3 const agent = new Agent({ 4 model, 5 modelName: "auto", 6 tools: [lookup], 7 stopWhen: [stepCountIs(6)], 8 }); 9 10 const result = await agent.run("Summarize record 42."); 11 console.log(result.finalText);
第 5 步:持久化状态
1 const result = await agent.run({ 2 messages: previousMessages, 3 input: "Continue.", 4 }); 5 6 await saveMessages(result.messages);
常见错误
| 错误 | 处理方式 |
|---|---|
| 工具没有被调用 | 检查工具 name、description、parameters 是否清晰 |
| 循环过长 | 使用 stepCountIs、maxToolCalls、maxCost |
| 请求失败 | 查看 JoyToken Logs 和 result.steps |