开发与工程 multi-agent-orchestrationtemporal-workflowswasi-sandboxopenai-compatible-apitoken-budgetingplaywrightmcp

Shannon

把多智能体任务编排为可预算、可审计、可回放的生产工作流。

FollowAgents 评估 · FARS-2.1
不推荐
53/ 100 五分制 2.7 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全10 / 29 · 1.7/5

证据显示有WASI沙箱、OPA策略、多租户隔离、人类审批工作流、令牌预算控制等安全特性,但具体实现细节未在提供的文件中展示,且未验证发布者身份。扣分原因:安全特性多为声明,缺乏代码级证据;发布者未验证。

2可靠稳定9 / 14 · 3.2/5

README和CI配置显示有Temporal工作流、时间旅行调试、健康检查、错误处理等,但未提供实际运行结果。扣分原因:依赖可用性未验证,失败消息的具体内容未展示。

3适用触发12 / 18 · 3.3/5

README展示了多种执行策略、多LLM提供商、平台特定指南,但未明确能力边界和触发精度。扣分原因:能力边界和触发条件描述不完整。

4规范维护10 / 18 · 2.8/5

有清晰的架构文档、安装指南、示例和FAQ,但已知限制和版本变更日志不完整。扣分原因:已知限制未明确列出,版本变更日志未提供。

5有效结果9 / 13 · 3.5/5

提供了多种API和SDK,输出格式明确,但未提供实际性能或成本数据。扣分原因:成本效益未量化。

6证据核验3 / 8 · 1.9/5

README中的声明与代码结构部分对应,但缺乏独立验证。扣分原因:声明与代码的对应关系不完整,事实与推断未明确区分。

证据充分度: 评估于 2026年8月9日 审查版本 52cdd40621a9
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 发布者身份未验证,需谨慎对待。
  • 安全特性多为声明,需审查实际代码实现。
  • 依赖可用性和失败消息未验证。
  • 已知限制和版本变更日志不完整。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Shannon 是一个以生产部署为目标的多智能体编排框架,核心服务由 Go、Rust 和 Python 构成。其架构包括 Gateway、基于 Temporal 的 Orchestrator、带 WASI 沙箱的 Rust Agent Core,以及负责模型提供商与工具调用的 Python LLM Service。任务可通过原生 REST API、SSE、Python SDK、桌面应用或 OpenAI 兼容接口提交,并按复杂度路由到 Simple、DAG、ReAct、Research、Swarm 等策略。部署边界是自托管的 Docker Compose 服务栈,包含 PostgreSQL、Redis 和 Temporal;浏览器自动化服务为可选组件。它适合需要工作流回放、预算限制、审批门禁和运行时可观测性的团队,而不是只需要轻量单次模型调用的场景。

客户端向 POST /api/v1/tasks 提交 query、session_id 和可选 context;Gateway 提供 REST、JWT/API key 认证和限流,Orchestrator 使用 Temporal 进行任务拆解、策略选择与预算管理。Agent Core 执行令牌计数、熔断和 WASI 沙箱约束,LLM Service 调用 OpenAI、Anthropic、Google、DeepSeek、xAI、Ollama 等提供商,并提供 MCP 工具和 agent loop。系统可返回同步任务结果,或通过 GET /api/v1/stream/sse、WebSocket 和任务事件接口输出实时执行信息;也支持工具执行、会话管理、计划任务、暂停、恢复和取消任务。

  1. 平台工程团队需要把多步骤 AI 任务作为可重试、可回放的 Temporal 工作流部署到自有 Docker 环境时。
  2. 应用团队已有 OpenAI SDK 调用代码,但希望通过 OPENAI_API_BASE=http://localhost:8080/v1 接入编排、预算和任务控制时。
  3. 研究或分析团队需要以 force_researchforce_swarm 运行多阶段研究、并行视角分析或 lead-orchestrated agent 团队时。
  4. 需要对代码执行设置隔离边界,并通过 WASI 沙箱、OPA 策略和人工审批处理高风险步骤的团队。
  5. 需要用 Playwright 服务执行网页交互任务,并愿意额外启用 browser Compose profile 的团队。

这个 Agent 有哪些优点和局限?

优点
  • 以 Temporal 工作流承载任务执行,并提供 replay_workflow.sh 的逐步回放能力,面向故障排查和长流程执行。
  • 提供硬令牌预算、预算接近耗尽时的模型回退,以及多种按复杂度路由的执行策略。
  • 通过原生 REST API、SSE/WebSocket、Python SDK 和 OpenAI 兼容 API 覆盖多种接入方式。
  • 安全与治理能力有明确组件:WASI 沙箱、OPA 策略、多租户隔离描述和人工审批工作流。
局限
  • 运行依赖 Docker、Docker Compose、至少一个模型提供商 API key,并涉及 PostgreSQL、Redis 和 Temporal 等服务。
  • 架构横跨 Go、Rust、Python 和可选的 Tauri/Next.js 桌面端,源码构建与故障定位的技术面较广。
  • Playwright 浏览器自动化默认不启动,且文档说明其 Chromium 镜像约 3.4GB。
  • README 列出了多家模型提供商和自动故障转移,但未给出各提供商功能一致性或生产 SLA 的证据。

如何安装或部署这个 Agent?

前提是 Docker、Docker Compose,以及至少一个 LLM 提供商的 API key。可执行:curl -fsSL https://raw.githubusercontent.com/Kocoro-lab/Shannon/main/scripts/install.sh | bash。该安装流程会下载配置、提示输入 API key、拉取 Docker 镜像并启动服务。若从源码构建:git clone https://github.com/Kocoro-lab/Shannon.git && cd Shannon && make setup,编辑 .env 填入 API key,执行 ./scripts/setup_python_wasi.sh,然后运行 make dev

如何使用这个 Agent?

服务启动后,提交首个任务:curl -X POST http://localhost:8080/api/v1/tasks -H "Content-Type: application/json" -d '{"query":"What is the capital of France?","session_id":"demo"}'。使用返回的 task_id 通过 curl -N "http://localhost:8080/api/v1/stream/sse?workflow_id=<task_id>" 获取实时事件。Python 客户端可先执行 pip install shannon-sdk,再用 ShannonClient(base_url="http://localhost:8080") 调用 submit_taskwait。如需 OpenAI 兼容入口,设置 OPENAI_API_BASE=http://localhost:8080/v1

这个 Agent 与同类方案有什么区别?

README 将 Shannon 定位为生产可靠性框架:相较于聚焦 LLM chains 与 RAG 的 LangChain,以及聚焦角色扮演式任务委派的 CrewAI,Shannon 强调 Temporal 工作流、时间回放和硬令牌预算。

常见问题

能否继续使用现有的 OpenAI SDK?
可以。README 提供 OpenAI 兼容入口:将 OPENAI_API_BASE 设置为 http://localhost:8080/v1
必须使用某一家模型提供商吗?
不必。README 列出 OpenAI、Anthropic、Google、xAI、DeepSeek 等提供商,也支持 Ollama、LM Studio、vLLM 和 OpenAI 兼容端点;但至少需要配置一个提供商的 API key。
如何限制一次任务的成本?
提交任务时可在 context 中设置 budget_max;README 说明系统会强制执行令牌上限,并在预算接近耗尽时回退到较低成本模型。
浏览网页功能是否默认可用?
不是。Playwright 服务默认不启动,需使用 Docker Compose 的 --profile browser 显式启用。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents