monid-ai/monid

Monid - OpenRouter for agent tools. Join our community at https://discord.gg/rQzztcgJV8

Monid – 面向 AI 代理工具的 OpenRouter 风格目录

它是什么 – Monid 是一个框架,让 AI 代理通过单一统一 API 调用任何外部工具(搜索、数据丰富、媒体生成等)。它聚合了来自 70+ 提供商的 2000+ 工具端点,通过三个动词暴露它们:discover、inspect(均免费)和 run(按调用计费)。

为什么重要 – 代理不再需要硬编码的供应商 URL 或自定义适配器。连接器(对提供商端点的声明式描述)告诉 Monid 如何调用服务、如何认证以及使用如何定价。在运行时,Monid:

  1. 为给定任务发现最便宜/最合适的端点。
  2. 执行请求,测量原始流量,并在任何输出映射之前应用提供商的使用模型,确保代理精确按传输内容计费。
  3. 返回与连接器中定义的契约匹配的结构化响应。

关键概念

  • 连接器 – 一个 TypeScript 文件,声明提供商(defineProvider)和一个或多个端点(defineEndpoint)。它包含元数据、认证注入、请求模式(通过 Zod)、超时和使用模型(免费、按调用、按字符等)。
  • 资源 – 可选,用于“自有”服务(例如电话号码)以建模生命周期、快照和费率卡。
  • 引擎 – 运行时,验证输入、构建 HTTP 请求、注入凭据、结算使用、映射响应并验证最终输出。
  • 目录 CLI – 命令(deno task catalog …)让您列出提供商、探索端点并检查完整契约。

如何添加新工具

  1. 克隆仓库并安装 Deno 2.x。
  2. 在 connectors/<provider>/ 下创建新文件夹,包含 provider.ts 和一个或多个端点定义。
  3. 为请求参数编写 Zod 模式。
  4. 记录一个夹具(deno task record)以捕获真实响应;测试重放这些夹具,因此 CI 永远不需要网络访问。
  5. 运行 deno task check && deno task test 以确保类型安全和重放测试通过。
  6. 打开 PR 并发送邮件至 support@monid.ai;团队在发布前手动审查连接器。

运行端点

export TINYFISH_CREDENTIALS_API_KEY=…
 deno task engine:run 'tinyfish#search' \
   --query-params '{"query":"solid-state battery suppliers","domain_type":"news"}'

该命令打印结构化结果,并根据提供商模型记录使用情况。

适用对象 – 构建自主 LLM 代理、RAG 管道或任何需要调用多个第三方 API 而无需硬编码每个 API 的系统的开发者。声明式连接器格式还使编码代理能够自动生成新连接器(参见 AGENT.md)。

许可证 – MIT。

相关