TypeScript API 参考

导入

1import {
2 Agent,
3 createJoyTokenProvider,
4 defineTool,
5 maxCost,
6 maxToolCalls,
7 stepCountIs,
8} from "@joytoken/agent-sdk-ts";

Agent

1const agent = new Agent({
2 model: createJoyTokenProvider(),
3 modelName: "auto",
4 system: "Keep answers short.",
5 tools: [],
6 stopWhen: [stepCountIs(6)],
7});
选项用途
model模型 provider
modelNameJoyToken 模型,默认用 auto
systemsystem message
tools本地工具列表
stopWhen停止条件
temperature模型温度
maxTokens最大输出 token
tierJoyToken routing tier
metadata透传元数据

Agent.run

1const result = await agent.run("Hello");
2
3const continued = await agent.run({
4 messages: result.messages,
5 input: "Continue.",
6});
返回字段用途
finalText最终文本
messages可持久化的完整消息
steps每一步模型回复和工具结果
usage聚合用量
stoppedBy命中的停止条件

createJoyTokenProvider

1const model = createJoyTokenProvider({
2 apiKey: process.env.JOY_TOKEN_API_KEY,
3 apiBaseUrl: process.env.JOY_TOKEN_API_BASE_URL,
4 openAIBaseUrl: process.env.JOY_TOKEN_OPENAI_BASE_URL,
5 defaultModel: "auto",
6});

defineTool

1const tool = defineTool({
2 name: "lookup",
3 description: "Look up a record.",
4 parameters: {
5 type: "object",
6 properties: { id: { type: "string" } },
7 required: ["id"],
8 },
9 execute: async ({ id }, context) => {
10 return `record:${id}`;
11 },
12});

停止条件

1stopWhen: [
2 stepCountIs(8),
3 maxToolCalls(4),
4 maxCost(1),
5]
函数用途
stepCountIs(n)最多运行 n 步
maxToolCalls(n)最多执行 n 次工具
maxCost(n)费用达到 n credits 后停止