Shannon
把多智能体任务编排为可预算、可审计、可回放的生产工作流。
- Star 数
- ★ 2.3k
- 最近更新
- 2 个月前
- License
- MIT
- 主语言
- Go
- FA 评分
- 53/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 平台工程团队需要把多步骤 AI 任务作为可重试、可回放的 Temporal 工作流部署到自有 Docker 环境时。
- 不适合
- 希望无需 Docker 与 PostgreSQL、Redis、Temporal 即可运行的团队
- 不愿维护 Go、Rust、Python 多语言技术栈的小团队
- 源码审查
- 53/100 · 缺口较多
这个 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 和任务事件接口输出实时执行信息;也支持工具执行、会话管理、计划任务、暂停、恢复和取消任务。
- 平台工程团队需要把多步骤 AI 任务作为可重试、可回放的 Temporal 工作流部署到自有 Docker 环境时。
- 应用团队已有 OpenAI SDK 调用代码,但希望通过
OPENAI_API_BASE=http://localhost:8080/v1接入编排、预算和任务控制时。 - 研究或分析团队需要以
force_research或force_swarm运行多阶段研究、并行视角分析或 lead-orchestrated agent 团队时。 - 需要对代码执行设置隔离边界,并通过 WASI 沙箱、OPA 策略和人工审批处理高风险步骤的团队。
- 需要用 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?
查看各维度的扣分理由
证据显示有WASI沙箱、OPA策略、多租户隔离、人类审批工作流、令牌预算控制等安全特性,但具体实现细节未在提供的文件中展示,且未验证发布者身份。扣分原因:安全特性多为声明,缺乏代码级证据;发布者未验证。
README和CI配置显示有Temporal工作流、时间旅行调试、健康检查、错误处理等,但未提供实际运行结果。扣分原因:依赖可用性未验证,失败消息的具体内容未展示。
README展示了多种执行策略、多LLM提供商、平台特定指南,但未明确能力边界和触发精度。扣分原因:能力边界和触发条件描述不完整。
有清晰的架构文档、安装指南、示例和FAQ,但已知限制和版本变更日志不完整。扣分原因:已知限制未明确列出,版本变更日志未提供。
提供了多种API和SDK,输出格式明确,但未提供实际性能或成本数据。扣分原因:成本效益未量化。
README中的声明与代码结构部分对应,但缺乏独立验证。扣分原因:声明与代码的对应关系不完整,事实与推断未明确区分。
- 发布者身份未验证,需谨慎对待。
- 安全特性多为声明,需审查实际代码实现。
- 依赖可用性和失败消息未验证。
- 已知限制和版本变更日志不完整。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
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 查看 ↗ -
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 查看 ↗ -
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?
OPENAI_API_BASE 设置为 http://localhost:8080/v1。必须使用某一家模型提供商吗?
如何限制一次任务的成本?
budget_max;README 说明系统会强制执行令牌上限,并在预算接近耗尽时回退到较低成本模型。浏览网页功能是否默认可用?
--profile browser 显式启用。