AgentDock Core Documentation

🌐 README 翻译

Français日本語한국어中文EspañolItalianoNederlandsDeutschPolskiTürkçeУкраїнськаΕλληνικάРусскийالعربية

AgentDock: 用 AI Agent 构建无限可能

AgentDock 是一个用于构建复杂 AI Agent 的框架,这些 Agent 通过可配置的确定性来完成复杂任务。它由两个主要组件构成:

  1. AgentDock Core:一个开源的、后端优先的框架,用于构建和部署 AI Agent。它被设计为框架无关提供商无关,让您完全控制 Agent 的实现。

  2. 开源客户端:一个完整的 Next.js 应用程序,作为 AgentDock Core 框架的参考实现和消费者。您可以在 https://hub.agentdock.ai 看到它的实际运行情况。

AgentDock 使用 TypeScript 构建,强调简单性可扩展性可配置的确定性,使其成为构建可靠且可预测的 AI 系统的理想选择,这些系统可以在最少的监督下运行。

🧠 设计原则

AgentDock 建立在以下核心原则之上:

  • 简单优先:创建功能性 Agent 所需的最少代码
  • 基于节点的架构:所有功能都实现为节点
  • 作为专用节点的工具:工具扩展了节点系统以实现 Agent 功能
  • 可配置的确定性:控制 Agent 行为的可预测性
  • 类型安全:贯穿始终的全面 TypeScript 类型

可配置的确定性

可配置的确定性是 AgentDock 设计理念的基石,使您能够在创造性的 AI 能力和可预测的系统行为之间取得平衡:

  • 由于 LLM 每次可能生成不同的响应,AgentNode 本质上是非确定性的
  • 可以通过定义的工具执行路径使工作流更具确定性
  • 开发人员可以通过配置系统的哪些部分使用 LLM 推理来控制确定性的级别
  • 即使有 LLM 组件,通过结构化的工具交互,整个系统的行为仍然可预测
  • 这种平衡的方法使您的 AI 应用程序兼具创造性可靠性

确定性工作流

AgentDock 完全支持您在典型工作流构建器中熟悉的确定性工作流。无论是否有 LLM 推理,您期望的所有可预测执行路径和可靠结果都可用:

非确定性 Agent 行为

使用 AgentDock,当您需要更高的适应性时,也可以利用带有 LLM 的 AgentNode。创造性的输出可能会根据您的需求而变化,同时保持结构化的交互模式:

具有确定性子工作流的非确定性 Agent

AgentDock 通过将非确定性 Agent 智能与确定性工作流执行相结合,为您提供了两全其美的方案:

这种方法使得复杂的多步骤工作流(可能涉及在工具内或作为连接的节点序列实现的数百个确定性步骤)能够由智能 Agent 决策调用。尽管由非确定性 Agent 推理触发,每个工作流仍能可预测地执行。

对于更高级的 AI Agent 工作流和多阶段处理流水线,我们正在构建 AgentDock Pro - 一个用于创建、可视化和运行复杂 Agent 系统的强大平台。

关于可配置确定性的简而言之

把它想象成开车。有时您需要 AI 的创造力(比如在城市街道中导航 - 非确定性),有时您需要可靠的、按部就班的流程(比如遵循高速公路标志 - 确定性)。AgentDock 让您能够构建同时兼顾两方面优势的系统,为任务的每个部分选择正确的方法。您既能获得 AI 的智能,又能在需要时获得可预测的结果。

🏗️ 核心架构

该框架围绕一个强大的、模块化的基于节点的系统构建,作为所有 Agent 功能的基础。该架构使用不同的节点类型作为构建块:

  • BaseNode:为所有节点建立核心接口和功能的基本类。
  • AgentNode:协调 LLM 交互、工具使用和 Agent 逻辑的专用核心节点。
  • 工具和自定义节点:开发人员将 Agent 功能和自定义逻辑实现为扩展 BaseNode 的节点。

这些节点通过托管注册表进行交互,并且可以连接(利用核心架构的端口和潜在的消息总线)以实现复杂、可配置且可能具有确定性的 Agent 行为和工作流。

有关节点系统的组件和功能的详细说明,请参阅节点系统文档

🚀 开始使用

有关全面的指南,请参阅开始使用指南

要求

  • Node.js ≥ 20.11.0 (LTS)
  • pnpm ≥ 9.15.0 (必需)
  • LLM 提供商(Anthropic、OpenAI 等)的 API 密钥

安装

  1. 克隆存储库

    git clone https://github.com/AgentDock/AgentDock.git
    cd AgentDock
    
  2. 安装 pnpm

    corepack enable
    corepack prepare pnpm@latest --activate
    
  3. 安装依赖项

    pnpm install
    

    进行干净的重新安装(当您需要从头开始重新构建时):

    pnpm run clean-install
    

    此脚本会删除所有 node_modules、锁定文件,并正确重新安装依赖项。

  4. 配置环境

    根据提供的 .env.example 文件创建一个环境文件(.env.env.local):

    # 选项 1:创建 .env.local
    cp .env.example .env.local
    
    # 选项 2:创建 .env
    cp .env.example .env
    

    然后将您的 API 密钥添加到环境文件中。

  5. 启动开发服务器

    pnpm dev
    

高级功能

功能描述文档
会话管理对话的隔离、高性能状态管理会话文档
编排框架根据上下文控制 Agent 行为和工具可用性编排文档
存储抽象灵活的存储系统,为 KV、Vector 和 Secure 存储提供可插拔的提供商存储文档

存储系统目前正在通过键值存储(Memory、Redis、Vercel KV 提供商)和安全的客户端存储进行演进,而向量存储和其他后端正在开发中。

📕 文档

AgentDock 框架的文档可在 hub.agentdock.ai/docs 和此存储库的 /docs/ 文件夹中找到。文档包括:

  • 开始使用指南
  • API 参考
  • 节点创建教程
  • 集成示例

📂 存储库结构

此存储库包含:

  1. AgentDock Core:位于 agentdock-core/ 中的核心框架
  2. 开源客户端:使用 Next.js 构建的完整参考实现,作为 AgentDock Core 框架的消费者。
  3. 示例 Agentagents/ 目录中即用型 Agent 配置

您可以在自己的应用程序中独立使用 AgentDock Core,或将此存储库用作构建自己的 Agent 驱动应用程序的起点。

📝 Agent 模板

AgentDock 包含几个预配置的 Agent 模板。在 agents/ 目录中浏览它们,或阅读Agent 模板文档了解配置详细信息。

🔧 示例实现

示例实现展示了专门的用例和高级功能:

实现描述状态
编排的 Agent使用编排根据上下文调整行为的示例 Agent可用
认知推理器使用结构化推理和认知工具解决复杂问题可用
Agent 规划器用于设计和实现其他 AI Agent 的专用 Agent可用
代码演练场具有丰富可视化功能的沙盒化代码生成和执行计划中
通用 AI Agent可以使用浏览器并执行复杂任务的类似 Manus 的 Agent计划中

🔐 环境配置详细信息

AgentDock 开源客户端需要 LLM 提供商的 API 密钥才能运行。这些密钥在您根据提供的 .env.example 文件创建的环境文件(.env.env.local)中配置。

LLM 提供商 API 密钥

添加您的 LLM 提供商 API 密钥(至少需要一个):

# LLM 提供商 API 密钥 - 至少需要一个
ANTHROPIC_API_KEY=sk-ant-xxxxxxx  # Anthropic API 密钥
OPENAI_API_KEY=sk-xxxxxxx         # OpenAI API 密钥
GEMINI_API_KEY=xxxxxxx            # Google Gemini API 密钥
DEEPSEEK_API_KEY=xxxxxxx          # DeepSeek API 密钥
GROQ_API_KEY=xxxxxxx              # Groq API 密钥

API 密钥解析

AgentDock 开源客户端在解析要使用的 API 密钥时遵循优先级顺序:

  1. 每个 Agent 的自定义 API 密钥(通过 UI 中的 Agent 设置进行设置)
  2. 全局设置 API 密钥(通过 UI 中的设置页面进行设置)
  3. 环境变量(来自 .env.local 或部署平台)

工具特定的 API 密钥

某些工具还需要自己的 API 密钥:

# 工具特定的 API 密钥
SERPER_API_KEY=                  # 搜索功能所需
FIRECRAWL_API_KEY=               # 更深入的网络搜索所需

有关环境配置的更多详细信息,请参阅 src/types/env.ts 中的实现。

使用您自己的 API 密钥 (BYOK) 模型

AgentDock 遵循 BYOK (Bring Your Own Key / 自带密钥) 模型:

  1. 在应用程序的设置页面中添加您的 API 密钥
  2. 或者,通过请求头提供密钥以直接使用 API
  3. 密钥使用内置的加密系统安全存储
  4. 不会在我们的服务器上共享或存储任何 API 密钥

📦 包管理器

此项目需要使用 pnpm 进行一致的依赖项管理。不支持 npmyarn

💡 您可以构建什么

  1. AI 驱动的应用程序

    • 带有任何前端的自定义聊天机器人
    • 命令行 AI 助手
    • 自动化数据处理流水线
    • 后端服务集成
  2. 集成能力

    • 任何 AI 提供商(OpenAI、Anthropic 等)
    • 任何前端框架
    • 任何后端服务
    • 自定义数据源和 API
  3. 自动化系统

    • 自动化数据处理工作流
    • 文档分析流水线
    • 自动化报告系统
    • 任务自动化 Agent

主要特性

特性描述
🔌 框架无关 (Node.js 后端)核心库与 Node.js 后端堆栈集成。
🧩 模块化设计从简单的节点构建复杂的系统
🛠️ 可扩展为任何功能创建自定义节点
🔒 安全用于 API 密钥和数据的内置安全功能
🔑 BYOK使用您自己的 API 密钥用于 LLM 提供商
📦 自包含核心框架依赖性极小
⚙️ 多步骤连续工具调用支持复杂的推理链
📊 结构化日志记录深入了解 Agent 执行情况
🛡️ 强大的错误处理可预测的行为和简化的调试
📝 TypeScript 优先类型安全和增强的开发人员体验
🌐 开源客户端包含完整的 Next.js 参考实现
🔄 编排基于上下文的 Agent 行为动态控制
💾 会话管理并发对话的隔离状态
🎮 可配置的确定性通过节点逻辑/工作流平衡 AI 创造力和可预测性。

🧰 组件

AgentDock 的模块化架构建立在以下关键组件之上:

  • BaseNode:系统中所有节点的基础
  • AgentNode:Agent 功能的主要抽象
  • 工具和自定义节点:作为节点实现的可调用功能和自定义逻辑。
  • 节点注册表:管理所有节点类型的注册和检索
  • 工具注册表:管理 Agent 的工具可用性
  • CoreLLM:与 LLM 提供商交互的统一接口
  • 提供商注册表:管理 LLM 提供商配置
  • 错误处理:处理错误并确保可预测行为的系统
  • 日志记录:用于监控和调试的结构化日志记录系统
  • 编排:根据对话上下文控制工具可用性和行为
  • 会话:管理并发对话之间的状态隔离

有关这些组件的详细技术文档,请参阅架构概述

🗺️ 路线图

以下是 AgentDock 的开发路线图。此处列出的大多数改进都与核心 AgentDock 框架(agentdock-core)有关,该框架目前在本地开发,并在达到稳定版本后将作为版本化的 NPM 包发布。一些路线图项目也可能涉及对开源客户端实现的增强。

特性描述类别
存储抽象层具有可插拔提供商的灵活存储系统进行中
高级内存系统长期上下文管理进行中
向量存储集成用于文档和内存的基于嵌入的检索进行中
AI Agent 评估全面的测试和评估框架进行中
平台集成支持 Telegram、WhatsApp 和其他消息传递平台计划中
多 Agent 协作使 Agent 能够协同工作计划中
模型上下文协议 (MCP) 集成支持通过 MCP 发现和使用外部工具计划中
语音 AI Agent通过 AgentNode 使用语音接口和电话号码的 AI Agent计划中
遥测与可追溯性高级日志记录和性能跟踪计划中
Workflow Runtime & Node 类型核心 runtime、节点类型和复杂自动化编排逻辑计划中
AgentDock Pro用于扩展 AI Agent 和工作流的全面企业云平台云平台
自然语言 AI Agent 构建器可视化构建器 + 自然语言 Agent 和工作流构建
Agent 市场可货币化的 Agent 模板

👥 贡献

我们欢迎对 AgentDock 的贡献!请参阅 CONTRIBUTING.md 了解详细的贡献指南。

📜 许可证

AgentDock 根据 MIT 许可证 发布。

✨ 无限创造,从这里开始!

AgentDock 为您构建几乎任何可以想象的 AI 驱动应用程序或自动化提供了基础。我们鼓励您探索该框架,构建创新的 Agent,并回馈社区。让我们一起构建 AI 交互的未来!


返回翻译索引