Shannon

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

Star 数
★ 2.3k
最近更新
2 个月前
License
MIT
主语言
Go

30 秒速览

运行形态
自托管服务桌面应用代码库 / SDK
可在哪里用
通用 · 跨平台OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
DockerDocker ComposeLLM 提供商 API 密钥Shell / 命令行网络访问本地文件系统MCP Server
典型场景
平台工程团队需要把多步骤 AI 任务作为可重试、可回放的 Temporal 工作流部署到自有 Docker 环境时。
不适合
  • 希望无需 Docker 与 PostgreSQL、Redis、Temporal 即可运行的团队
  • 不愿维护 Go、Rust、Python 多语言技术栈的小团队

这个 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_research 或 force_swarm 运行多阶段研究、并行视角分析或 lead-orchestrated agent 团队时。
  4. 需要对代码执行设置隔离边界,并通过 WASI 沙箱、OPA 策略和人工审批处理高风险步骤的团队。
  5. 需要用 Playwright 服务执行网页交互任务,并愿意额外启用 browser Compose profile 的团队。

如何安装或部署这个 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_task 和 wait。如需 OpenAI 兼容入口,设置 OPENAI_API_BASE=http://localhost:8080/v1。

这个 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 与同类方案有什么区别?

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

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Shannon 当前 53 · 缺口较多 自托管服务免费 + 模型费 ★ 2.3k 2 个月前 Go OpenAI API · Claude API
MassGen 多智能体协作系统 51 · 缺口较多 命令行工具免费 + 模型费 ★ 1.1k 4 个月前 Python Codex · Claude Code · OpenAI API · Claude API
Agent Squad 多智能体编排框架 31 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 7.8k 29 天前 Python OpenAI API · Claude API
Vigil 多智能体终端编排器 69 · 存在缺口 桌面应用免费 + 模型费 ★ 28 29 天前 Swift Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
53/ 100 五分制 2.7 / 5
信任安全 10/29
可靠稳定 9/14
适用触发 12/18
规范维护 10/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全10 / 29 · 1.7/5

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

可靠稳定9 / 14 · 3.2/5

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

适用触发12 / 18 · 3.3/5

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

规范维护10 / 18 · 2.8/5

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

有效结果9 / 13 · 3.5/5

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

证据核验3 / 8 · 1.9/5

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

风险与缓解建议
  • 发布者身份未验证,需谨慎对待。
  • 安全特性多为声明,需审查实际代码实现。
  • 依赖可用性和失败消息未验证。
  • 已知限制和版本变更日志不完整。
证据充分度:低 评估于 2026年8月9日 审查版本 52cdd40621a9 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.5.1 Shannon v0.5.1
    发布说明摘录
    Shannon v0.5.1 Docker Images ```bash docker pull waylandzhang/gateway:v0.5.1 docker pull waylandzhang/orchestrator:v0.5.1 docker pull waylandzhang/agent-core:v0.5.1 docker pull waylandzhang/llm-service:v0.5.1 docker pull waylandzhang/playwright-service:v0.5.1 ``` Quick Start ```bash curl -fsSL https://raw.githubusercontent.com/Kocoro-lab/Shannon/main/scripts/install.sh | bash ``` Full Changelog See [CHANGELOG.md](https://github.com/Kocoro-lab/Shannon/blob/v0.5.1/CHANGELOG.md)
    在 GitHub 查看 ↗
  2. v0.5.0 Shannon v0.5.0
    发布说明摘录
    Shannon v0.5.0 Docker Images ```bash docker pull waylandzhang/gateway:v0.5.0 docker pull waylandzhang/orchestrator:v0.5.0 docker pull waylandzhang/agent-core:v0.5.0 docker pull waylandzhang/llm-service:v0.5.0 docker pull waylandzhang/playwright-service:v0.5.0 ``` Quick Start ```bash curl -fsSL https://raw.githubusercontent.com/Kocoro-lab/Shannon/main/scripts/install.sh | bash ``` Full Changelog See [CHANGELOG.md](https://github.com/Kocoro-lab/Shannon/blob/v0.5.0/CHANGELOG.md)
    在 GitHub 查看 ↗
  3. v0.4.1 Shannon v0.4.1
    发布说明摘录
    Shannon v0.4.1 Docker Images ```bash docker pull waylandzhang/gateway:v0.4.1 docker pull waylandzhang/orchestrator:v0.4.1 docker pull waylandzhang/agent-core:v0.4.1 docker pull waylandzhang/llm-service:v0.4.1 docker pull waylandzhang/playwright-service:v0.4.1 ``` Quick Start ```bash curl -fsSL https://raw.githubusercontent.com/Kocoro-lab/Shannon/main/scripts/install.sh | bash ``` Full Changelog See [CHANGELOG.md](https://github.com/Kocoro-lab/Shannon/blob/v0.4.1/CHANGELOG.md)
    在 GitHub 查看 ↗

常见问题

能否继续使用现有的 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 显式启用。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

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

相关 Agents