# Agents：自托管可观测的多智能体工作流编排器

> 一个自托管、可观测的智能体编排器，支持在代码仓库上运行多智能体工作流。通过技能组合、记忆管理和事件触发，实现智能体之间的协作与调度。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-31T19:15:43.000Z
- 最近活动: 2026-05-31T19:21:05.289Z
- 热度: 156.9
- 关键词: Multi-agent, Agent Orchestrator, Self-hosted, Observable, MCP, Claude Code, Codex, Workflow Automation, GitHub Integration, Token Budget, Local LLM
- 页面链接: https://www.zingnex.cn/forum/thread/agents
- Canonical: https://www.zingnex.cn/forum/thread/agents
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：eloylp
- 来源平台：GitHub
- 原始标题：agents
- 原始链接：https://github.com/eloylp/agents
- 来源发布时间/更新时间：2026-05-31T19:15:43Z

## 项目愿景与核心理念

Agents项目的核心愿景是让开发者能够构建并拥有自己的智能体宇宙。它提供了一个自托管的智能体编排器，使多智能体工作流能够在用户的代码仓库上运行。项目的核心理念可以概括为三个关键词：自托管（Self-hosted）、可观测（Observable）和可组合（Composable）。

自托管意味着代码和提示词都保留在用户自己的基础设施上，没有SaaS依赖，数据不会离开用户控制的环境。可观测性体现在完整的事件链追踪能力上，从事件触发到运行器执行，再到工具循环的完整记录，都可在实时监控中查看。可组合性则通过技能（Skills）、记忆（Memory）和触发器（Triggers）的模块化设计实现，用户可以将智能体与技能、记忆组合，并通过仓库事件、标签、cron调度或智能体间调度来触发执行。

## 架构设计与技术实现

Agents项目采用守护进程（Daemon）架构，每个运行都遵循统一的流水线。首先，系统组合提示词：工作空间防护栏（Guardrails）+ 技能 + 选定的提示词 + 运行时上下文 + 记忆。然后，从配置的`agents-runner`镜像启动一个运行器容器，配置操作者提供的git身份，并在该容器内启动AI CLI（Claude Code、Codex或用户自己的本地LLM），使用JSON模式强制输出，并使仓库工具在容器内可用。

接下来，系统解析结构化响应，提取产物（Artifacts）、调度请求和更新的记忆。最后，持久化追踪记录，分发任何调度请求，并写回记忆。这种设计确保了每个运行都在隔离的环境中执行，同时通过标准化的输出格式保证了可解析性和可追踪性。

## 三种交互模式

项目提供了三种与智能体舰队交互的方式，满足不同场景的需求。Web仪表板提供图形化界面，用户可以从图优先的工作流设计器设计舰队，管理智能体、提示词、技能、仓库、调度边和触发器绑定，并观看实时事件流、智能体追踪和记忆查看器。

MCP服务器支持对话式交互，用户可以直接从终端的Claude Code（或Cursor、Cline等任何MCP客户端）控制智能体并触发运行。REST API则提供程序化接口，可通过任何HTTP客户端脚本化调用，仪表板本身也是构建在这个API之上。这种多模式设计使得项目既适合可视化操作，也适合自动化脚本和对话式开发流程。

## 智能体间调度与协作

Agents项目的一个突出特性是反应式智能体间调度（Reactive Inter-agent Dispatch）。智能体可以在运行时相互调用，系统提供了深度、扇出和去重安全限制。这种设计使得复杂的多智能体工作流成为可能：一个智能体可以专注于代码审查，另一个专注于测试生成，它们可以通过调度机制协作完成更复杂的任务。

调度机制的设计考虑了生产环境的实际需求。深度限制防止无限递归调用，扇出限制控制并发调度数量，去重机制避免重复处理相同请求。这些安全限制确保了系统的稳定性和可预测性，即使在复杂的智能体协作场景下也能保持可控。

## 安全设计与防护机制

安全是项目设计的核心考量之一。系统为每个智能体提示词预置了内置防护栏，包括间接提示注入抵抗、公开操作谨慎性、仅守护进程可访问的记忆范围，以及GitHub仓库工具使用规范（优先使用MCP，复杂场景回退到gh CLI）。

守护进程认证采用分层设计：从根登录页面创建第一个本地管理员用户，使用HttpOnly浏览器会话进行UI访问，管理额外用户，并为MCP/API客户端创建可撤销的命名Bearer Token。这种设计平衡了便利性和安全性，既支持浏览器会话的易用性，也支持API访问的可控性。

## 多后端支持与本地模型

项目支持多后端架构，用户可以为每个智能体选择Claude、Codex或自定义后端，同一舰队中的不同智能体可以使用不同的提供商。这种灵活性使得用户可以根据任务特性选择最合适的模型：复杂推理任务使用Claude，代码生成任务使用Codex，资源受限场景使用本地模型。

本地模型支持是项目的另一个亮点。用户可以通过llama.cpp、Ollama、vLLM或任何OpenAI兼容端点运行任何智能体。守护进程内置了Anthropic到OpenAI的翻译代理，使得现有的`claude` CLI可以在不改变的情况下对接到用户自己的LLM（实验性功能）。这种设计大大降低了使用本地模型的门槛，同时保持了与云端模型一致的使用体验。

## Token预算与成本管理

项目提供了细粒度的Token预算管理功能。支持日/周/月UTC日历Token上限，在每次运行前强制执行。全局范围覆盖所有工作空间；简单的`repo`、`agent`和`backend`范围按名称跨工作空间应用，而`workspace+repo`、`workspace+agent`和`workspace+backend`则将上限隔离到单个工作空间。

当任何预算超过其警报阈值时，导航栏会显示警报横幅。每个智能体的排行榜跟踪每次运行的总Token消耗和平均Token消耗。完整的CRUD操作可通过仪表板、REST和MCP进行。这种设计使得团队可以有效控制AI使用成本，避免意外的高额账单。

## 版本化与可复现性

项目采用了作用域化、版本化的可复用目录设计。提示词和技能可以是全局的、工作空间范围的或仓库范围的；防护栏是全局的或工作空间范围的，按工作空间选择。API和导入暴露稳定的公共引用，而SQLite使用不透明内部ID保证外键完整性。

编辑操作会发布不可变版本，使得追踪可以记录每次运行使用的精确提示词、技能和防护栏文本。人类可以使用可读的作
用域路径（如`global`、`default`或`default/eloylp/agents`）选择提示词。这种设计确保了工作的可复现性，对于调试、审计和合规性至关重要。
