Alfresco代理网格路由比较工具

一个用于比较三种路由选项(cagent、LangGraph、LlamaIndex)在相同Alfresco设置下的实验工具,适用于文档管理和审计场景。

  • by aborroy
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 aborroy/simple-alfresco-agent-mesh

使用说明

简单Alfresco代理网

一个比较三种路由选项的实践实验室(谨慎, LangGraph, 调用Index)在相同的Alfresco设置上

这 mcp客户端 始终与中可用的MCP服务器通信 localhost:8085;一次启用一个路由器,然后扇出 MCP审计 和 MCP文件,两人交谈 Alfresco存储库

旋转的堆栈:

  • Alfresco社区存储库,包括Audit示例配置
  • 两台MCP服务器:
    • 审核MCP
      • Spring AI,流式HTTP(公开以审计为中心的工具)
      • 源代码可在https://github.com/jottley/alfresco-mcp
    • MCP文件
      • python alfresco-mcp 服务器(内容/doc工具)
      • 源代码可在https://github.com/stevereiner/python-alfresco-mcp-server
  • MCP路由器/编排器(cagent、LangGraph或LlamaIdex):对用户提示进行分类并将MCP调用转发到正确后端的服务(审计 兽医 文档)

设计易于在本地运行,易于理解,是构建更复杂的代理网格的好模板

里面是什么


.
├── agent-mesh-tools
│   ├── cagent/               # Router with Docker cagent (LLM required)
│   ├── langgraph/            # Router with LangGraph (deterministic, no LLM)
│   └── llamaindex/           # Router with LlamaIndex (LLM required)
├── alfresco-agents
│   ├── alfresco/             # Alfresco Community stack (Repo, Share, Search, etc.)
│   ├── alfresco-mcp-audit/   # MCP Audit server
│   ├── alfresco-mcp-server/  # MCP Docs server
│   └── compose.yaml          # Always-on: Repo + MCP backends
├── mcp-client/               # Client used to test the active router
└── compose.yaml              # Root compose with `include:` and profiles per router

建筑

flowchart LR
  %% Client
  C[mcp-client]

  %% Routers
  subgraph Routers
    CA[cagent - local app]
    LG[langgraph - router:8085]
    LI[llamaindex - router:8085]
  end

  %% MCP backends
  subgraph MCP["MCP Servers"]
    AU[MCP Audit - 8081]
    DO[MCP Docs - 8003]
  end

  %% Alfresco core
  subgraph Alfresco
    RE[Alfresco Repository - 8080]
  end

  %% Connections
  C --> CA
  C --> LG
  C --> LI

  CA --> AU
  CA --> DO
  LG --> AU
  LG --> DO
  LI --> AU
  LI --> DO

  AU --> RE
  DO --> RE
  • 这 路由器 是客户端的单个MCP端点
  • 它 分类 每个请求和 代表 要么 审核MCP 或 MCP文件 基于流式HTTP的后端
  • 两个后端都在与 露天

路由器概览(选择一个)

  • LangGraph — 确定性路由器,无需LLM非常适合可重复的流程和简单、可审计的路由规则。
  • 调用Index — LLM驱动的刀具布线.使用该模型在审计/文档工具之间进行选择;更具适应性的需要LLM。
  • 谨慎 — LLM驱动的代理运行时(YAML) 具有一流的MCP工具集成。它作为CLI/TUI代理独立运行,如中所述 使用Docker新“cagent”立即为Alfresco构建AI代理

需求

  • Docker和Docker Compose v2+ 需要运行全栈(Alfresco、MCP服务器、路由器、客户端)。

  • 系统资源 至少8 GB RAM可用,建议使用4个CPU内核。

  • 开放端口

    • 8080>Alfresco知识库
    • 8081>MCP审计
    • 8003>MCP文档
    • 8085>活动路由器(LangGraph或LlamaIdex)
  • LLM运行时

    • 对于 cagent LlamaIdex,需要法学硕士学位
    • 这个实验室使用 没有 使用本地模型 gpt-oss
    • 启动前,确保Olama已安装并拉动模型:
      ollama pull gpt-oss
      
  • 无需法学硕士

    • LangGraph路由器在没有LLM的情况下工作稳定

快速启动

  1. 启动Alfresco社区+MCP后端
docker compose up --build
  1. 只激活一个路由器(两者都暴露 :8085):
docker compose --profile langgraph up -d
docker compose --profile llamaindex up -d

对于 cagent 按照中的步骤进行操作 使用Docker新“cagent”立即为Alfresco构建AI代理

  1. 用客户端测试(总是点击8085)
docker compose -f mcp-client/compose.yaml run --rm mcp-client
  1. 交换路由器(保持Alfresco运行)
docker compose --profile langgraph down
docker compose --profile llamaindex up --build

示例提示(复制/粘贴)

[文件]

> I need to search for documents in Alfresco. Can you search for:
 * Documents containing "budget"
 * Maximum 5 results

[审计]

> List Alfresco audit apps
> List Alfresco audit entries for audit app "search"

提示:

  • 如果你的路由器 LangGraph,路由是基于规则的--日志/保留/合规性> 审计;搜索/元数据/格式转换/转换> 文档
  • 如果是 调用Index 或 谨慎,确保配置了模型(例如,OpenAI/Anthropic/GGemini或通过Docker model Runner配置的本地模型)

实验室流程(推荐)

  1. 打开Alfresco+MCP(等待健康)
  2. 首先启动LangGraph(无需按键)并运行上面的提示
  3. 停止LangGraph,启动LlamaIndex;重复提示,观察路线/答案的差异
  4. 停止LlamaIdex,按照中的步骤操作 使用Docker新“cagent”立即为Alfresco构建AI代理

许可证

此存储库在 Apache 2.0 许可证(参见 LICENSE). 上游组件维护自己的许可证。