mcpField
C
Convex Agents Tools

Convex Agents Tools

github.com/sstoboAgent 工作流24200 次安装40 周前更新
代码仓库

关于 Convex Agents Tools

Convex Agents Tools 是一项技能,可为 Agent 配置调用 Convex 函数、外部 API 和复杂操作的工具,适合需要扩展 Agent 行动能力的开发者。它支持参数验证、自动工具调用,并将调用记录保存在对话线程中。

主要功能

  1. 01定义 Convex 感知工具
  2. 02使用 Zod 验证参数
  3. 03调用外部 API
  4. 04在线程中保存工具调用
  5. 05启用自动多步调用

适用场景

  1. 01查询或修改数据库数据
  2. 02让 Agent 调用外部 API
  3. 03构建人工参与的工作流
  4. 04串联多次工具调用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sstobo/convex-skills --skill convex-agents-tools

安装后在 Claude Code 中输入/convex-agents-tools确认已加载。

详细介绍

用途

让 Agent 具备超越文本生成的能力,能够执行各种操作。工具让 Agent 可以调用 Convex 函数、外部 API 以及复杂操作。

何时使用此技能

  • Agent 需要查询或修改数据库数据
  • 与外部 API 集成
  • 创建 human-in-the-loop 工作流
  • Agent 自主决定采取哪些操作
  • 串联工具调用以执行多步操作

定义工具

创建感知 Convex 的工具:

import { createTool } from "@convex-dev/agent";
import { z } from "zod";

export const getUserDataTool = createTool({
  description: "Fetch user information by email",
  args: z.object({
    email: z.string().email().describe("The user's email address"),
  }),
  handler: async (ctx, { email }): Promise<string> => {
    const user = await ctx.runQuery(api.users.getUserByEmail, { email });
    return user ? JSON.stringify(user) : "User not found";
  },
});

为 Agent 配置工具

const agentWithTools = new Agent(components.agent, {
  name: "Database Agent",
  languageModel: openai.chat("gpt-4o-mini"),
  tools: {
    getUserData: getUserDataTool,
  },
  maxSteps: 5, // Allow tool calls
});

启用自动工具调用

export const autonomousAgent = action({
  args: { threadId: v.string(), request: v.string() },
  handler: async (ctx, { threadId, request }) => {
    const { thread } = await agentWithTools.continueThread(ctx, { threadId });

    const result = await thread.generateText(
      { prompt: request },
      { maxSteps: 10 } // Allow up to 10 tool calls
    );

    return result.text;
  },
});

核心原则

  • 使用 Zod 进行验证:字段上的 .describe() 有助于大模型理解参数
  • 显式返回类型:始终为处理函数标注返回类型
  • 自动记录历史:工具调用和结果会自动保存在线程中
  • 上下文绑定:在可以访问 userId 等信息的 action 内部创建工具

后续步骤

  • 参阅 fundamentals 了解 Agent 设置
  • 参阅 workflows 了解如何编排多步操作
  • 参阅 context 了解感知工具的上下文管理

评论

支持 Markdown